From cdec84aa8f49095ec5d36398a8ca4dd7208dd221 Mon Sep 17 00:00:00 2001 From: rpoplin Date: Fri, 19 Mar 2010 15:07:32 +0000 Subject: [PATCH] Bug fix for variant optimizer. Remember to close the PrintStreams it uses to output the cluster files. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3046 348d0f76-0448-11de-a6fe-93d51630548a --- .../ApplyVariantClustersWalker.java | 2 +- .../variantoptimizer/VariantDataManager.java | 20 ++++++++++++------- .../variantoptimizer/VariantDatum.java | 1 + .../VariantGaussianMixtureModel.java | 3 +++ .../variantoptimizer/VariantOptimizer.java | 2 +- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/ApplyVariantClustersWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/ApplyVariantClustersWalker.java index 46e1aeb9c..41fad687d 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/ApplyVariantClustersWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/ApplyVariantClustersWalker.java @@ -56,7 +56,7 @@ public class ApplyVariantClustersWalker extends RodWalker dataList, final ExpandingArrayList _annotationKeys ) { numVariants = dataList.size(); - data = dataList.toArray( new VariantDatum[numVariants]); + data = dataList.toArray( new VariantDatum[numVariants] ); if( numVariants <= 0 ) { throw new StingException( "There are zero variants! (or possibly a problem with integer overflow)" ); } - numAnnotations = _annotationKeys.size() + 1; // +1 for QUAL - if( numAnnotations <= 0 ) { - throw new StingException( "There are zero annotations! (or possibly a problem with integer overflow)" ); + if( _annotationKeys == null ) { + numAnnotations = 0; + meanVector = null; + varianceVector = null; + } else { + numAnnotations = _annotationKeys.size() + 1; // +1 for QUAL + if( numAnnotations <= 0 ) { + throw new StingException( "There are zero annotations! (or possibly a problem with integer overflow)" ); + } + meanVector = new double[numAnnotations]; + varianceVector = new double[numAnnotations]; + isNormalized = false; } - meanVector = new double[numAnnotations]; - varianceVector = new double[numAnnotations]; - isNormalized = false; annotationKeys = _annotationKeys; } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantDatum.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantDatum.java index 647ddea52..469fa90e5 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantDatum.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantDatum.java @@ -35,5 +35,6 @@ public class VariantDatum { public double[] annotations; public boolean isTransition; public boolean isKnown; + public boolean isTrueVariant; public double qual; } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantGaussianMixtureModel.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantGaussianMixtureModel.java index 7bba9b5d2..79d487db4 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantGaussianMixtureModel.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantGaussianMixtureModel.java @@ -282,6 +282,7 @@ public final class VariantGaussianMixtureModel extends VariantOptimizationModel outputFile.println(-1); } } + outputFile.close(); } catch (Exception e) { e.printStackTrace(); System.exit(-1); @@ -384,6 +385,8 @@ public final class VariantGaussianMixtureModel extends VariantOptimizationModel ( numKnownTi ==0 || numKnownTv == 0 ? "NaN" : ( ((double)numKnownTi) / ((double)numKnownTv) ) ) + "," + ( numNovelTi ==0 || numNovelTv == 0 ? "NaN" : ( ((double)numNovelTi) / ((double)numNovelTv) ))); } + + outputFile.close(); } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantOptimizer.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantOptimizer.java index c3ba6bdb4..569914451 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantOptimizer.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantoptimizer/VariantOptimizer.java @@ -51,7 +51,7 @@ public class VariantOptimizer extends RodWalker ///////////////////////////// // Command Line Arguments ///////////////////////////// - @Argument(fullName="target_titv", shortName="titv", doc="The target Ti/Tv ratio towards which to optimize. (~~2.2 for whole genome experiments)", required=true) + @Argument(fullName="target_titv", shortName="titv", doc="The target Ti/Tv ratio towards which to optimize. (~~2.1 for whole genome experiments)", required=true) private double TARGET_TITV = 2.1; @Argument(fullName="ignore_input_filters", shortName="ignoreFilters", doc="If specified the optimizer will use variants even if the FILTER column is marked in the VCF file", required=false) private boolean IGNORE_INPUT_FILTERS = false;