-
Notifications
You must be signed in to change notification settings - Fork 622
Open
Description
Running CalculateContamination on a certain WGS pileup raises the Exceptions below.
The issue happens atleast with gatk 4.6.2 and gatk 4.4.0.0 from bioconda.
We might not be able to provide the input.table file. It is currently our only input file with this issue, others worked fine.
This issue appears when running on more than the first 5485300 rows of input.table. It doesnt seem to be a particular row.
command:
gatk CalculateContamination \
--java-options "-Djava.io.tmpdir=tmp -Xms50G -Xmx50G" \
--input input.table \
--verbosity DEBUG \
--output "output.table"
traceback, gatk 4.6.2:
20:08:17.061 DEBUG KernelSegmenter - Finding local minima of local changepoint costs for window size 50...
20:08:17.066 DEBUG KernelSegmenter - Performing backward model selection on changepoint candidates...
20:08:17.077 INFO KernelSegmenter - Found 1 changepoints after applying the changepoint penalty.
20:08:17.206 INFO CalculateContamination - Shutting down engine
[November 17, 2025, 8:08:17 PM CET] org.broadinstitute.hellbender.tools.walkers.contamination.CalculateContamination done. Elapsed time: 0.52 minutes.
Runtime.totalMemory()=53687091200
org.apache.commons.math3.exception.OutOfRangeException: -0.001 out of [0, 1] range
at org.apache.commons.math3.distribution.BinomialDistribution.<init>(BinomialDistribution.java:81)
at org.broadinstitute.hellbender.utils.MathUtils.binomialProbability(MathUtils.java:604)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.lambda$genotypeLikelihoods$18(ContaminationModel.java:267)
at org.broadinstitute.hellbender.utils.IndexRange.mapToDouble(IndexRange.java:171)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.genotypeLikelihoods(ContaminationModel.java:266)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.lambda$segmentLogLikelihood$19(ContaminationModel.java:280)
at java.base/java.util.stream.ReferencePipeline$6$1.accept(ReferencePipeline.java:265)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1716)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.DoublePipeline.collect(DoublePipeline.java:544)
at java.base/java.util.stream.DoublePipeline.sum(DoublePipeline.java:453)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.segmentLogLikelihood(ContaminationModel.java:280)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.lambda$calculateMinorAlleleFraction$15(ContaminationModel.java:235)
at org.apache.commons.math3.optim.univariate.UnivariateOptimizer.computeObjectiveValue(UnivariateOptimizer.java:149)
at org.apache.commons.math3.optim.univariate.BrentOptimizer.doOptimize(BrentOptimizer.java:139)
at org.apache.commons.math3.optim.univariate.BrentOptimizer.doOptimize(BrentOptimizer.java:43)
at org.apache.commons.math3.optim.BaseOptimizer.optimize(BaseOptimizer.java:153)
at org.apache.commons.math3.optim.univariate.UnivariateOptimizer.optimize(UnivariateOptimizer.java:70)
at org.broadinstitute.hellbender.utils.OptimizationUtils.max(OptimizationUtils.java:40)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.calculateMinorAlleleFraction(ContaminationModel.java:236)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.lambda$new$0(ContaminationModel.java:67)
at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
at java.base/java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:619)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.<init>(ContaminationModel.java:67)
at org.broadinstitute.hellbender.tools.walkers.contamination.CalculateContamination.doWork(CalculateContamination.java:124)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:150)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:203)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:222)
at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:166)
at org.broadinstitute.hellbender.Main.mainEntry(Main.java:209)
at o
traceback, gatk 4.4.0.0:
20:20:50.659 INFO KernelSegmenter - Found 1 changepoints after applying the changepoint penalty.
20:20:50.915 INFO KernelSegmenter - Found 1 changepoints after applying the changepoint penalty.
20:20:50.989 INFO CalculateContamination - Shutting down engine
[November 7, 2025 at 8:20:50 PM CET] org.broadinstitute.hellbender.tools.walkers.contamination.CalculateContamination done. Elapsed time: 8.13 minutes.
Runtime.totalMemory()=53687091200
java.lang.IllegalArgumentException: log10p: Log10-probability must be 0 or less
at org.broadinstitute.hellbender.utils.Utils.validateArg(Utils.java:798)
at org.broadinstitute.hellbender.utils.MathUtils.log10BinomialProbability(MathUtils.java:655)
at org.broadinstitute.hellbender.utils.MathUtils.binomialProbability(MathUtils.java:648)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.lambda$genotypeLikelihoods$18(ContaminationModel.java:267)
at org.broadinstitute.hellbender.utils.IndexRange.mapToDouble(IndexRange.java:171)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.genotypeLikelihoods(ContaminationModel.java:266)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.lambda$segmentLogLikelihood$19(ContaminationModel.java:280)
at java.base/java.util.stream.ReferencePipeline$6$1.accept(ReferencePipeline.java:248)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.DoublePipeline.collect(DoublePipeline.java:541)
at java.base/java.util.stream.DoublePipeline.sum(DoublePipeline.java:450)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.segmentLogLikelihood(ContaminationModel.java:280)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.lambda$calculateMinorAlleleFraction$15(ContaminationModel.java:235)
at org.apache.commons.math3.optim.univariate.UnivariateOptimizer.computeObjectiveValue(UnivariateOptimizer.java:149)
at org.apache.commons.math3.optim.univariate.BrentOptimizer.doOptimize(BrentOptimizer.java:139)
at org.apache.commons.math3.optim.univariate.BrentOptimizer.doOptimize(BrentOptimizer.java:43)
at org.apache.commons.math3.optim.BaseOptimizer.optimize(BaseOptimizer.java:153)
at org.apache.commons.math3.optim.univariate.UnivariateOptimizer.optimize(UnivariateOptimizer.java:70)
at org.broadinstitute.hellbender.utils.OptimizationUtils.max(OptimizationUtils.java:40)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.calculateMinorAlleleFraction(ContaminationModel.java:236)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.lambda$new$0(ContaminationModel.java:67)
at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
at java.base/java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:617)
at org.broadinstitute.hellbender.tools.walkers.contamination.ContaminationModel.<init>(ContaminationModel.java:67)
at org.broadinstitute.hellbender.tools.walkers.contamination.CalculateContamination.doWork(CalculateContamination.java:127)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:149)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:198)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:217)
at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:160)
at org.broadinstitute.hellbender.Main.mainEntry(Main.java:203)
at org.broadinstitute.hellbender.Main.main(Main.java:289)
Metadata
Metadata
Assignees
Labels
No labels