From 9df58314abf3309b0969f13375ad4c421ed69e16 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 1 Jul 2013 21:09:48 -0400 Subject: [PATCH] Bugfix for counting of applied filters -- Because LocusWalkers have multiple filtering streams, each counting filtering independent, and the close() function set calling setFilter on the global result, not on the private counter, which is incorporated into the global (thereby incrementing the counts of each filter). -- [delivers #52667213] --- .../sting/gatk/filters/CountingFilteringIterator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/CountingFilteringIterator.java b/public/java/src/org/broadinstitute/sting/gatk/filters/CountingFilteringIterator.java index 1942fc19a..37f919417 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/CountingFilteringIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/CountingFilteringIterator.java @@ -115,10 +115,10 @@ public class CountingFilteringIterator implements CloseableIterator { public void close() { CloserUtil.close(iterator); + for ( final CountingReadFilter filter : filters ) + privateRuntimeMetrics.setFilterCount(filter.readFilter.getClass().getSimpleName(), filter.counter); // update the global metrics with all the data we collected here globalRuntimeMetrics.incrementMetrics(privateRuntimeMetrics); - for ( final CountingReadFilter filter : filters ) - globalRuntimeMetrics.setFilterCount(filter.readFilter.getClass().getSimpleName(), filter.counter); } /**