From 01e7b39c8d8cf75ec3b70cb46f6e1a55ad61d074 Mon Sep 17 00:00:00 2001 From: ebanks Date: Mon, 14 Sep 2009 21:03:39 +0000 Subject: [PATCH] 1. Don't print out values in filter field of the VCF. 2. Fix ratio printouts (for params file) 3. Rename ratio filter's get counts method to avoid confusion; more changes on the way this week. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1616 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/gatk/walkers/filters/RatioFilter.java | 8 ++++---- .../sting/gatk/walkers/filters/VECAlleleBalance.java | 6 +++--- .../sting/gatk/walkers/filters/VECDepthOfCoverage.java | 2 +- .../sting/gatk/walkers/filters/VECFisherStrand.java | 2 +- .../sting/gatk/walkers/filters/VECLodThreshold.java | 2 +- .../sting/gatk/walkers/filters/VECMappingQuality.java | 2 +- .../sting/gatk/walkers/filters/VECMappingQualityZero.java | 2 +- .../sting/gatk/walkers/filters/VECOnOffGenotypeRatio.java | 8 ++++---- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/filters/RatioFilter.java b/java/src/org/broadinstitute/sting/gatk/walkers/filters/RatioFilter.java index 61bc820ec..7aa8a84b4 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/filters/RatioFilter.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/filters/RatioFilter.java @@ -37,7 +37,7 @@ public abstract class RatioFilter implements VariantExclusionCriterion { highThreshold = threshold; } - protected abstract Pair scoreVariant(char ref, ReadBackedPileup pileup, RodGeliText variant); + protected abstract Pair getRatioCounts(char ref, ReadBackedPileup pileup, RodGeliText variant); protected abstract boolean excludeHetsOnly(); public boolean useZeroQualityReads() { return false; } @@ -48,7 +48,7 @@ public abstract class RatioFilter implements VariantExclusionCriterion { char ref = context.getReferenceContext().getBase(); ReadBackedPileup pileup = new ReadBackedPileup(ref, context.getAlignmentContext(useZeroQualityReads())); - Pair counts = scoreVariant(ref, pileup, variant); + Pair counts = getRatioCounts(ref, pileup, variant); boolean highGenotypeConfidence = variant.getConsensusConfidence() > minGenotypeConfidenceToTest; boolean excludable = !excludeHetsOnly() || GenotypeUtils.isHet((AllelicVariant)variant); @@ -68,10 +68,10 @@ public abstract class RatioFilter implements VariantExclusionCriterion { // TODO - this whole calculation needs to be redone correctly private boolean pointEstimateExclude(Pair counts) { - if ( counts.first + counts.second < minDepthOfCoverage ) + int n = counts.first + counts.second; + if ( n < minDepthOfCoverage ) return false; - int n = counts.first + counts.second; double ratio = counts.first.doubleValue() / (double)n; return !passesThreshold(ratio); } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECAlleleBalance.java b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECAlleleBalance.java index 417aef364..40a3a3230 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECAlleleBalance.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECAlleleBalance.java @@ -31,7 +31,7 @@ public class VECAlleleBalance extends RatioFilter { * Return the count of bases matching the major (first) and minor (second) alleles as a pair. * */ - protected Pair scoreVariant(char ref, ReadBackedPileup pileup, RodGeliText variant) { + protected Pair getRatioCounts(char ref, ReadBackedPileup pileup, RodGeliText variant) { final String genotype = variant.getBestGenotype(); final String bases = pileup.getBases(); @@ -47,7 +47,7 @@ public class VECAlleleBalance extends RatioFilter { int refCount = a == ref ? aCount : bCount; int altCount = a == ref ? bCount : aCount; - ratio = (double)refCount / (double)altCount; + ratio = (double)refCount / (double)(refCount + altCount); return new Pair(refCount, altCount); } @@ -69,7 +69,7 @@ public class VECAlleleBalance extends RatioFilter { } public String getVCFFilterString() { - return "AlleleBalance" + ratio; + return "AlleleBalance"; } } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECDepthOfCoverage.java b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECDepthOfCoverage.java index 926f8827b..9e25e1337 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECDepthOfCoverage.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECDepthOfCoverage.java @@ -47,7 +47,7 @@ public class VECDepthOfCoverage implements VariantExclusionCriterion { } public String getVCFFilterString() { - return "DoC" + depth; + return "DoC"; } public boolean useZeroQualityReads() { return false; } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECFisherStrand.java b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECFisherStrand.java index 538713805..dd0b74f8d 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECFisherStrand.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECFisherStrand.java @@ -48,7 +48,7 @@ public class VECFisherStrand implements VariantExclusionCriterion { } public String getVCFFilterString() { - return "strand" + pValue; + return "strand"; } public boolean useZeroQualityReads() { return false; } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECLodThreshold.java b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECLodThreshold.java index 665451f5d..a68dea69d 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECLodThreshold.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECLodThreshold.java @@ -36,6 +36,6 @@ public class VECLodThreshold implements VariantExclusionCriterion { } public String getVCFFilterString() { - return "LOD" + lod; + return "LOD"; } } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECMappingQuality.java b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECMappingQuality.java index 22884c26c..6dae89da9 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECMappingQuality.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECMappingQuality.java @@ -42,7 +42,7 @@ public class VECMappingQuality implements VariantExclusionCriterion { } public String getVCFFilterString() { - return "MQ" + rms; + return "MQ"; } public boolean useZeroQualityReads() { return true; } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECMappingQualityZero.java b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECMappingQualityZero.java index bc011fefc..d4c4b3a64 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECMappingQualityZero.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECMappingQualityZero.java @@ -42,7 +42,7 @@ public class VECMappingQualityZero implements VariantExclusionCriterion { } public String getVCFFilterString() { - return "MQzero" + mq0Count; + return "MQzero"; } public boolean useZeroQualityReads() { return true; } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECOnOffGenotypeRatio.java b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECOnOffGenotypeRatio.java index 3a040a760..4b8b1669d 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECOnOffGenotypeRatio.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VECOnOffGenotypeRatio.java @@ -26,7 +26,7 @@ public class VECOnOffGenotypeRatio extends RatioFilter { * best genotype). On are in the first field, off in the second. * */ - protected Pair scoreVariant(char ref, ReadBackedPileup pileup, RodGeliText variant) { + protected Pair getRatioCounts(char ref, ReadBackedPileup pileup, RodGeliText variant) { final String genotype = variant.getBestGenotype().toUpperCase(); final String bases = pileup.getBases(); @@ -44,7 +44,7 @@ public class VECOnOffGenotypeRatio extends RatioFilter { //System.out.printf("count = %d, on=%d, off=%d for %c in %s%n", count, on, off, base, genotype); } - ratio = (double)on / (double)off; + ratio = (double)on / (double)(on + off); return new Pair(on, off); } @@ -65,6 +65,6 @@ public class VECOnOffGenotypeRatio extends RatioFilter { } public String getVCFFilterString() { - return "onOffGenotype" + ratio; + return "onOffGenotype"; } -} \ No newline at end of file +}