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 +}