diff options
| author | Pjotr Prins | 2025-11-28 08:06:12 +0100 |
|---|---|---|
| committer | Pjotr Prins | 2025-11-28 08:06:12 +0100 |
| commit | 36b77de195ee1d1140788f3833e41ee4a1524a31 (patch) | |
| tree | d7aa5763466525f9861a7bded1cf8bcbce2f7ec3 | |
| parent | 06f1f9fb6479bf12b63678e9fbe274bad48befe6 (diff) | |
| download | pangemma-36b77de195ee1d1140788f3833e41ee4a1524a31.tar.gz | |
Prepare for using mdb geno in a test
| -rw-r--r-- | src/param.h | 1 | ||||
| -rw-r--r-- | test/lmm-integration-tests.scm | 52 | ||||
| -rw-r--r--[-rwxr-xr-x] | test/test-uvlmm-integration.scm | 37 |
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") + +!# |
