diff options
author | Pjotr Prins | 2023-11-16 10:16:35 +0100 |
---|---|---|
committer | Pjotr Prins | 2023-11-16 10:16:35 +0100 |
commit | d0761ae4837e15419bda1faf1b19ee6823335f3f (patch) | |
tree | 5bce395adfc6be1adc1f3f0f6a14bc6b5e519b4b | |
parent | 58acb7ccf46881708f7552ad303fb156603c29d2 (diff) | |
download | gn-guile-d0761ae4837e15419bda1faf1b19ee6823335f3f.tar.gz |
Transform SQL output
-rwxr-xr-x | scripts/precompute/precompute-hits.scm | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/scripts/precompute/precompute-hits.scm b/scripts/precompute/precompute-hits.scm index fed05ba..22bf2d7 100755 --- a/scripts/precompute/precompute-hits.scm +++ b/scripts/precompute/precompute-hits.scm @@ -26,7 +26,7 @@ (dbi-query db "SELECT StrainId,Strain.Name FROM Strain, StrainXRef WHERE StrainXRef.StrainId = Strain.Id AND StrainXRef.InbredSetId = 1 AND Used_for_mapping='Y' ORDER BY StrainId;") (db-check db) -(define (get-rows db) +(define (display-rows db) (let [(row (dbi-get_row db))] (if row (begin @@ -37,4 +37,20 @@ ) )) -(get-rows db) +(define (get-rows db list) + (let [(row (dbi-get_row db))] + (if row + (get-rows db (append list `(,row))) + list + ))) + +(define (get-rows-apply db func list) + (let [(row (dbi-get_row db))] + (if row + (get-rows-apply db func (append list `(,(func row)))) + list + ))) + +; (display (get-rows db '())) + +(display (get-rows-apply db (lambda (r) `(,(assoc-ref r "StrainId") . ,(assoc-ref r "Name"))) '())) |