File tree 2 files changed +36
-0
lines changed
2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change
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 " )))
Original file line number Diff line number Diff line change 5
5
6
6
get-props
7
7
8
+ curie-synonyms-and-descendents
9
+
8
10
write-answers-to-tsv
9
11
10
12
get-source
24
26
racket/match
25
27
"../../../medikanren2/neo/neo-server/neo-server-utils.rkt "
26
28
"../../../medikanren2/neo/neo-low-level/query-low-level-multi-db.rkt "
29
+ "../../../medikanren2/neo/neo-utils/neo-helpers-multi-db.rkt "
27
30
"../../../medikanren2/neo/neo-utils/neo-helpers-without-db.rkt "
28
31
)
29
32
33
+ (define (curie-synonyms-and-descendents curie-list)
34
+ (get-descendent-curies*-in-db
35
+ (curies->synonyms-in-db curie-list)))
36
+
30
37
(define (concept->name curie)
31
38
(let ((id-name-val
32
39
(remove-duplicates (filter (lambda (cl)
You can’t perform that action at this time.
0 commit comments