Skip to content

Commit c13a668

Browse files
committed
added chemical affects gene query
1 parent 37d181f commit c13a668

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#lang racket/base
2+
3+
(require
4+
"../../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt"
5+
"../../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt"
6+
"../../../../medikanren2/neo/neo-server/neo-server-utils.rkt"
7+
"../utils.rkt"
8+
json
9+
racket/format
10+
racket/list
11+
racket/match
12+
racket/set
13+
racket/pretty
14+
racket/string)
15+
16+
;; finds a list of compounds that affect a provided set of genes
17+
(define (chem-affects-gene gene-list)
18+
(time (remove-duplicates
19+
(query:X->Known
20+
(set->list
21+
(get-non-deprecated/mixin/abstract-ins-and-descendent-classes*-in-db
22+
'("biolink:ChemicalEntity")))
23+
(set->list
24+
(get-non-deprecated/mixin/absreact-ins-and-descendent-predicates*-in-db
25+
'("biolink:affects")))
26+
(set->list (curie-synonyms-and-descendents gene-list))))))
27+
28+
;; test with BRCA2 gene
29+
(define chem-affects-BRCA2 (chem-affects-gene (list "HGNC:1101")))

contrib/medikanren2/neo/utils.rkt

+7
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
get-props
77

8+
curie-synonyms-and-descendents
9+
810
write-answers-to-tsv
911

1012
get-source
@@ -24,9 +26,14 @@
2426
racket/match
2527
"../../../medikanren2/neo/neo-server/neo-server-utils.rkt"
2628
"../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt"
29+
"../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt"
2730
"../../../medikanren2/neo/neo-utils/neo-helpers-without-db.rkt"
2831
)
2932

33+
(define (curie-synonyms-and-descendents curie-list)
34+
(get-descendent-curies*-in-db
35+
(curies->synonyms-in-db curie-list)))
36+
3037
(define (concept->name curie)
3138
(let ((id-name-val
3239
(remove-duplicates (filter (lambda (cl)

0 commit comments

Comments
 (0)