From e5e65ecfbe5c4084c5434ae146eb2010719aee7a Mon Sep 17 00:00:00 2001 From: chartl Date: Tue, 1 Feb 2011 06:40:42 +0000 Subject: [PATCH] Bugfix for GetSatisfaction: ensure that the two statistics objects (the map, and the pair) are actually pointers to the very same object. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5156 348d0f76-0448-11de-a6fe-93d51630548a --- .../walkers/coverage/DepthOfCoverageWalker.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverageWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverageWalker.java index d35eaea2c..91ae81cd5 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverageWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverageWalker.java @@ -363,17 +363,22 @@ public class DepthOfCoverageWalker extends LocusWalker> statsByTarget) { + logger.debug("statsByTarget size is "+Integer.toString(statsByTarget.size())); + logger.debug("Initializing refseq..."); LocationAwareSeekableRODIterator refseqIterator = initializeRefSeq(); + logger.debug("Refseq init done."); List> statsByGene = new ArrayList>();// maintains order Map geneNamesToStats = new HashMap(); // allows indirect updating of objects in list for ( Pair targetStats : statsByTarget ) { String gene = getGeneName(targetStats.first,refseqIterator); if ( geneNamesToStats.keySet().contains(gene) ) { + logger.debug("Merging "+geneNamesToStats.get(gene).toString()+" and "+targetStats.second.getCoverageByAggregationType(DoCOutputType.Partition.sample).toString()); geneNamesToStats.get(gene).merge(targetStats.second.getCoverageByAggregationType(DoCOutputType.Partition.sample)); } else { - geneNamesToStats.put(gene,new DepthOfCoverageStats(targetStats.second.getCoverageByAggregationType(DoCOutputType.Partition.sample))); - statsByGene.add(new Pair(gene,new DepthOfCoverageStats(targetStats.second.getCoverageByAggregationType(DoCOutputType.Partition.sample)))); + DepthOfCoverageStats merger = new DepthOfCoverageStats(targetStats.second.getCoverageByAggregationType(DoCOutputType.Partition.sample)); + geneNamesToStats.put(gene,merger); + statsByGene.add(new Pair(gene,merger)); } } @@ -386,15 +391,19 @@ public class DepthOfCoverageWalker extends LocusWalker