From 2cb3e53b0b43b08e91176dd5844dcea38d3fcc79 Mon Sep 17 00:00:00 2001 From: ebanks Date: Tue, 24 Nov 2009 22:01:00 +0000 Subject: [PATCH] Verbose mode shouldn't be printing out 'NaN's and 'Infinity's git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2153 348d0f76-0448-11de-a6fe-93d51630548a --- .../JointEstimateGenotypeCalculationModel.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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();