diff options
-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"))) '())) |