From 6323fb8673d067cd3465cce8786b076ceec05c6b Mon Sep 17 00:00:00 2001 From: rpoplin Date: Tue, 3 May 2011 18:00:22 +0000 Subject: [PATCH] misc cleanup in VQSR git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5732 348d0f76-0448-11de-a6fe-93d51630548a --- .../ContrastiveRecalibrator.java | 7 +++---- .../GaussianMixtureModel.java | 8 ++++---- .../MultivariateGaussian.java | 1 + .../VariantDataManager.java | 2 +- .../VariantRecalibratorEngine.java | 19 +++++-------------- 5 files changed, 14 insertions(+), 23 deletions(-) diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantrecalibration/ContrastiveRecalibrator.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantrecalibration/ContrastiveRecalibrator.java index 692aae3a3..8311faba6 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantrecalibration/ContrastiveRecalibrator.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantrecalibration/ContrastiveRecalibrator.java @@ -210,7 +210,7 @@ public class ContrastiveRecalibrator extends RodWalker reduceSum ) { dataManager.setData( reduceSum ); - dataManager.normalizeData(); + dataManager.normalizeData(); // Each data point is now (x - mean) / standard deviation final GaussianMixtureModel goodModel = engine.generateModel( dataManager.getTrainingData() ); engine.evaluateData( dataManager.getData(), goodModel, false ); final GaussianMixtureModel badModel = engine.generateModel( dataManager.selectWorstVariants( VRAC.PERCENT_BAD_VARIANTS ) ); @@ -250,12 +250,10 @@ public class ContrastiveRecalibrator extends RodWalker fakeData = new ExpandingArrayList(); @@ -266,6 +264,7 @@ public class ContrastiveRecalibrator extends RodWalker data ) { @@ -50,36 +49,28 @@ public class VariantRecalibratorEngine { } } - ///////////////////////////// - // Private Methods used for initialization - ///////////////////////////// - - private void initialize( final VariantRecalibratorArgumentCollection VRAC ) { - } - ///////////////////////////// // Private Methods used for generating a GaussianMixtureModel ///////////////////////////// private void variationalBayesExpectationMaximization( final GaussianMixtureModel model, final List data ) { - model.cacheEmpiricalStats(); model.initializeRandomModel( data, VRAC.NUM_KMEANS_ITERATIONS ); // The VBEM loop model.normalizePMixtureLog10(); model.expectationStep( data ); - double currentLikelihood; + double currentChangeInMixtureCoefficients; int iteration = 0; logger.info("Finished iteration " + iteration ); while( iteration < VRAC.MAX_ITERATIONS ) { iteration++; model.maximizationStep( data ); - currentLikelihood = model.normalizePMixtureLog10(); - model.expectationStep( data ); - logger.info("Current change in mixture coefficients = " + String.format("%.5f", currentLikelihood)); + currentChangeInMixtureCoefficients = model.normalizePMixtureLog10(); + model.expectationStep(data); + logger.info("Current change in mixture coefficients = " + String.format("%.5f", currentChangeInMixtureCoefficients)); logger.info("Finished iteration " + iteration ); - if( iteration > 2 && currentLikelihood < MIN_PROB_CONVERGENCE ) { + if( iteration > 2 && currentChangeInMixtureCoefficients < MIN_PROB_CONVERGENCE ) { logger.info("Convergence!"); break; }