From f48d4cfa79cdae7bc02abf913cbd1ff3b8716786 Mon Sep 17 00:00:00 2001 From: Roger Zurawicki Date: Fri, 18 Nov 2011 00:19:59 -0500 Subject: [PATCH] Bug fix: fully clipping GATKSAMRecords and flushing ops Reads that are emptied after clipping become new GATKSAMRecords. When applying ClippingOps, the ops are cleared after the clipping --- .../broadinstitute/sting/utils/clipreads/ReadClipper.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java b/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java index 6e4ddddc4..e4806838d 100644 --- a/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java +++ b/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java @@ -121,7 +121,7 @@ public class ReadClipper { public GATKSAMRecord hardClipSoftClippedBases () { if (read.isEmpty()) - return read; + return new GATKSAMRecord(read.getHeader()); int readIndex = 0; int cutLeft = -1; // first position to hard clip (inclusive) @@ -171,6 +171,9 @@ public class ReadClipper { clippedRead = op.apply(algorithm, clippedRead); } wasClipped = true; + ops.clear(); + if ( clippedRead.isEmpty() ) + return new GATKSAMRecord( clippedRead.getHeader() ); return clippedRead; } catch (CloneNotSupportedException e) { throw new RuntimeException(e); // this should never happen