diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/JointEstimateGenotypeCalculationModel.java b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/JointEstimateGenotypeCalculationModel.java index 2509218e5..cb7c5abfa 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/JointEstimateGenotypeCalculationModel.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/JointEstimateGenotypeCalculationModel.java @@ -284,9 +284,19 @@ public abstract class JointEstimateGenotypeCalculationModel extends GenotypeCalc if ( altAllele != ref ) { char base = Character.toLowerCase(altAllele); int baseIndex = BaseUtils.simpleBaseToBaseIndex(altAllele); - verboseWriter.println("P(f>0)_" + base + " = " + Math.log10(PofFs[baseIndex])); - verboseWriter.println("Qscore_" + base + " = " + (-10.0 * Math.log10(alleleFrequencyPosteriors[baseIndex][0]))); - verboseWriter.println("LOD_" + base + " = " + (Math.log10(PofFs[baseIndex]) - Math.log10(alleleFrequencyPosteriors[baseIndex][0]))); + if ( MathUtils.compareDoubles(PofFs[baseIndex], 0.0) != 0 ) { + double phredScaledConfidence = -10.0 * Math.log10(alleleFrequencyPosteriors[baseIndex][0]); + if ( Double.isInfinite(phredScaledConfidence) ) { + phredScaledConfidence = -10.0 * log10PofDgivenAFi[baseIndex][0]; + verboseWriter.println("P(f>0)_" + base + " = 1"); + verboseWriter.println("Qscore_" + base + " = " + phredScaledConfidence); + verboseWriter.println("LOD_" + base + " = " + phredScaledConfidence); + } else { + verboseWriter.println("P(f>0)_" + base + " = " + Math.log10(PofFs[baseIndex])); + verboseWriter.println("Qscore_" + base + " = " + (-10.0 * Math.log10(alleleFrequencyPosteriors[baseIndex][0]))); + verboseWriter.println("LOD_" + base + " = " + (Math.log10(PofFs[baseIndex]) - Math.log10(alleleFrequencyPosteriors[baseIndex][0]))); + } + } } } verboseWriter.println();