From ed8f769dce3bc12453312aa8386a4b0f7f15b53a Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Tue, 16 Aug 2011 18:54:28 -0400 Subject: [PATCH] Fixed index for getSoftUnclippedEnd() Unclipped end can be calculated simply by looking at the last cigar element and adding it's length in case it's a soft clip. --- .../org/broadinstitute/sting/utils/sam/ReadUtils.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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 b25c6c475..4704b7d8f 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java @@ -670,10 +670,11 @@ public class ReadUtils { } public static int getSoftUnclippedStop(SAMRecord read) { - int stop = getSoftUnclippedStart(read); - for (CigarElement cigarElement : read.getCigar().getCigarElements()) - if (cigarElement.getOperator().consumesReadBases()) - stop += cigarElement.getLength(); + int stop = read.getAlignmentEnd(); + List cigarElementList = read.getCigar().getCigarElements(); + CigarElement lastCigarElement = cigarElementList.get(cigarElementList.size()-1); + if (lastCigarElement.getOperator() == CigarOperator.SOFT_CLIP) + stop += lastCigarElement.getLength(); return stop; }