diff --git a/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileup.java b/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileup.java index d9a4eeffa..aac4bd449 100755 --- a/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileup.java +++ b/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileup.java @@ -130,16 +130,14 @@ public class ReadBackedPileup implements Iterable { */ public ReadBackedPileup getPileupWithoutDeletions() { if ( getNumberOfDeletions() > 0 ) { - List newReads = new ArrayList(); - List newOffsets = new ArrayList(); + ArrayList filteredPileup = new ArrayList(); for ( PileupElement p : pileup ) { if ( !p.isDeletion() ) { - newReads.add(p.getRead()); - newOffsets.add(p.getOffset()); + filteredPileup.add(p); } } - return new ReadBackedPileup(loc, newReads, newOffsets); + return new ReadBackedPileup(loc, filteredPileup); } else { return this; } @@ -153,19 +151,15 @@ public class ReadBackedPileup implements Iterable { * @return */ public ReadBackedPileup getPileupWithoutMappingQualityZeroReads() { - // todo -- eric, this can be more efficient, FYI if ( getNumberOfMappingQualityZeroReads() > 0 ) { - List newReads = new ArrayList(); - List newOffsets = new ArrayList(); - + ArrayList filteredPileup = new ArrayList(); for ( PileupElement p : pileup ) { if ( p.getRead().getMappingQuality() > 0 ) { - newReads.add(p.getRead()); - newOffsets.add(p.getOffset()); + filteredPileup.add(p); } } - return new ReadBackedPileup(loc, newReads, newOffsets); + return new ReadBackedPileup(loc, filteredPileup); } else { return this; }