I have several VCF files generated by lofreq. VCF files generated for tumor samples have no problems with the VCF.Reader(). The normal VCF files do not like VCF.info(record,"DP4") and throw the assertion error endpos != 0. from line 517 of record.jl
INFO line of the header
##INFO=<ID=DP,Number=1,Type=Integer,Description="Raw Depth">
##INFO=<ID=AF,Number=1,Type=Float,Description="Allele Frequency">
##INFO=<ID=SB,Number=1,Type=Integer,Description="Phred-scaled strand bias at this position">
##INFO=<ID=DP4,Number=4,Type=Integer,Description="Counts for ref-forward bases, ref-reverse, alt-forward and alt-reverse bases">
##INFO=<ID=INDEL,Number=0,Type=Flag,Description="Indicates that the variant is an INDEL.">
##INFO=<ID=CONSVAR,Number=0,Type=Flag,Description="Indicates that the variant is a consensus variant (as opposed to a low frequency variant).">
##INFO=<ID=HRUN,Number=1,Type=Integer,Description="Homopolymer length to the right of report indel position">
Example Record
1 11877 . G A 13 . DP=43;AF=0.023256;SB=3;DP4=24,18,0,1
Now I have surmised the error is because DP4 is the end of the line. if I add a ; followed by any random letter .R for example
1 11877 . G A 13 . DP=43;AF=0.023256;SB=3;DP4=24,18,0,1;R
the reader has no issue reading the field "DP4" and returns 24,18,0,1
This seem trivial. I do not understand why "DP4" can not be the end of the line (or the information tag) as clearly there are VCF files written this way. Other readers I have tried do not have any problems with reading these files. Any suggestions for a patch without having to alter lots of VCF files would be appreciated.