From c7864c7256c4d281bec6c25f292357be945263eb Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Thu, 6 Oct 2011 18:51:40 -0700 Subject: [PATCH] Filter application order is now deterministic, in the order defined by the walker -- For no apparent reason we were using a HashSet to store the ReadFilters, so the order of operations was really arbitrarily applied. The order now is (1) the order of the walker intrinsic filters (2) read group black list (if provided) (3) command line filters (if provided) --- .../broadinstitute/sting/gatk/GenomeAnalysisEngine.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java b/public/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java index a35cd3690..7bc3daa9a 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java +++ b/public/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java @@ -257,13 +257,12 @@ public class GenomeAnalysisEngine { * @return A collection of available filters. */ public Collection createFilters() { - Set filters = new HashSet(); - filters.addAll(WalkerManager.getReadFilters(walker,this.getFilterManager())); + final List filters = WalkerManager.getReadFilters(walker,this.getFilterManager()); if (this.getArguments().readGroupBlackList != null && this.getArguments().readGroupBlackList.size() > 0) filters.add(new ReadGroupBlackListFilter(this.getArguments().readGroupBlackList)); - for(String filterName: this.getArguments().readFilters) + for(final String filterName: this.getArguments().readFilters) filters.add(this.getFilterManager().createByName(filterName)); - return Collections.unmodifiableSet(filters); + return Collections.unmodifiableList(filters); } /**