diff --git a/java/src/org/broadinstitute/sting/gatk/contexts/VariantContext.java b/java/src/org/broadinstitute/sting/gatk/contexts/VariantContext.java index c2ac37d00..63b87a0ee 100755 --- a/java/src/org/broadinstitute/sting/gatk/contexts/VariantContext.java +++ b/java/src/org/broadinstitute/sting/gatk/contexts/VariantContext.java @@ -50,7 +50,6 @@ public class VariantContext { public RefMetaDataTracker getTracker() { return tracker; } public ReferenceContext getReferenceContext() { return ref; } public rodVariants getVariant() { return variant; } - public AlignmentContext getAlignmentContext() { return getAlignmentContext(false); } public AlignmentContext getAlignmentContext(boolean useMQ0Reads) { return (useMQ0Reads ? context : getQ0freeContext()); } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFBinomialStrand.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFBinomialStrand.java index edaf8b250..65fecd298 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFBinomialStrand.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFBinomialStrand.java @@ -22,8 +22,8 @@ public class IVFBinomialStrand implements IndependentVariantFeature { VariantContext context = contextWindow.getContext(); likelihoods = new double[10]; - ReadBackedPileup pileup = new ReadBackedPileup(context.getReferenceContext().getBase(), context.getAlignmentContext()); - List reads = context.getAlignmentContext().getReads(); + ReadBackedPileup pileup = new ReadBackedPileup(context.getReferenceContext().getBase(), context.getAlignmentContext(useZeroQualityReads())); + List reads = context.getAlignmentContext(useZeroQualityReads()).getReads(); String bases = pileup.getBases(); for (int genotypeIndex = 0; genotypeIndex < Genotype.values().length; genotypeIndex++) { @@ -59,4 +59,6 @@ public class IVFBinomialStrand implements IndependentVariantFeature { public String getStudyInfo() { return ""; } + + public boolean useZeroQualityReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFPrimaryBases.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFPrimaryBases.java index 68a01310e..8d89bb919 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFPrimaryBases.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFPrimaryBases.java @@ -36,7 +36,7 @@ public class IVFPrimaryBases implements IndependentVariantFeature { VariantContext context = contextWindow.getContext(); likelihoods = new double[10]; - ReadBackedPileup pileup = new ReadBackedPileup(context.getReferenceContext().getBase(), context.getAlignmentContext()); + ReadBackedPileup pileup = new ReadBackedPileup(context.getReferenceContext().getBase(), context.getAlignmentContext(useZeroQualityReads())); String primaryBases = pileup.getBases(); for (int genotypeIndex = 0; genotypeIndex < Genotype.values().length; genotypeIndex++) { @@ -77,4 +77,6 @@ public class IVFPrimaryBases implements IndependentVariantFeature { public String getStudyInfo() { return ""; } + + public boolean useZeroQualityReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFSecondaryBases.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFSecondaryBases.java index 3c1602025..3ffaa5f77 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFSecondaryBases.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IVFSecondaryBases.java @@ -63,7 +63,7 @@ public class IVFSecondaryBases implements IndependentVariantFeature { VariantContext context = contextWindow.getContext(); likelihoods = new double[10]; - ReadBackedPileup pileup = new ReadBackedPileup(context.getReferenceContext().getBase(), context.getAlignmentContext()); + ReadBackedPileup pileup = new ReadBackedPileup(context.getReferenceContext().getBase(), context.getAlignmentContext(useZeroQualityReads())); String primaryBases = pileup.getBases(); String secondaryBases = pileup.getSecondaryBasePileup(); @@ -124,4 +124,6 @@ public class IVFSecondaryBases implements IndependentVariantFeature { public String getStudyInfo() { return ""; } + + public boolean useZeroQualityReads() { return false; } } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IndependentVariantFeature.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IndependentVariantFeature.java index 75e5b7249..82919e081 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IndependentVariantFeature.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/IndependentVariantFeature.java @@ -30,4 +30,6 @@ public interface IndependentVariantFeature { public String getStudyHeader(); public String getStudyInfo(); + + public boolean useZeroQualityReads(); } \ No newline at end of file diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECClusteredSnps.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECClusteredSnps.java index ca4c31f9c..6e53c9a84 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECClusteredSnps.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECClusteredSnps.java @@ -31,8 +31,8 @@ public class VECClusteredSnps implements VariantExclusionCriterion { if ( variants[i] == null || variants[i+snpThreshold-1] == null ) continue; - GenomeLoc left = variants[i].getAlignmentContext().getLocation(); - GenomeLoc right = variants[i+snpThreshold-1].getAlignmentContext().getLocation(); + GenomeLoc left = variants[i].getAlignmentContext(useZeroQualityReads()).getLocation(); + GenomeLoc right = variants[i+snpThreshold-1].getAlignmentContext(useZeroQualityReads()).getLocation(); if ( left.getContigIndex() == right.getContigIndex() ) { distance = Math.abs(right.getStart() - left.getStart()); if ( distance <= window ) { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECDepthOfCoverage.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECDepthOfCoverage.java index 6f5e598f4..551f1ce27 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECDepthOfCoverage.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECDepthOfCoverage.java @@ -24,7 +24,7 @@ public class VECDepthOfCoverage implements VariantExclusionCriterion { public void compute(VariantContextWindow contextWindow) { VariantContext context = contextWindow.getContext(); - depth = context.getAlignmentContext().getReads().size(); + depth = context.getAlignmentContext(useZeroQualityReads()).getReads().size(); exclude = depth > maximum; } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECFisherStrand.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECFisherStrand.java index 587d6cc98..a9a2dfc71 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECFisherStrand.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECFisherStrand.java @@ -30,7 +30,7 @@ public class VECFisherStrand implements VariantExclusionCriterion { int allele2 = BaseUtils.simpleBaseToBaseIndex(variant.getBestGenotype().charAt(1)); if (allele1 != allele2) { - exclude = strandTest(context.getReferenceContext().getBase(), context.getAlignmentContext(), allele1, allele2, pvalueLimit, null); + exclude = strandTest(context.getReferenceContext().getBase(), context.getAlignmentContext(useZeroQualityReads()), allele1, allele2, pvalueLimit, null); } else { exclude = false; } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECHomopolymer.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECHomopolymer.java index bf4afee99..6f025b3a7 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECHomopolymer.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECHomopolymer.java @@ -56,7 +56,7 @@ public class VECHomopolymer implements VariantExclusionCriterion { public void compute(VariantContextWindow contextWindow) { VariantContext context = contextWindow.getContext(); - AlignmentContext alignmentContext = context.getAlignmentContext(); + AlignmentContext alignmentContext = context.getAlignmentContext(useZeroQualityReads()); char[] geno = context.getVariant().getBestGenotype().toCharArray(); int[] genotype = {-1,-1}; for (int h = 0; h < 2; h ++) { diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQuality.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQuality.java index 19d3c6a84..56179722f 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQuality.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECMappingQuality.java @@ -20,7 +20,7 @@ public class VECMappingQuality implements VariantExclusionCriterion { public void compute(VariantContextWindow contextWindow) { VariantContext context = contextWindow.getContext(); - List reads = context.getAlignmentContext().getReads(); + List reads = context.getAlignmentContext(useZeroQualityReads()).getReads(); int[] qualities = new int[reads.size()]; for (int i=0; i < reads.size(); i++) qualities[i] = reads.get(i).getMappingQuality(); diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java index 6d447ca11..1683bb088 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variants/VECOnOffGenotypeRatio.java @@ -50,7 +50,7 @@ public class VECOnOffGenotypeRatio implements VariantExclusionCriterion { // ext VariantContext context = contextWindow.getContext(); char ref = context.getReferenceContext().getBase(); - ReadBackedPileup pileup = new ReadBackedPileup(ref, context.getAlignmentContext()); + ReadBackedPileup pileup = new ReadBackedPileup(ref, context.getAlignmentContext(useZeroQualityReads())); Pair counts = scoreVariant(ref, pileup, context.getVariant()); int n = counts.first + counts.second; ratio = counts.first.doubleValue() / (double)n;