diff --git a/src/slivarpkg/gnotate.nim b/src/slivarpkg/gnotate.nim index cf58ff9..1f60d56 100644 --- a/src/slivarpkg/gnotate.nim +++ b/src/slivarpkg/gnotate.nim @@ -101,6 +101,7 @@ proc parseLong(line: string, n_fields:int): Long {.inline.} = proc readLongs(g:var Gnotater, chrom: string) = + g.longs.setLen(0) var big = newString(16) doAssert g.zip.read_into(&"sli.var/{chrom}/long-alleles.txt", big) diff --git a/src/slivarpkg/version.nim b/src/slivarpkg/version.nim index 0cc96e7..7d987b0 100644 --- a/src/slivarpkg/version.nim +++ b/src/slivarpkg/version.nim @@ -1,2 +1,2 @@ -const slivarVersion* = "0.2.8" +const slivarVersion* = "0.2.9" const slivarGitCommit* = staticExec("git rev-parse --verify HEAD") diff --git a/tests/functional-tests.sh b/tests/functional-tests.sh index 28e8ad9..73008a4 100644 --- a/tests/functional-tests.sh +++ b/tests/functional-tests.sh @@ -54,6 +54,7 @@ assert_equal "0" "$(bcftools view -H -i 'FMT/DP[0] <= 10 || FMT/DP[1] <= 10 || F assert_equal 11 $(bcftools view -H xx.bcf | wc -l) + run check_denovo_with_filter $exe expr --js js/slivar-functions.js -v tests/ashk-trio.vcf.gz --pass-only --trio "denovo:variant.FILTER == 'PASS' && kid.alts == 1 && mom.alts == 0 && dad.alts == 0 && (mom.AD[1] + dad.AD[1]) < 2 && kid.GQ > 10 && mom.GQ > 10 && dad.GQ > 10 && kid.DP > 10 && mom.DP > 10 && dad.DP > 10" --ped tests/ashk-trio.ped -o xx.bcf assert_exit_code 0 @@ -217,3 +218,10 @@ assert_in_stderr "[slivar] warning! BCSQ has a CSQ of @63280473 which is incompl [slivar] warning! BCSQ has a CSQ of @788407 which is incomplete. skipping chr16:793183(G/A) [slivar] warning! BCSQ has a CSQ of @3592545 which is incomplete. skipping chr19:3593228(G/A)" rm x.vcf.gz + + +run check_indel_bug_setup $exe make-gnotate -f AF:gno_af tests/indel-bug.vcf --prefix tests/indel-bug +run check_indel_bug $exe expr -g tests/indel-bug.zip -v tests/indel-bug.vcf -o x.vcf +assert_equal 0 $(bcftools query -f "%AF\t%gno_af" x.vcf | awk '$1 != $2' | wc -l) +rm x.vcf + diff --git a/tests/indel-bug.vcf b/tests/indel-bug.vcf new file mode 100644 index 0000000..a7170f0 --- /dev/null +++ b/tests/indel-bug.vcf @@ -0,0 +1,19 @@ +##fileformat=VCFv4.2 +##FILTER= +##INFO= +#CHROM POS ID REF ALT QUAL FILTER INFO +chr3 57446013 . ATAAATAAATAAT A 230919 PASS AF=0.574454 +chr4 443460 . CCACATGTGTAGGGTTTCTCTCCAGTATGAATTCTCCTATGTACATAAAGGTTTGCGGACTGTCTAAAGGCTTTGCCACATACTT C 274.8 PASS AF=0 +chr5 80300545 . G GTCCCTCTCCCTC 114541 PASS AF=0.386214 +chr6 31028873 . A ACCTCTACTGAAGGCTCTGAGACCACCACAG 13662.3 PASS AF=0.1145 +chr6 31028943 . C CAGGCTCTGAGACCACCACAGCCTCTACTGA 7768.74 PASS AF=0.048706 +chr9 32986034 . AAAAAAAAACAAAAAAAAAAAC A 118886 PASS AF=0.476683 +chr9 35183034 . CGCTCCTCACTTCCCAGATGGGGCGGCCGGGCAGAGGCGCTCCTCACCTCCCAGACGGGGCGGCCTGGCAGAGGT C 56269 PASS AF=0.229961 +chr10 2501862 . ACCCGGCTCACCTCAACAACAAAGCGCGGTTTCCTCCCTCGCCATCCTTCCTCG A 99790.2 PASS AF=0.186495 +chr10 42429112 . TCACCTTTGCTTGATATGATAATATAGTGCCAAGG T 120274 PASS AF=0.482119 +chr11 10353386 . TTTTTCTTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTC T 11465.2 PASS AF=0.652204 +chr16 3197578 . TGGCCACATGTCAAGGGCTCCAGAGCCACCTGCTGCTGGGGGCCAGTTCCTCAGACAGCGCAGTCCTACATCTGACTACAAGCTTAAATG T 212370 PASS AF=0.67148 +chr17 40819040 . AGCCGCCGCCGGAACTGCCGCCGTGGCCGCCGCCGTG A 651.56 PASS AF=0.00191424 +chr17 40819055 . TGCCGCCGTGGCC T 78807.4 PASS AF=0.329802 +chr19 58404775 . GGGCAGAGGGGCTCCTCATTTCCCAGTAGGGGCGGCCGGGCAGAGGCGCCCCTCACCTCCCGGACAGGGCGGCTCGCCAGGCGGGGGGCTGACCCCCCCCCCCACCTCCCTCCTGGACGGGGCGGCTGGCCA G 1168.4 PASS AF=0.0145961 +chr20 37179387 . G GCTTACAGACAGGGCCCCGCGGCCGGCACT 700721 PASS AF=0.504156