From f448a263e982e30d85dbc1bf180e58728b9949aa Mon Sep 17 00:00:00 2001 From: ebanks Date: Mon, 21 Dec 2009 21:01:55 +0000 Subject: [PATCH] The cleaner now cleans duplicate reads (instead of ignoring them) - although it doesn't include them for scoring ref or alt consenses git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2424 348d0f76-0448-11de-a6fe-93d51630548a --- .../gatk/walkers/indels/IntervalCleanerWalker.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/indels/IntervalCleanerWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/indels/IntervalCleanerWalker.java index 6006e664b..0897fead3 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/indels/IntervalCleanerWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/indels/IntervalCleanerWalker.java @@ -111,8 +111,7 @@ public class IntervalCleanerWalker extends LocusWindowWalker for ( SAMRecord read : reads ) { if ( !read.getReadUnmappedFlag() && !read.getNotPrimaryAlignmentFlag() && - !read.getDuplicateReadFlag() && - read.getMappingQuality() != 0 && + read.getMappingQuality() != 0 && read.getAlignmentStart() != SAMRecord.NO_ALIGNMENT_START && (allow454 || !Utils.is454Read(read)) ) goodReads.add(read); @@ -121,9 +120,6 @@ public class IntervalCleanerWalker extends LocusWindowWalker } clean(goodReads, ref, loc); - //bruteForceClean(goodReads, ref, context.getLocation().getStart()); - //testCleanWithDeletion(); - //testCleanWithInsertion(); if ( writer != null ) { // Although we can guarantee that reads will be emitted in order WITHIN an interval @@ -257,7 +253,8 @@ public class IntervalCleanerWalker extends LocusWindowWalker // if this doesn't match perfectly to the reference, let's try to clean it if ( mismatchScore > 0 ) { altReads.add(aRead); - totalMismatchSum += mismatchScore; + if ( !read.getDuplicateReadFlag() ) + totalMismatchSum += mismatchScore; aRead.setMismatchScoreToReference(mismatchScore); // if it has an indel, let's see if that's the best consensus if ( numBlocks == 2 ) @@ -325,7 +322,8 @@ public class IntervalCleanerWalker extends LocusWindowWalker consensus.readIndexes.add(new Pair(j, altAlignment.first)); //logger.debug(consensus.str + " vs. " + toTest.getRead().getReadString() + " => " + myScore + " - " + altAlignment.first); - consensus.mismatchSum += myScore; + if ( !toTest.getRead().getDuplicateReadFlag() ) + consensus.mismatchSum += myScore; } //logger.debug(consensus.str + " " + consensus.mismatchSum);