From 943876c6ebe955f214f760e40e6afffa58e2a01f Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Sun, 28 Aug 2011 19:25:35 -0400 Subject: [PATCH] Added QUAL/MINVAR parameters to the walker --- .../broadinstitute/sting/utils/sam/ReadUtils.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 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 4a7cec2fd..7d02c8d3b 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java @@ -674,11 +674,14 @@ public class ReadUtils { public static int getRefCoordSoftUnclippedEnd(SAMRecord read) { int stop = read.getUnclippedStart(); int shift = 0; - for (CigarElement cigarElement : read.getCigar().getCigarElements()) - if (cigarElement.getOperator().consumesReferenceBases() || cigarElement.getOperator() == CigarOperator.SOFT_CLIP) - shift += cigarElement.getLength(); - - return (shift == 0) ? stop : stop+shift-1; + CigarOperator lastOperator = null; + for (CigarElement cigarElement : read.getCigar().getCigarElements()) { + stop += shift; + lastOperator = cigarElement.getOperator(); + if (cigarElement.getOperator().consumesReferenceBases() || cigarElement.getOperator() == CigarOperator.SOFT_CLIP || cigarElement.getOperator() == CigarOperator.HARD_CLIP) + shift = cigarElement.getLength(); + } + return (lastOperator == CigarOperator.HARD_CLIP) ? stop-1 : stop+shift-1 ; } /**