diff options
author | Pjotr Prins | 2023-11-18 12:33:22 +0100 |
---|---|---|
committer | Pjotr Prins | 2023-11-18 12:33:22 +0100 |
commit | b1db013cc01c94e27edf982be9b027a2b0bb9712 (patch) | |
tree | 9aa73c1c8bbff2f7659f229c08b395788c6f33ec /scripts/precompute | |
parent | 06f941636a99904671c89916e17f28de4b2cd07e (diff) | |
download | gn-guile-b1db013cc01c94e27edf982be9b027a2b0bb9712.tar.gz |
Get first BXD dataset for precompute
Diffstat (limited to 'scripts/precompute')
-rwxr-xr-x | scripts/precompute/precompute-hits.scm | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/scripts/precompute/precompute-hits.scm b/scripts/precompute/precompute-hits.scm index a6617d9..28dabc9 100755 --- a/scripts/precompute/precompute-hits.scm +++ b/scripts/precompute/precompute-hits.scm @@ -7,14 +7,19 @@ (use-modules (dbi dbi) (gn db mysql) (gn data strains) + (gn util convert) (rnrs base) (ice-9 match) + (srfi srfi-1) ) ;; potentially you want to test connection with mysql client: ;; ;; mysql -uwebqtlout -pwebqtlout -A -h 127.0.0.1 -P 3306 db_webqtl -e "show tables;" ;; +;; for now update Locus_old with +;; +;; update ProbeSetXRef set Locus_old=NULL; (call-with-db (lambda (db) @@ -38,8 +43,32 @@ ; ) ;(db-check2 db) ;(newline) - ;; get first dataset for precompute - (dbi-query db "select ProbeSetId, Locus, DataId from ProbeSetXRef where Locus_old is NULL LIMIT 1") - (display (get-row db)) + ;; ---- get first available dataset for precompute: + (dbi-query db "select Locus, DataId, ProbeSetId from ProbeSetXRef where Locus_old is NULL LIMIT 1") + (define hit (get-row db)) + (display hit) + (define data-id (assoc-ref hit "DataId")) + (display data-id) (newline) + ;; ---- Get strains and phenotypes for this dataset + (dbi-query db (string-append "SELECT StrainId,value from ProbeSetData WHERE Id=" (int-to-string data-id))) + (define 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) + lst + (append lst `(,id))))) + + '() + traits)) + (if (= 0 (length non-bxd)) + (begin + (display "WE HAVE OUR BXD DATASET for precompute!") + (display traits) + (newline) + )) ))) |