I am attempting to use Beagle 5.2 to phase and impute a panel of 775 unphased soybean accessions. However, I am encountering an error that, based on the error output (see below), I believe is due to minor allele frequency. However, using Beagle in the past, I’ve experienced no trouble imputing with positions that contained even as few as a single accession with the Alternate allele call. So I’m confused why I’m experiencing difficulties now. My lab prefers not to filter any positions by low allele frequencies, so I'm not looking for a solution that involves filtering, please.
The vcf file can be found here. And a file containing the allele frequencies for each Alternate allele in the file can be found here.
I am not using a reference panel to impute this data (I'm just imputing on itself), so my command is similar to this:
java -Xmx20G -jar beagle.jar gt=SplitVCF_Soy775_Chr01.1.vcf.gz out=Imputed_Soy775_Chr01.1
And the log file looks like:
Activating conda environment: /storage/hpc/group/bilyeu/nad7wf/allele_atlas_pipeline/.snakemake/conda/e283fd6b
beagle.21Apr21.304.jar (version 5.2)
Copyright (C) 2014-2021 Brian L. Browning
Enter "java -jar beagle.21Apr21.304.jar" to list command line argument
Start time: 10:08 AM CDT on 31 May 2021
Command line: java -Xmx19797m -jar beagle.21Apr21.304.jar
gt=results/SplitVCF_Soy775_Chr01.1.vcf.gz
out=results/ImputeRP_Soy775_Chr01.1
No genetic map is specified: using 1 cM = 1 Mb
Reference samples: 0
Study samples: 775
Window 1 [Chr01:36-2942731]
Reference markers: 109,917
Study markers: 109,917
Burnin iteration 1: 1 minute 53 seconds
Burnin iteration 2: 1 minute 8 seconds
Burnin iteration 3: 1 minute 8 seconds
Phasing iteration 1: 52 seconds
Phasing iteration 2: 50 seconds
Phasing iteration 3: 45 seconds
Phasing iteration 4: 46 seconds
Phasing iteration 5: 47 seconds
Phasing iteration 6: 50 seconds
Phasing iteration 7: 48 seconds
Phasing iteration 8: 46 seconds
Phasing iteration 9: 42 seconds
Phasing iteration 10: 41 seconds
Phasing iteration 11: 40 seconds
Phasing iteration 12: 37 seconds
Exception in thread "main" java.lang.IllegalArgumentException: invalid array
at vcf.LowMafRefGTRec.throwArrayError(LowMafRefGTRec.java:149)
at vcf.LowMafRefGTRec.checkIndicesAndReturnMajorAllele(LowMafRefGTRec.java:143)
at vcf.LowMafRefGTRec.<init>(LowMafRefGTRec.java:117)
at vcf.RefGTRec.hapCodedInstance(RefGTRec.java:116)
at phase.Stage2Haps.recs(Stage2Haps.java:167)
at phase.Stage2Haps.lambda$stage2Haps$1(Stage2Haps.java:140)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271)
at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:699)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2191)
at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2157)
at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:408)
at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:736)
at java.base/java.util.stream.Nodes.collect(Nodes.java:336)
at java.base/java.util.stream.ReferencePipeline.evaluateToNode(ReferencePipeline.java:109)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:545)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:517)
at phase.Stage2Haps.stage2Haps(Stage2Haps.java:141)
at phase.PhaseLS.runStage2(PhaseLS.java:269)
at main.Main.phaseStage2Variants(Main.java:209)
at main.Main.phaseTarg(Main.java:182)
at main.Main.phaseAndImpute(Main.java:171)
at main.Main.main(Main.java:126)