From 4cf34ee9da6dfa9539b485daeed9f276fb192975 Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Wed, 16 Jan 2013 15:35:04 -0500 Subject: [PATCH] Bug fix to FisherStrand: do not let it output INFINITY. This all needs to be unit tested, but that's coming on the horizon. --- .../sting/gatk/walkers/annotator/FisherStrand.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/protected/java/src/org/broadinstitute/sting/gatk/walkers/annotator/FisherStrand.java b/protected/java/src/org/broadinstitute/sting/gatk/walkers/annotator/FisherStrand.java index 167e5df63..fd81103cd 100644 --- a/protected/java/src/org/broadinstitute/sting/gatk/walkers/annotator/FisherStrand.java +++ b/protected/java/src/org/broadinstitute/sting/gatk/walkers/annotator/FisherStrand.java @@ -116,8 +116,8 @@ public class FisherStrand extends InfoFieldAnnotation implements StandardAnnotat else if (table1 == null) return annotationForOneTable(pValueForContingencyTable(table2)); else { // take the one with the best (i.e., least significant pvalue) - double pvalue1 = Math.max(pValueForContingencyTable(table1), MIN_PVALUE); - double pvalue2 = Math.max(pValueForContingencyTable(table2), MIN_PVALUE); + double pvalue1 = pValueForContingencyTable(table1); + double pvalue2 = pValueForContingencyTable(table2); return annotationForOneTable(Math.max(pvalue1, pvalue2)); } } @@ -129,7 +129,7 @@ public class FisherStrand extends InfoFieldAnnotation implements StandardAnnotat * @return a hash map from FS -> phred-scaled pValue */ private Map annotationForOneTable(final double pValue) { - final Object value = String.format("%.3f", QualityUtils.phredScaleErrorRate(pValue)); + final Object value = String.format("%.3f", QualityUtils.phredScaleErrorRate(Math.max(pValue, MIN_PVALUE))); // prevent INFINITYs return Collections.singletonMap(FS, value); // Map map = new HashMap(); // map.put(FS, String.format("%.3f", QualityUtils.phredScaleErrorRate(pValue)));