From 5b8502745a064726cc2396d6e1352ceb342280a9 Mon Sep 17 00:00:00 2001 From: kiran Date: Wed, 22 Apr 2009 00:01:37 +0000 Subject: [PATCH] Added an epsilon (1e-4) to the tertiary and quaternary base hypotheses. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@488 348d0f76-0448-11de-a6fe-93d51630548a --- .../org/broadinstitute/sting/utils/BasicPileup.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/java/src/org/broadinstitute/sting/utils/BasicPileup.java b/java/src/org/broadinstitute/sting/utils/BasicPileup.java index 4c9d9b00b..bf25bbab2 100755 --- a/java/src/org/broadinstitute/sting/utils/BasicPileup.java +++ b/java/src/org/broadinstitute/sting/utils/BasicPileup.java @@ -156,8 +156,16 @@ abstract public class BasicPileup implements Pileup { byte[] sqs = (byte[]) read.getAttribute("SQ"); if (sqs != null && QualityUtils.compressedQualityToBaseIndex(sqs[offset]) != bestBaseIndex) { + double epsilon = 1e-4; + int secondBestBaseIndex = QualityUtils.compressedQualityToBaseIndex(sqs[offset]); - dist[readIndex][secondBestBaseIndex] = (1.0 - dist[readIndex][bestBaseIndex]); + dist[readIndex][secondBestBaseIndex] = (1.0 - dist[readIndex][bestBaseIndex] - 2.0*epsilon); + + for (int baseIndex = 0; baseIndex < 4; baseIndex++) { + if (baseIndex != bestBaseIndex && baseIndex != secondBestBaseIndex) { + dist[readIndex][baseIndex] = epsilon; + } + } } else { for (int baseIndex = 0; baseIndex < 4; baseIndex++) { if (baseIndex != bestBaseIndex) {