1#! /bin/sh
2
3mkdir -p tests-data; cd tests-data
4. ../compat.sh
5
6sort -k2,2 > ${pref}.md5sum <<EOF 
7864c0b0826854bdc72a85d170549b64b ${pref}_m15_s2M.histo
8864c0b0826854bdc72a85d170549b64b ${pref}_m15_s16M.histo
941fd8408dde0ea14bec7425b1a877140 ${pref}_m15.stats
10376761a6e273b57b3428c14e3b536edf ${pref}_binary.dump
11376761a6e273b57b3428c14e3b536edf ${pref}_text.dump
129251799dd5dbd3f617124aa2ff72112a ${pref}_binary.histo
13c30cba4fe2886cea4abb27f5c30ea35e ${pref}_binary.stats
149251799dd5dbd3f617124aa2ff72112a ${pref}_text.histo
15c30cba4fe2886cea4abb27f5c30ea35e ${pref}_text.stats
1694625cd2d59e278f08421a673eb0926a ${pref}_m15_s2M_L2_U3.histo
1794625cd2d59e278f08421a673eb0926a ${pref}_m15_s2M_L2_U3_automerge.histo
1845fb383344e0fb0b7540718339be4c03 ${pref}_query_one_count
19864c0b0826854bdc72a85d170549b64b ${pref}_m15_DOS.histo
20EOF
21
22# Count with in memory hash doubling
23$JF count -t $nCPUs -o ${pref}_m15_s2M.jf -s 2M -C -m 15 seq10m.fa
24$JF histo ${pref}_m15_s2M.jf > ${pref}_m15_s2M.histo
25$JF stats ${pref}_m15_s2M.jf > ${pref}_m15.stats
26
27# Count without size doubling
28$JF count -t $nCPUs -o ${pref}_m15_s16M.jf -s 16M -C -m 15 seq10m.fa
29$JF histo ${pref}_m15_s16M.jf > ${pref}_m15_s16M.histo
30
31# Count large merges in binary and text. Should agree
32$JF count -m 40 -t $nCPUs -o ${pref}_text.jf -s 2M --text seq1m_0.fa
33$JF count -m 40 -t $nCPUs -o ${pref}_binary.jf -s 2M seq1m_0.fa
34$JF histo ${pref}_text.jf > ${pref}_text.histo
35$JF stats ${pref}_text.jf > ${pref}_text.stats
36$JF histo ${pref}_binary.jf > ${pref}_binary.histo
37$JF stats ${pref}_binary.jf > ${pref}_binary.stats
38$JF dump -c ${pref}_text.jf | sort > ${pref}_text.dump
39$JF dump -c ${pref}_binary.jf | sort > ${pref}_binary.dump
40
41# Check the lower and upper count without merging
42$JF count -t $nCPUs -o ${pref}_m15_s2M_L2_U3.jf -s 2M -C -m 15 -L2 -U3 seq10m.fa
43$JF histo ${pref}_m15_s2M_L2_U3.jf > ${pref}_m15_s2M_L2_U3.histo
44
45# Check the lower and upper count limits with merging
46$JF count -t $nCPUs -o ${pref}_m15_s2M_L2_U3_automerge.jf -s 2M -C -m 15 -L2 -U3 --disk seq10m.fa
47$JF histo ${pref}_m15_s2M_L2_U3_automerge.jf > ${pref}_m15_s2M_L2_U3_automerge.histo
48
49# Check query
50$JF query ${pref}_binary.jf -s seq1m_0.fa    | grep ' 1$' | wc -l | sed -e 's/ //g' > ${pref}_query_one_count
51# $JF query ${pref}_binary.jf -s seq1m_0.fa -C | grep ' 1$' | wc -l | sed -e 's/ //g' > ${pref}_query_canonical_one_count
52
53# $JF count -m 40 -t $nCPUs -o ${pref}_text -s 2M --text seq1m_0.fa
54# $JF info -s ${pref}_text0 | sort >  ${pref}_text0_dump
55
56# $JF count -m 40 -t $nCPUs -o ${pref}_bin -s 2M seq1m_0.fa
57# $JF dump -c ${pref}_bin0 | sort > ${pref}_bin0_dump
58
59# $JF histo ${pref}_bin0 > ${pref}.histo
60
61# Count all k-mers
62# $JF count --matrix seq10m_matrix_22 -m 22 -t $nCPUs -o $pref \
63#     -s 10000000 --timing ${pref}.timing --stats ${pref}.stats seq10m.fa
64# # Output only counts >= 2
65# $JF count --matrix seq10m_matrix_22 -m 22 -t $nCPUs -o ${pref}_L \
66#     -s 10000000 --timing ${pref}.timing -L 2 seq10m.fa
67# # Stream output
68# $JF count --matrix seq10m_matrix_22 -m 22 -t $nCPUs -o /dev/fd/1 -O \
69#     -s 10000000 --timing ${pref}.timing --stats ${pref}.stats seq10m.fa | \
70#     cat > ${pref}_S
71
72# $JF histo -f ${pref}_0 > ${pref}.histo
73# $JF dump -c ${pref}_L_0 > ${pref}_L.dump
74# $JF dump -c -L 2 ${pref}_0 > ${pref}.dump
75# cat ${pref}_0 | $JF dump -c -L 2 /dev/fd/0 > ${pref}_stream.dump
76# echo "GCCATTTCGATTAAAGAATGAT TAGGCATGCAACGCTTCCCTTT" | $JF query ${pref}_0 > ${pref}.query
77# $JF dump -c ${pref}_0 > ${pref}_all.dump
78# $JF dump -c ${pref}_S > ${pref}_S_all.dump
79
80# Check DOS line ending
81if [ -n "$UNIX2DOS" ]; then
82    $JF count -t $nCPUs -o ${pref}_m15_DOS.jf -s 2M -C -m 15 seq10mDOS.fa
83    $JF histo ${pref}_m15_DOS.jf > ${pref}_m15_DOS.histo
84else
85    cp ${pref}_m15_s2M.histo ${pref}_m15_DOS.histo
86fi
87
88check ${pref}.md5sum
89
90