From fc7fab5f3b0798671d10b3371c87e62eb50c0ffe Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Thu, 29 Nov 2012 22:10:25 -0500 Subject: [PATCH] Fixed ReadBackedPileup downsampling Downsampling in the PerSampleReadBackedPileup was broken, it didn't downsample anything, always returning a copy the original pileup. --- .../utils/pileup/AbstractReadBackedPileup.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/AbstractReadBackedPileup.java b/public/java/src/org/broadinstitute/sting/utils/pileup/AbstractReadBackedPileup.java index 42938d2a6..25f0bfa6d 100644 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/AbstractReadBackedPileup.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/AbstractReadBackedPileup.java @@ -652,23 +652,19 @@ public abstract class AbstractReadBackedPileup tracker = (PerSamplePileupElementTracker) pileupElementTracker; PerSamplePileupElementTracker filteredTracker = new PerSamplePileupElementTracker(); - int current = 0; for (final String sample : tracker.getSamples()) { PileupElementTracker perSampleElements = tracker.getElements(sample); - List filteredPileup = new ArrayList(); - for (PileupElement p : perSampleElements) { + int current = 0; + UnifiedPileupElementTracker filteredPileup = new UnifiedPileupElementTracker(); + for (PE p : perSampleElements) { if (positions.contains(current)) filteredPileup.add(p); - } + current++; - if (!filteredPileup.isEmpty()) { - AbstractReadBackedPileup pileup = createNewPileup(loc, perSampleElements); - filteredTracker.addElements(sample, pileup.pileupElementTracker); } - - current++; + filteredTracker.addElements(sample, filteredPileup); } return (RBP) createNewPileup(loc, filteredTracker);