aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPjotr Prins2025-07-30 10:32:34 +0200
committerPjotr Prins2025-07-30 10:32:34 +0200
commit1590be15f85e30d7db879c19d2d3b4bed201556a (patch)
tree01b45a469abdec73e27e40914776c53cfa95e962
parent418fbe142f42f057ea2d08e6f23c1ff4e7b274da (diff)
downloadgn-guile-1590be15f85e30d7db879c19d2d3b4bed201556a.tar.gz
Create endpoint for dataset/bxd-publish/list
-rw-r--r--gn/data/dataset.scm8
-rw-r--r--web/webserver.scm7
2 files changed, 15 insertions, 0 deletions
diff --git a/gn/data/dataset.scm b/gn/data/dataset.scm
index c28cf25..5f6bb0f 100644
--- a/gn/data/dataset.scm
+++ b/gn/data/dataset.scm
@@ -12,6 +12,7 @@
#:export (
dataset-name
+ get-bxd-publish-list
))
(define (get-dataset db probesetfreeze-id)
@@ -22,3 +23,10 @@
(define (dataset-name db probesetfreeze-id)
(assoc-ref (get-dataset db probesetfreeze-id) "Name"))
+
+(define (get-bxd-publish-list)
+ (call-with-db
+ (lambda (db)
+ (let [(query "SELECT Id,PhenotypeId,DataId FROM PublishXRef WHERE InbredSetId=1")]
+ (dbi-query db query)
+ (get-rows db '())))))
diff --git a/web/webserver.scm b/web/webserver.scm
index 880ab49..5de4ac4 100644
--- a/web/webserver.scm
+++ b/web/webserver.scm
@@ -20,6 +20,7 @@
(gn cache memoize)
(web gn-uri)
(gn db sparql)
+ (gn data dataset)
(gn data species)
(gn data group)
(web sxml)
@@ -56,6 +57,10 @@ otherwise search for set/group data"
(if taxoninfo taxoninfo
(cdr (get-group-data id)))))
+(define (get-bxd-publish)
+ "Return a list of published datasets by their record ID. We add the dataset ID and phenotype ID for quick reference"
+ (list->vector (get-bxd-publish-list)))
+
(define (get-gene-aliases genename)
"Return a vector of aliases for genename."
(list->vector (memo-sparql-wd-gene-aliases (memo-sparql-wd-geneids genename))))
@@ -235,6 +240,8 @@ otherwise search for set/group data"
(render-static-image (string-append (dirname (current-filename)) "/static/images/" fn)))
(('GET "home" path)
(render-brand path)) ; branding route for /home/aging, /home/msk etc
+ (('GET "dataset" "bxd-publish" "list")
+ (render-json (get-bxd-publish)))
(('GET "doc" "species.html")
(render-doc "doc" "species.html"
(get-species-meta)))