blob: 7b9ca3ee5a92fc5d1f1269396bd30387e9ddd146 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/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-module (ice-9 rdelim)
)
(test-begin "uvlmm-kinship-run")
(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-eqv 0 err))
(test-end "uvlmm-kinship-run")
(test-begin "uvlmm-gwa-run")
(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-eqv 0 err))
(call-with-input-file "output/mouse_hs1940.assoc.txt"
(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")
|