about summary refs log tree commit diff
path: root/scripts/precompute
diff options
context:
space:
mode:
authorPjotr Prins2023-12-02 16:45:55 -0600
committerPjotr Prins2023-12-02 16:45:55 -0600
commit8fb091769b6b01d476b45943bac54a26a8923573 (patch)
tree94569831fcfccb3680dfe47cff41efb01c53278b /scripts/precompute
parent186da1d636f88421d1bbca0033e2d99a3b15e6cd (diff)
downloadgn-guile-8fb091769b6b01d476b45943bac54a26a8923573.tar.gz
Run gemma
Diffstat (limited to 'scripts/precompute')
-rwxr-xr-xscripts/precompute/precompute-hits.scm22
1 files changed, 15 insertions, 7 deletions
diff --git a/scripts/precompute/precompute-hits.scm b/scripts/precompute/precompute-hits.scm
index b9dd746..8762a6a 100755
--- a/scripts/precompute/precompute-hits.scm
+++ b/scripts/precompute/precompute-hits.scm
@@ -11,7 +11,7 @@
              (gn data strains)
              (gn util convert)
              (gn runner gemma)
-             (rnrs base)
+             ; (rnrs base)
              (ice-9 match)
              (srfi srfi-1)
              )
@@ -64,26 +64,34 @@
               (probeset-id (assoc-ref hit "ProbeSetId"))
               (trait (get-trait-name db probeset-id))
               (trait-name (assoc-ref trait "Name"))
+              (name (dataset-name db probesetfreeze-id))
               ]
          (display hit)
          (display data-id)
          (newline)
-         (define name (dataset-name db probesetfreeze-id))
          ;; ---- Get strains and phenotypes for this dataset
          (dbi-query db (string-append "SELECT StrainId,value from ProbeSetData WHERE Id=" data-id-str))
-         (define traits (get-rows-apply db
+         (define id_traits (get-rows-apply db
                                         (lambda (r) `(,(assoc-ref r "StrainId") . ,(assoc-ref r "value")))
                                         '()))
          ;; ---- Now we need to make sure that all strains belong to BXD
          (define non-bxd (fold
                           (lambda (strain lst)
-                            (let ([id (car strain)])
-                              (if (assoc id bxd-strains)
+                            (let* [(id (car strain))
+                                   (name (assoc id bxd-strains))]
+                              (if name
                                   lst
-                                  (append lst `(,id)))))
+                                  (append lst `(,name)))))
 
                           '()
-                          traits))
+                          id_traits))
+         (define traits (map
+                         (lambda (t)
+                           (match t
+                             ((id . value) (cons (assoc-ref bxd-strains id) value)
+                             )))
+                         id_traits))
+         (display traits)
          ;; (if (= 0 (length non-bxd))
          (if (eq? non-bxd '())
              (begin