diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/GenerateVariantClustersWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/GenerateVariantClustersWalker.java index 211882ab2..5e7bbfed9 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/GenerateVariantClustersWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/GenerateVariantClustersWalker.java @@ -67,7 +67,7 @@ public class GenerateVariantClustersWalker extends RodWalker ignoreInputFilterSet = null; + private int numUnstable = 0; //--------------------------------------------------------------------------------------------------------------- // @@ -185,11 +186,27 @@ public class VariantRecalibrator extends RodWalker 1, Most likely numerical instability during clustering !!!!!"); + } final VariantDataManager dataManager = new VariantDataManager( reduceSum, theModel.dataManager.annotationKeys ); reduceSum.clear(); // Don't need this ever again, clean up some memory diff --git a/java/src/org/broadinstitute/sting/utils/QualityUtils.java b/java/src/org/broadinstitute/sting/utils/QualityUtils.java index 86537ce4f..272b47e01 100755 --- a/java/src/org/broadinstitute/sting/utils/QualityUtils.java +++ b/java/src/org/broadinstitute/sting/utils/QualityUtils.java @@ -30,7 +30,11 @@ public class QualityUtils { } static public double qualToProb(int qual) { - return 1.0 - Math.pow(10.0, ((double) qual)/-10.0); + return qualToProb( (double)qual ); + } + + static public double qualToProb(double qual) { + return 1.0 - Math.pow(10.0, qual/(-10.0)); } /** @@ -76,6 +80,10 @@ public class QualityUtils { static public double phredScaleErrorRate(double errorRate) { return -10.0*Math.log10(errorRate); } + + static public double lodToPhredScaleErrorRate(double lod) { + return phredScaleErrorRate(1.0 / (Math.pow(10.0, lod) + 1.0)); + } /** * Return a quality score, capped at max qual. diff --git a/java/test/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrationWalkersIntegrationTest.java b/java/test/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrationWalkersIntegrationTest.java index 1fc5df0c1..a3026df16 100755 --- a/java/test/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrationWalkersIntegrationTest.java +++ b/java/test/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrationWalkersIntegrationTest.java @@ -12,7 +12,7 @@ public class VariantRecalibrationWalkersIntegrationTest extends WalkerTest { @Test public void testGenerateVariantClusters() { HashMap e = new HashMap(); - e.put( validationDataLocation + "yri.trio.gatk_glftrio.intersection.annotated.filtered.chr1.vcf", "72558d2c49bb94dc59e9d4146fe0bc05" ); + e.put( validationDataLocation + "yri.trio.gatk_glftrio.intersection.annotated.filtered.chr1.vcf", "05d1692624a28cd9446feac8fd2408ab" ); for ( Map.Entry entry : e.entrySet() ) { String vcf = entry.getKey(); @@ -37,7 +37,7 @@ public class VariantRecalibrationWalkersIntegrationTest extends WalkerTest { @Test public void testVariantRecalibrator() { HashMap e = new HashMap(); - e.put( validationDataLocation + "yri.trio.gatk_glftrio.intersection.annotated.filtered.chr1.vcf", "0cb94385ced8a7a537d7bc79f82c01d3" ); + e.put( validationDataLocation + "yri.trio.gatk_glftrio.intersection.annotated.filtered.chr1.vcf", "4570c93c96de61342d75c1c658e2d5c1" ); for ( Map.Entry entry : e.entrySet() ) { String vcf = entry.getKey();