I am attempting to split a VCF file (outputted from GATK) using the splitvcf tool in Beagle 5.0 prior to imputing. However, Beagle doesn't seem to like the asterisk in the ALT column used to denote that a position is absent in some lines due to an upstream deletion. I haven't been able to find a reference to anyone encountering a similar issue and I have not experienced this when using Beagle in the past, although I don't remember seeing an asterisk in the ALT column in previous VCF files. Is this a new feature of VCF files that Beagle just hasn't caught up to? Does anyone have a solution to this?
The error output is:
Exception in thread "main" java.lang.IllegalArgumentException: invalid allele (*): 16 128 . A C,* 102.35 . . GT:AD:DP:GQ:PL ./. ./. ./. ./. ./. ./../. ./. ./. ./. ./. ./. ./. ./. ./. ./. ./. 0/0 ./. ./. ./. 0/0 ./. ./. ./. ./. ./. ./. ./. ./. ./. ./../. ./. 0/0 ./. ./. ./. ./. ./. ./. 0/0 ./. ./. ./. 0/0 ./. ./. 0/0 ./. ./. 0/0 0/0 ./. ./. 0/0 ./. ./../. ./. ./. ./. ./. ./. 0/0 ./. ./. ./. 0/0 ./. 0/0 ./. ./. 0/0 0/0 0/0 ./. ./. 0/0 0/0 0/0 ./. ./. 0/00/0 ./. ./. 0/0 0/0 0/0 ./. ./. ./. 0/0 ./. ./. 0/0 ./. ./. ./. ./. ./. ./. ./. ./. ./. 0/0 ./. ./. ./../. 0/0 ./. ./. ./. ./. 0/0 ./. ./. 0/0 0/0 ./. ./. ./. ./. ./. ./. 0/0 0/0 ./. ./. 0/0 ./. ./. 0/0 0/0./. 0/0 ./. ./. ./. 0/0 ./. ./. 0/0 0/0 ./. ./. ./. 0/0 0/0 ./. ./. ./. 0/0 ./. ./. ./. ./. 0/0 0/0 ./../. ./. ./. ./. 0/0 ./. ./. ./. 0/0 ./. 0/0 ./. ./. ./. ./. ./. ./. ./. 0/0 0/0 0/0 ./. ./. 0/0 ./. 0/0./. ./. ./. 0/0 ./. ./. 0/0 0/0 0/0 ./. ./. ./. ./. 0/0 0/0 ./. ./. 0/0 ./. ./. ./. 0/0 ./. 0/0 0/0 ./.0/0 ./. ./. ./. ./. ./. ./. ./. ./. ./. 0/0 ./. ./. ./. 0/0 0/0 ./. 0/0 ./. ./. 0/0 ./. ./. 0/0 0/0 ./../. ./. 0/0 0/0 ./. ./. 0/0 0/0 ./. 0/0 0/0 ./. ./. ./. ./. 0/0 0/0 ./. 0/0 0/0 ./. ./. ./. ./. 0/0 ./.0/0 ./. ./. 0/0 0/0 0/0 ./. ./. 0/0 ./. ./. ./. 0/0 0/0 ./. 0/0 ./. 0/0 0/0 0/0 0/0 ./. ./. ./. ./. ./.0/0 ./. 0/0 ./. ./. ./. 0/0 ./. ./. 0/0
at main.Marker.checkSimpleAllele(Marker.java:148)
at main.Marker.checkComplexAllele(Marker.java:166)
at main.Marker.checkALT(Marker.java:130)
at main.Marker.<init>(Marker.java:59)
at vcf.VcfRecord.<init>(VcfRecord.java:81)
at vcf.VcfIterator.readData(VcfIterator.java:254)
at vcf.VcfIterator.next(VcfIterator.java:224)
at vcf.VcfIterator.next(VcfIterator.java:38)
at vcf.SplitVcf.printFiles(SplitVcf.java:98)
at vcf.SplitVcf.main(SplitVcf.java:66)
1 answer
Is this a new feature of VCF files that Beagle
it's been defined in the spec for a few years: https://samtools.github.io/hts-specs/VCFv4.2.pdf
. The ‘*’ allele is reserved to indicate that the allele is missing due to a upstream deletion.
Does anyone have a solution to this?
try to replace the '*' allele with a symbolique allele (<DEL>) ?
or fix the problem (is it open source ? I can't find the code)
$ unzip -t jeter.zip | grep Marker
testing: src/vcf/BasicMarker.java OK
testing: src/vcf/Markers.java OK
testing: src/vcf/MarkerIndices.java OK
testing: src/vcf/MarkerContainer.java OK
testing: src/vcf/Marker.java OK
testing: src/vcf/MarkerMap.java OK
there is no more 'main.Marker' class in the new code. you should update your software.
Log in to answer this question.