diff options
author | Pjotr Prins | 2025-07-30 10:32:34 +0200 |
---|---|---|
committer | Pjotr Prins | 2025-07-30 10:32:34 +0200 |
commit | 1590be15f85e30d7db879c19d2d3b4bed201556a (patch) | |
tree | 01b45a469abdec73e27e40914776c53cfa95e962 | |
parent | 418fbe142f42f057ea2d08e6f23c1ff4e7b274da (diff) | |
download | gn-guile-1590be15f85e30d7db879c19d2d3b4bed201556a.tar.gz |
Create endpoint for dataset/bxd-publish/list
-rw-r--r-- | gn/data/dataset.scm | 8 | ||||
-rw-r--r-- | web/webserver.scm | 7 |
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))) |