From 4086fa768fee77771fba45d6b9b0c4de000d17d0 Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Thu, 29 Sep 2011 12:18:18 -0400 Subject: [PATCH 2/7] Disabling all ReadClipperUnitTests --- .../sting/utils/clipreads/ReadClipperUnitTest.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/java/test/org/broadinstitute/sting/utils/clipreads/ReadClipperUnitTest.java b/public/java/test/org/broadinstitute/sting/utils/clipreads/ReadClipperUnitTest.java index 1415379db..d8695cf38 100644 --- a/public/java/test/org/broadinstitute/sting/utils/clipreads/ReadClipperUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/utils/clipreads/ReadClipperUnitTest.java @@ -62,7 +62,7 @@ public class ReadClipperUnitTest extends BaseTest { readClipper = new ReadClipper(read); } - @Test + @Test ( enabled = false ) public void testHardClipBothEndsByReferenceCoordinates() { logger.warn("Executing testHardClipBothEndsByReferenceCoordinates"); @@ -76,7 +76,7 @@ public class ReadClipperUnitTest extends BaseTest { } - @Test + @Test ( enabled = false ) public void testHardClipByReadCoordinates() { logger.warn("Executing testHardClipByReadCoordinates"); @@ -109,7 +109,7 @@ public class ReadClipperUnitTest extends BaseTest { } - @Test + @Test ( enabled = false ) public void testHardClipByReferenceCoordinates() { logger.warn("Executing testHardClipByReferenceCoordinates"); @@ -142,7 +142,7 @@ public class ReadClipperUnitTest extends BaseTest { } - @Test + @Test ( enabled = false ) public void testHardClipByReferenceCoordinatesLeftTail() { logger.warn("Executing testHardClipByReferenceCoordinatesLeftTail"); @@ -163,7 +163,7 @@ public class ReadClipperUnitTest extends BaseTest { } - @Test + @Test ( enabled = false ) public void testHardClipByReferenceCoordinatesRightTail() { logger.warn("Executing testHardClipByReferenceCoordinatesRightTail"); @@ -184,7 +184,7 @@ public class ReadClipperUnitTest extends BaseTest { } - @Test + @Test ( enabled = false ) public void testHardClipLowQualEnds() { logger.warn("Executing testHardClipByReferenceCoordinates"); From a5e75cd14cf7a8b6d3c4c8271302468fc5f256b4 Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Thu, 29 Sep 2011 12:54:18 -0400 Subject: [PATCH 5/7] Outputting both consensus base qualities and counts The base qualities of a consensus reads are now the average quality of the bases forming the consensus base (most common base) and the consensus quality tag now carry an array with the counts of each base in the consensus. This should increase file size but improve calling sensitivity/specificity. --- .../java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java | 1 + 1 file changed, 1 insertion(+) diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java b/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java index e0a3a5a53..fcb3089cd 100755 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java @@ -52,6 +52,7 @@ public class ReadUtils { // ---------------------------------------------------------------------------------------------------- public static final String REDUCED_READ_QUALITY_TAG = "RQ"; + public static final String REDUCED_READ_CONSENSUS_COUNTS_TAG = "CC"; public final static Integer getReducedReadQualityTagValue(final SAMRecord read) { return read.getIntegerAttribute(ReadUtils.REDUCED_READ_QUALITY_TAG); From 95082201579062be0d49a0f845177e85f6c99d71 Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Thu, 29 Sep 2011 15:36:49 -0400 Subject: [PATCH 6/7] fixed hard clipping both ends inside deletion If both ends of the interval falls within a deletion in the read then hardClipBothEnds would cut the right tail first including the entire deletion, then fail to cut the left tail because there would not be any bases there anymore. Fixed. --- .../broadinstitute/sting/utils/clipreads/ReadClipper.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 5230381c0..11a59de10 100644 --- a/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java +++ b/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java @@ -94,6 +94,12 @@ public class ReadClipper { if (left == right) return new SAMRecord(read.getHeader()); SAMRecord leftTailRead = hardClipByReferenceCoordinates(right, -1); + + // after clipping one tail, it is possible that the consequent hard clipping of adjacent deletions + // make the left cut index no longer part of the read. In that case, clip the read entirely. + if (left > leftTailRead.getAlignmentEnd()) + return new SAMRecord(read.getHeader()); + ReadClipper clipper = new ReadClipper(leftTailRead); return clipper.hardClipByReferenceCoordinatesLeftTail(left); } From cabacf028d96cd3678d41891e491aedf356473da Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Thu, 29 Sep 2011 18:45:12 -0400 Subject: [PATCH 7/7] Intermediate commit to fix interval skipping may need additional testing. --- .../java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java | 1 + 1 file changed, 1 insertion(+) diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java b/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java index fcb3089cd..3c389fd4c 100755 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java @@ -966,4 +966,5 @@ public class ReadUtils { AlignmentStartComparator comp = new AlignmentStartComparator(); return comp.compare(read1, read2); } + }