This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Invalid allele error when attempting to run Beagle 5.0 splitvcf

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)
beagle imputation vcf

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.