diff --git a/test/norm.split.and.norm.out b/test/norm.split.and.norm.out index 64838edaa..834655603 100644 --- a/test/norm.split.and.norm.out +++ b/test/norm.split.and.norm.out @@ -32,29 +32,29 @@ ##FORMAT= ##INFO= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT XY00001 XY00002 -1 105 . TAAACCCTA T 999 PASS INDEL;AN=4;AC=2;DP=19;ISTR=SomeString;XRF=1e+06,2e+06;XRI=1111,2222;XRS=AAA,BBB;XAF=1e+06;XAI=1111;XAS=AAA;XGF=1e+06,2e+06,3e+06;XGI=1111,2222,3333;XGS=A,B,C GT:PL:DP:FRF:FRI:FRS:FAF:FAI:FAS:FGF:FGI:FGS 1/0:1,2,3:1:1e+06,2e+06:1111,2222:AAAA,BBB:1e+06:1111:A:1e+06,2e+06,3e+06:1111,2222,3333:A,BB,CCC 1/0:1,2,3:1:1e+06,2e+06:1111,2222:AAAA,BBB:1e+06:1111:A:1e+06,2e+06,3e+06:1111,2222,3333:A,BB,CCC -1 105 . TA T 999 PASS INDEL;AN=4;AC=2;DP=19;ISTR=SomeString;XRF=1e+06,500000;XRI=1111,5555;XRS=AAA,DDD;XAF=500000;XAI=5555;XAS=DDD;XGF=1e+06,500000,9e+09;XGI=1111,5555,9999;XGS=A,E,F GT:PL:DP:FRF:FRI:FRS:FAF:FAI:FAS:FGF:FGI:FGS 0/1:1,4,6:1:1e+06,500000:1111,5555:AAAA,CC:500000:5555:BB:1e+06,500000,9e+09:1111,5555,9999:A,EEEE,FFFFF 0/1:1,4,6:1:1e+06,500000:1111,5555:AAAA,CC:500000:5555:BB:1e+06,500000,9e+09:1111,5555,9999:A,EEEE,FFFFF +1 105 . TAAACCCTA T 999 PASS INDEL;AN=4;AC=2;DP=19;ISTR=SomeString;XRF=1e+06,2e+06;XRI=1111,2222;XRS=AAA,BBB;XAF=1e+06;XAI=1111;XAS=AAA;XGF=1e+06,2e+06,3e+06;XGI=1111,2222,3333;XGS=A,B,C GT:PL:DP:FRF:FRI:FRS:FAF:FAI:FAS:FGF:FGI:FGS 1/.:1,2,3:1:1e+06,2e+06:1111,2222:AAAA,BBB:1e+06:1111:A:1e+06,2e+06,3e+06:1111,2222,3333:A,BB,CCC 1/.:1,2,3:1:1e+06,2e+06:1111,2222:AAAA,BBB:1e+06:1111:A:1e+06,2e+06,3e+06:1111,2222,3333:A,BB,CCC +1 105 . TA T 999 PASS INDEL;AN=4;AC=2;DP=19;ISTR=SomeString;XRF=1e+06,500000;XRI=1111,5555;XRS=AAA,DDD;XAF=500000;XAI=5555;XAS=DDD;XGF=1e+06,500000,9e+09;XGI=1111,5555,9999;XGS=A,E,F GT:PL:DP:FRF:FRI:FRS:FAF:FAI:FAS:FGF:FGI:FGS ./1:1,4,6:1:1e+06,500000:1111,5555:AAAA,CC:500000:5555:BB:1e+06,500000,9e+09:1111,5555,9999:A,EEEE,FFFFF ./1:1,4,6:1:1e+06,500000:1111,5555:AAAA,CC:500000:5555:BB:1e+06,500000,9e+09:1111,5555,9999:A,EEEE,FFFFF 2 1 . GGGCGTCTCATAGCTGGAGCAATGGCGAGCGCCTGGACAAGGGAGGGGAAGGGGTTCTTATTACTGACGCGGGTAGCCCCTACTGCTGTGTGGTTCCCCTATTTTTTTTTTTTTCTTTTTGAGACGGAGTCTCGCTCTGTCACCCAGGCTGGAGTGCAGTGGCACAATCTCGGCTCACTGCAAGCTCCACC ACG 999 PASS INDEL;AN=4;AC=2 GT:DP 1/0:1 1/0:1 2 101 . A ATT 999 PASS INDEL;AN=4;AC=4 GT:DP 1/1:1 1/1:1 -2 101 . A AT 999 PASS INDEL;AN=4;AC=2 GT:DP 0/1:1 0/1:1 -2 114 . T TTC 999 PASS INDEL;AN=4;AC=2 GT:DP 1/0:1 1/0:1 +2 101 . A AT 999 PASS INDEL;AN=4;AC=2 GT:DP ./1:1 ./1:1 +2 114 . T TTC 999 PASS INDEL;AN=4;AC=2 GT:DP 1/.:1 1/.:1 2 115 . C T 999 PASS INDEL;AN=4;AC=4 GT:DP 1/1:1 1/1:1 20 3 . G CT 999 PASS INDEL;AN=4;AC=2 GT 0/1 0/1 20 5 . TG CT 999 PASS INDEL;AN=4;AC=2 GT 1/0 1/0 -20 5 . TGG T . PASS INDEL;AN=4;AC=2 GT:PL:DP 0/1:1,4,6:1 0/1:1,4,6:1 -20 5 . T TG . PASS INDEL;AN=4;AC=0 GT:PL:DP 0/0:1,7,10:1 0/0:1,7,10:1 -20 5 . TGGG AC . PASS INDEL;AN=4;AC=0 GT:PL:DP 0/0:1,11,15:1 0/0:1,11,15:1 -20 6 . GGG AC . PASS INDEL;AN=4;AC=2 GT:PL:DP 1/0:1,2,3:1 1/0:1,2,3:1 +20 5 . TGG T . PASS INDEL;AN=4;AC=2 GT:PL:DP ./1:1,4,6:1 ./1:1,4,6:1 +20 5 . T TG . PASS INDEL;AN=4;AC=0 GT:PL:DP ./.:1,7,10:1 ./.:1,7,10:1 +20 5 . TGGG AC . PASS INDEL;AN=4;AC=0 GT:PL:DP ./.:1,11,15:1 ./.:1,11,15:1 +20 6 . GGG AC . PASS INDEL;AN=4;AC=2 GT:PL:DP 1/.:1,2,3:1 1/.:1,2,3:1 20 59 . AG . 999 PASS AN=4 GT:PL:DP 0/0:0:4 0/0:0:4 20 81 . A C 999 PASS AN=4;AC=2 GT:PL:DP 0/1:255,0,255:13 0/1:255,0,255:13 20 84 . G T 999 PASS AN=4;AC=2 GT:PL:DP 0/1:255,0,255:13 0/1:255,0,255:13 20 95 . T A 999 PASS AN=4;AC=2 GT:PL:DP 0/1:255,0,255:13 0/1:255,0,255:13 20 95 . TCACCG AAAAAA 999 PASS AN=4;AC=2 GT:PL:DP 0/1:255,0,255:13 0/1:255,0,255:13 -20 273 . C CAA 999 PASS INDEL;AN=4;AC=2 GT:PL:DP 1/0:0,3,5:1 1/0:0,3,5:1 -20 273 . C CAAA 999 PASS INDEL;AN=4;AC=2 GT:PL:DP 0/1:0,3,5:1 0/1:0,3,5:1 +20 273 . C CAA 999 PASS INDEL;AN=4;AC=2 GT:PL:DP 1/.:0,3,5:1 1/.:0,3,5:1 +20 273 . C CAAA 999 PASS INDEL;AN=4;AC=2 GT:PL:DP ./1:0,3,5:1 ./1:0,3,5:1 20 273 . C CAAAAAAAAAA 999 PASS INDEL;AN=0;AC=0 GT:PL:DP ./.:0,0,0:0 ./.:0,0,0:0 20 273 . C CAA 999 PASS INDEL;AN=0;AC=0 GT:PL:DP ./.:0,0,0:0 ./.:0,0,0:0 -20 275 . A C 999 PASS INDEL;AN=2;AC=0 GT:PL:DP:FGF:FGI:FGS:FSTR 0:0,0:0:1e+06,2e+06:1111,2222:A,BB:WORD 0:0,0:0:1e+06,2e+06:1111,2222:A,BB:WORD +20 275 . A C 999 PASS INDEL;AN=2;AC=0 GT:PL:DP:FGF:FGI:FGS:FSTR .:0,0:0:1e+06,2e+06:1111,2222:A,BB:WORD .:0,0:0:1e+06,2e+06:1111,2222:A,BB:WORD 20 275 . A G 999 PASS INDEL;AN=2;AC=2 GT:PL:DP:FGF:FGI:FGS:FSTR 1:0,0:0:1e+06,3e+06:1111,3333:A,CCC:WORD 1:0,0:0:1e+06,3e+06:1111,3333:A,CCC:WORD 20 300 . T C 999 PASS INDEL;AN=0;AC=0 GT:PL:DP ./.:0,0,0:0 ./.:0,0,0:0 20 300 . T G 999 PASS INDEL;AN=0;AC=0 GT:PL:DP ./.:0,0,0:0 ./.:0,0,0:0 diff --git a/test/norm.split.out b/test/norm.split.out index b919211d7..7801d09b1 100644 --- a/test/norm.split.out +++ b/test/norm.split.out @@ -32,28 +32,28 @@ ##FORMAT= ##INFO= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT XY00001 XY00002 -1 105 . TAAACCCTAAA TAA 999 PASS INDEL;AN=4;AC=2;DP=19;ISTR=SomeString;XRF=1e+06,2e+06;XRI=1111,2222;XRS=AAA,BBB;XAF=1e+06;XAI=1111;XAS=AAA;XGF=1e+06,2e+06,3e+06;XGI=1111,2222,3333;XGS=A,B,C GT:PL:DP:FRF:FRI:FRS:FAF:FAI:FAS:FGF:FGI:FGS 1/0:1,2,3:1:1e+06,2e+06:1111,2222:AAAA,BBB:1e+06:1111:A:1e+06,2e+06,3e+06:1111,2222,3333:A,BB,CCC 1/0:1,2,3:1:1e+06,2e+06:1111,2222:AAAA,BBB:1e+06:1111:A:1e+06,2e+06,3e+06:1111,2222,3333:A,BB,CCC -1 105 . TAAACCCTAAA TAACCCTAAA 999 PASS INDEL;AN=4;AC=2;DP=19;ISTR=SomeString;XRF=1e+06,500000;XRI=1111,5555;XRS=AAA,DDD;XAF=500000;XAI=5555;XAS=DDD;XGF=1e+06,500000,9e+09;XGI=1111,5555,9999;XGS=A,E,F GT:PL:DP:FRF:FRI:FRS:FAF:FAI:FAS:FGF:FGI:FGS 0/1:1,4,6:1:1e+06,500000:1111,5555:AAAA,CC:500000:5555:BB:1e+06,500000,9e+09:1111,5555,9999:A,EEEE,FFFFF 0/1:1,4,6:1:1e+06,500000:1111,5555:AAAA,CC:500000:5555:BB:1e+06,500000,9e+09:1111,5555,9999:A,EEEE,FFFFF +1 105 . TAAACCCTAAA TAA 999 PASS INDEL;AN=4;AC=2;DP=19;ISTR=SomeString;XRF=1e+06,2e+06;XRI=1111,2222;XRS=AAA,BBB;XAF=1e+06;XAI=1111;XAS=AAA;XGF=1e+06,2e+06,3e+06;XGI=1111,2222,3333;XGS=A,B,C GT:PL:DP:FRF:FRI:FRS:FAF:FAI:FAS:FGF:FGI:FGS 1/.:1,2,3:1:1e+06,2e+06:1111,2222:AAAA,BBB:1e+06:1111:A:1e+06,2e+06,3e+06:1111,2222,3333:A,BB,CCC 1/.:1,2,3:1:1e+06,2e+06:1111,2222:AAAA,BBB:1e+06:1111:A:1e+06,2e+06,3e+06:1111,2222,3333:A,BB,CCC +1 105 . TAAACCCTAAA TAACCCTAAA 999 PASS INDEL;AN=4;AC=2;DP=19;ISTR=SomeString;XRF=1e+06,500000;XRI=1111,5555;XRS=AAA,DDD;XAF=500000;XAI=5555;XAS=DDD;XGF=1e+06,500000,9e+09;XGI=1111,5555,9999;XGS=A,E,F GT:PL:DP:FRF:FRI:FRS:FAF:FAI:FAS:FGF:FGI:FGS ./1:1,4,6:1:1e+06,500000:1111,5555:AAAA,CC:500000:5555:BB:1e+06,500000,9e+09:1111,5555,9999:A,EEEE,FFFFF ./1:1,4,6:1:1e+06,500000:1111,5555:AAAA,CC:500000:5555:BB:1e+06,500000,9e+09:1111,5555,9999:A,EEEE,FFFFF 2 1 . GGGCGTCTCATAGCTGGAGCAATGGCGAGCGCCTGGACAAGGGAGGGGAAGGGGTTCTTATTACTGACGCGGGTAGCCCCTACTGCTGTGTGGTTCCCCTATTTTTTTTTTTTTCTTTTTGAGACGGAGTCTCGCTCTGTCACCCAGGCTGGAGTGCAGTGGCACAATCTCGGCTCACTGCAAGCTCCACCT ACGT 999 PASS INDEL;AN=4;AC=2 GT:DP 1/0:1 1/0:1 2 101 . ATTTTTTTTTTTTT ATTTTTTTTTTTTTTT 999 PASS INDEL;AN=4;AC=4 GT:DP 1/1:1 1/1:1 -2 114 . TC TTCC 999 PASS INDEL;AN=4;AC=2 GT:DP 1/0:1 1/0:1 -2 114 . TC TTC 999 PASS INDEL;AN=4;AC=2 GT:DP 0/1:1 0/1:1 +2 114 . TC TTCC 999 PASS INDEL;AN=4;AC=2 GT:DP 1/.:1 1/.:1 +2 114 . TC TTC 999 PASS INDEL;AN=4;AC=2 GT:DP ./1:1 ./1:1 2 115 . C T 999 PASS INDEL;AN=4;AC=4 GT:DP 1/1:1 1/1:1 20 3 . G CT 999 PASS INDEL;AN=4;AC=2 GT 0/1 0/1 20 3 . GATG GACT 999 PASS INDEL;AN=4;AC=2 GT 1/0 1/0 -20 5 . TGGG TAC . PASS INDEL;AN=4;AC=2 GT:PL:DP 1/0:1,2,3:1 1/0:1,2,3:1 -20 5 . TGGG TG . PASS INDEL;AN=4;AC=2 GT:PL:DP 0/1:1,4,6:1 0/1:1,4,6:1 -20 5 . TGGG TGGGG . PASS INDEL;AN=4;AC=0 GT:PL:DP 0/0:1,7,10:1 0/0:1,7,10:1 -20 5 . TGGG AC . PASS INDEL;AN=4;AC=0 GT:PL:DP 0/0:1,11,15:1 0/0:1,11,15:1 +20 5 . TGGG TAC . PASS INDEL;AN=4;AC=2 GT:PL:DP 1/.:1,2,3:1 1/.:1,2,3:1 +20 5 . TGGG TG . PASS INDEL;AN=4;AC=2 GT:PL:DP ./1:1,4,6:1 ./1:1,4,6:1 +20 5 . TGGG TGGGG . PASS INDEL;AN=4;AC=0 GT:PL:DP ./.:1,7,10:1 ./.:1,7,10:1 +20 5 . TGGG AC . PASS INDEL;AN=4;AC=0 GT:PL:DP ./.:1,11,15:1 ./.:1,11,15:1 20 59 . AG . 999 PASS AN=4 GT:PL:DP 0/0:0:4 0/0:0:4 20 80 . CACAG CACAT 999 PASS AN=4;AC=2 GT:PL:DP 0/1:255,0,255:13 0/1:255,0,255:13 20 81 . A C 999 PASS AN=4;AC=2 GT:PL:DP 0/1:255,0,255:13 0/1:255,0,255:13 20 95 . TCACCG ACACCG 999 PASS AN=4;AC=2 GT:PL:DP 0/1:255,0,255:13 0/1:255,0,255:13 20 95 . TCACCG AAAAAA 999 PASS AN=4;AC=2 GT:PL:DP 0/1:255,0,255:13 0/1:255,0,255:13 -20 273 . CAAAAAAAAAAAAAAAAAAAAA CAAAAAAAAAAAAAAAAAAAAAAA 999 PASS INDEL;AN=4;AC=2 GT:PL:DP 1/0:0,3,5:1 1/0:0,3,5:1 -20 273 . CAAAAAAAAAAAAAAAAAAAAA CAAAAAAAAAAAAAAAAAAAAAAAA 999 PASS INDEL;AN=4;AC=2 GT:PL:DP 0/1:0,3,5:1 0/1:0,3,5:1 +20 273 . CAAAAAAAAAAAAAAAAAAAAA CAAAAAAAAAAAAAAAAAAAAAAA 999 PASS INDEL;AN=4;AC=2 GT:PL:DP 1/.:0,3,5:1 1/.:0,3,5:1 +20 273 . CAAAAAAAAAAAAAAAAAAAAA CAAAAAAAAAAAAAAAAAAAAAAAA 999 PASS INDEL;AN=4;AC=2 GT:PL:DP ./1:0,3,5:1 ./1:0,3,5:1 20 274 . AAAAAAAAA AAAAAAAAAAAAAAAAAAA 999 PASS INDEL;AN=0;AC=0 GT:PL:DP ./.:0,0,0:0 ./.:0,0,0:0 -20 275 . A C 999 PASS INDEL;AN=2;AC=0 GT:PL:DP:FGF:FGI:FGS:FSTR 0:0,0:0:1e+06,2e+06:1111,2222:A,BB:WORD 0:0,0:0:1e+06,2e+06:1111,2222:A,BB:WORD +20 275 . A C 999 PASS INDEL;AN=2;AC=0 GT:PL:DP:FGF:FGI:FGS:FSTR .:0,0:0:1e+06,2e+06:1111,2222:A,BB:WORD .:0,0:0:1e+06,2e+06:1111,2222:A,BB:WORD 20 275 . A G 999 PASS INDEL;AN=2;AC=2 GT:PL:DP:FGF:FGI:FGS:FSTR 1:0,0:0:1e+06,3e+06:1111,3333:A,CCC:WORD 1:0,0:0:1e+06,3e+06:1111,3333:A,CCC:WORD 20 278 . AAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAA 999 PASS INDEL;AN=0;AC=0 GT:PL:DP ./.:0,0,0:0 ./.:0,0,0:0 20 300 . T C 999 PASS INDEL;AN=0;AC=0 GT:PL:DP ./.:0,0,0:0 ./.:0,0,0:0 diff --git a/vcfnorm.c b/vcfnorm.c index 9bffddbb3..5fe1e5bd0 100644 --- a/vcfnorm.c +++ b/vcfnorm.c @@ -517,7 +517,7 @@ static void split_format_genotype(args_t *args, bcf1_t *src, bcf_fmt_t *fmt, int if ( bcf_gt_allele(gt[j])==ialt+1 ) gt[j] = bcf_gt_unphased(1) | bcf_gt_is_phased(gt[j]); // set to first ALT else - gt[j] = bcf_gt_unphased(0) | bcf_gt_is_phased(gt[j]); // set to REF + gt[j] = bcf_gt_missing | bcf_gt_is_phased(gt[j]); // set to REF } gt += ngts; }