diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SpanningDeletions.java b/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SpanningDeletions.java index ae558b2ea..0df3ee4a2 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SpanningDeletions.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SpanningDeletions.java @@ -12,12 +12,8 @@ import java.util.List; public class SpanningDeletions extends StandardVariantAnnotation { public Pair annotate(ReferenceContext ref, ReadBackedPileup pileup, Variation variation, List genotypes) { - int deletions = 0; - for (Integer offset : pileup.getOffsets() ) { - if ( offset == -1 ) - deletions++; - } - return new Pair("SpanningDeletionFraction", String.format("%.2f", (double)deletions/(double)pileup.getReads().size())); + int deletions = pileup.getNumberOfDeletions(); + return new Pair("SpanningDeletionFraction", String.format("%.2f", (double)deletions/(double)pileup.size())); } public boolean useZeroQualityReads() { return false; } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/JointEstimateGenotypeCalculationModel.java b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/JointEstimateGenotypeCalculationModel.java index cb7c5abfa..eda16749b 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/JointEstimateGenotypeCalculationModel.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/JointEstimateGenotypeCalculationModel.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.pileup.*; import org.broadinstitute.sting.utils.genotype.*; import org.broadinstitute.sting.utils.genotype.Variation.VARIANT_TYPE; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -10,8 +11,6 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import java.util.*; import java.io.PrintWriter; -import net.sf.samtools.SAMRecord; - public abstract class JointEstimateGenotypeCalculationModel extends GenotypeCalculationModel { // because the null allele frequencies are constant for a given N, @@ -77,19 +76,16 @@ public abstract class JointEstimateGenotypeCalculationModel extends GenotypeCalc int[] qualCounts = new int[4]; // calculate the sum of quality scores for each base - List reads = context.getReads(); - List offsets = context.getOffsets(); - for (int i = 0; i < reads.size(); i++) { - int offset = offsets.get(i); + ReadBackedPileup pileup = context.getPileup(); + for ( PileupElement p : pileup ) { + byte base = p.getBase(); // ignore deletions - if ( offset == -1 ) + if ( base == PileupElement.DELETION_BASE ) continue; - SAMRecord read = reads.get(i); - char base = (char)read.getReadBases()[offset]; - int index = BaseUtils.simpleBaseToBaseIndex(base); + int index = BaseUtils.simpleBaseToBaseIndex((char)base); if ( index >= 0 ) - qualCounts[index] += read.getBaseQualities()[offset]; + qualCounts[index] += p.getQual(); } // set the non-ref base with maximum quality score sum