about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/param.h1
-rw-r--r--test/lmm-integration-tests.scm52
-rw-r--r--[-rwxr-xr-x]test/test-uvlmm-integration.scm37
3 files changed, 33 insertions, 57 deletions
diff --git a/src/param.h b/src/param.h
index 0b8ed97..978196c 100644
--- a/src/param.h
+++ b/src/param.h
@@ -373,5 +373,6 @@ public:
 size_t GetabIndex(const size_t a, const size_t b, const size_t n_cvt);
 
 #define is_bimbam (!is_mdb)
+#define compute_kinship (a_mode == M_KIN || a_mode == M_KIN2)
 
 #endif
diff --git a/test/lmm-integration-tests.scm b/test/lmm-integration-tests.scm
deleted file mode 100644
index 90858ce..0000000
--- a/test/lmm-integration-tests.scm
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh
-# -*- mode: scheme; -*-
-exec guile --debug -s "$0" "$@"
-!#
-
-(define-module (test-runner)
-  #:use-module (ice-9 match)
-  #:use-module (srfi srfi-1)  ; for last
-  #:use-module (srfi srfi-13)
-  #:use-module (srfi srfi-64) ; for tests
-  #:use-modules (ice-9 ftw)   ; delete file
-  #:use-module (ice-9 rdelim)
-  )
-
-(define kinship-fn "./output/mouse_hs1940.cXX.txt")
-(define gwa-fn "./output/mouse_hs1940.assoc.txt")
-
-(test-begin "uvlmm-kinship-run")
-
-(when (file-exists? kinship-fn)
-  (delete-file kinship-fn))
-(let [(err (system "./build/bin/Debug/gemma -g ./example/mouse_hs1940.geno.txt.gz -gk -o mouse_hs1940 -debug"))]
-  (test-eqv 0 err))
-
-(test-end "uvlmm-kinship-run")
-
-(test-begin "uvlmm-gwa-run")
-
-(when (file-exists? gwa-fn)
-  (delete-file gwa-fn))
-;; The following integration test runs gemma uvlmm and adds up the output column as a check.
-;; It uses the kinship-run matrix from the earlier test
-(let [(err (system (string-append "./build/bin/Debug/gemma -g ./example/mouse_hs1940.geno.txt.gz -p ./example/mouse_hs1940.pheno.txt -n 1 -a ./example/mouse_hs1940.anno.txt -k " kinship-fn " -o mouse_hs1940 -lmm 9 -debug")))]
-  (test-eqv 0 err))
-(call-with-input-file gwa-fn
-  (lambda (port)
-    (read-line port)  ; skip first line
-    (let* ((fields (string-split (read-line port) #\tab))
-           (last-field (last fields)))
-      (test-eqv 208.0 (truncate (* 1000 (string->number last-field)))))
-    (test-eqv 5720672.0
-      (let loop ((line (read-line port))
-                 (sum 208.0))
-        (if (eof-object? line)
-            sum
-            (let* ((fields (string-split line #\tab))
-                   (last-field (last fields))
-                   (value (string->number last-field)))
-              (loop (read-line port)
-                    (+ sum (truncate (* 1000 value))))))))))
-
-(test-end "uvlmm-gwa-run")
diff --git a/test/test-uvlmm-integration.scm b/test/test-uvlmm-integration.scm
index 97539b8..10af32f 100755..100644
--- a/test/test-uvlmm-integration.scm
+++ b/test/test-uvlmm-integration.scm
@@ -11,13 +11,38 @@ exec guile --debug -s "$0" "$@"
   #:use-module (ice-9 rdelim)
   )
 
-(test-begin "external-gemma-run")
+(define kinship-fn "./output/mouse_hs1940.cXX.txt")
+(define gwa-fn "./output/mouse_hs1940.assoc.txt")
 
-(let [(err (system "./build/bin/Debug/gemma -g ./example/mouse_hs1940.geno.txt.gz -p ./example/mouse_hs1940.pheno.txt -gk -o mouse_hs1940 -debug"))]
+(test-begin "uvlmm-mdb-kinship-run")
+
+(when (file-exists? kinship-fn)
+  (delete-file kinship-fn))
+(let [(err (system "./build/bin/Debug/gemma -g ./example/mouse_hs1940.geno.mdb -p ./example/mouse_hs1940.pheno.txt -gk -o mouse_hs1940 -debug"))]
   (test-eqv 0 err))
-(let [(err (system "./build/bin/Debug/gemma -g ./example/mouse_hs1940.geno.txt.gz -p ./example/mouse_hs1940.pheno.txt -n 1 -a ./example/mouse_hs1940.anno.txt -k ./output/mouse_hs1940.cXX.txt -o mouse_hs1940 -lmm 9 -debug"))]
+
+(test-end "uvlmm-mdb-kinship-run")
+
+#!
+(test-begin "uvlmm-bimbam-kinship-run")
+
+(when (file-exists? kinship-fn)
+  (delete-file kinship-fn))
+(let [(err (system "./build/bin/Debug/gemma -g ./example/mouse_hs1940.geno.txt.gz -gk -p ./example/mouse_hs1940.pheno.txt -o mouse_hs1940 -debug"))]
   (test-eqv 0 err))
-(call-with-input-file "output/mouse_hs1940.assoc.txt"
+
+(test-end "uvlmm-bimbam-kinship-run")
+
+
+(test-begin "uvlmm-bimbam-gwa-run")
+
+(when (file-exists? gwa-fn)
+  (delete-file gwa-fn))
+;; The following integration test runs gemma uvlmm and adds up the output column as a check.
+;; It uses the kinship-run matrix from the earlier test
+(let [(err (system (string-append "./build/bin/Debug/gemma -g ./example/mouse_hs1940.geno.txt.gz -p ./example/mouse_hs1940.pheno.txt -n 1 -a ./example/mouse_hs1940.anno.txt -k " kinship-fn " -o mouse_hs1940 -lmm 9 -debug")))]
+  (test-eqv 0 err))
+(call-with-input-file gwa-fn
   (lambda (port)
     (read-line port)  ; skip first line
     (let* ((fields (string-split (read-line port) #\tab))
@@ -34,4 +59,6 @@ exec guile --debug -s "$0" "$@"
               (loop (read-line port)
                     (+ sum (truncate (* 1000 value))))))))))
 
-(test-end "external-gemma-run")
+(test-end "uvlmm-bimbam-gwa-run")
+
+!#