diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSClusteredZScoreWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSClusteredZScoreWalker.java index 9a7c40e60..97b1e146b 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSClusteredZScoreWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSClusteredZScoreWalker.java @@ -6,9 +6,7 @@ import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.Pair; import org.broadinstitute.sting.utils.QualityUtils; - -import java.util.List; -import java.util.LinkedList; +import org.broadinstitute.sting.playground.gatk.walkers.Recalibration.LocalMapType; import net.sf.samtools.SAMRecord; @@ -21,21 +19,24 @@ import net.sf.samtools.SAMRecord; */ public class NQSClusteredZScoreWalker extends LocusWalker { static final int WIN_SIDE_SIZE = 5; - static final int Z_SCORE_MAX = 8; - static final int Z_SCORE_MULTIPLIER = 50; // bins are Z_SCORE * (this) rounded to the nearst int + static final int Z_SCORE_MIN = -6; + static final int Z_SCORE_MAX = 6; + static final int Z_SCORE_MULTIPLIER = 20; // bins are Z_SCORE * (this) rounded to the nearst int static final int MM_OFFSET = 1; static final int MATCH_OFFSET = 0; static final int MAX_Q_SCORE = 2 + QualityUtils.MAX_REASONABLE_Q_SCORE; protected int WINDOW; + protected int Z_SCORE_RANGE; public void initialize() { WINDOW = 2*WIN_SIDE_SIZE+1; + Z_SCORE_RANGE = Z_SCORE_MAX - Z_SCORE_MIN; } public int[][][] reduceInit() { - int[][][] q = new int[Z_SCORE_MAX*Z_SCORE_MULTIPLIER+1][MAX_Q_SCORE][2]; - for ( int i = 0; i < Z_SCORE_MAX*Z_SCORE_MULTIPLIER+1; i ++ ) { + int[][][] q = new int[Z_SCORE_RANGE*Z_SCORE_MULTIPLIER+1][MAX_Q_SCORE][2]; + for ( int i = 0; i < Z_SCORE_RANGE*Z_SCORE_MULTIPLIER+1; i ++ ) { for ( int j = 0; j < MAX_Q_SCORE; j ++ ) { for ( int k = 0; k < 2; k ++ ) { q[i][j][k] = 0; @@ -67,7 +68,7 @@ public class NQSClusteredZScoreWalker extends LocusWalker meanVar = calcWindowMeanVariance(read, offset); - double rawZ = Math.abs((getQScoreAsInt(read, offset) - meanVar.first)/Math.sqrt(meanVar.second)); + double rawZ = (getQScoreAsInt(read, offset) - meanVar.first)/Math.sqrt(meanVar.second); int zBin; - if ( rawZ < Z_SCORE_MAX ) { - zBin = (int) Math.floor(rawZ*Z_SCORE_MULTIPLIER); + if ( rawZ >= Z_SCORE_MAX ) { + zBin = (int) Math.floor(Z_SCORE_RANGE*Z_SCORE_MULTIPLIER); + } else if ( rawZ <= Z_SCORE_MIN ) { + zBin = 0; + } else if ( rawZ > 0 ) { + zBin = (int) Math.floor(rawZ*Z_SCORE_MULTIPLIER) - (int) Math.floor(Z_SCORE_MIN*Z_SCORE_MULTIPLIER); } else { - zBin = Z_SCORE_MULTIPLIER*Z_SCORE_MAX; + zBin = (int) Math.floor(-Z_SCORE_MIN*Z_SCORE_MULTIPLIER) + (int) Math.floor(rawZ*Z_SCORE_MULTIPLIER); } return zBin; @@ -138,10 +143,6 @@ public class NQSClusteredZScoreWalker extends LocusWalker { +public class NQSCovariantByCountsWalker extends LocusWalker { final static int SMALL_DEVIATION = 5; final static int LARGE_DEVIATION = 8; - final static int WIN_SIZE_SIDE = 4; + final static int WIN_SIZE_SIDE = 6; final static int MATCH_OFFSET = 1; final static int MM_OFFSET = 0; final static int MAX_Q_SCORE = 2 + QualityUtils.MAX_REASONABLE_Q_SCORE; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSExtendedGroupsCovariantWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSExtendedGroupsCovariantWalker.java index c5a6236a7..b5289f28f 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSExtendedGroupsCovariantWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSExtendedGroupsCovariantWalker.java @@ -5,10 +5,7 @@ import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.QualityUtils; - -import java.util.List; - -import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.playground.gatk.walkers.Recalibration.LocalMapType; /** diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSMismatchCovariantWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSMismatchCovariantWalker.java index 9497bd3e9..5a2724b01 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSMismatchCovariantWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/Recalibration/NQSMismatchCovariantWalker.java @@ -1,5 +1,6 @@ package org.broadinstitute.sting.playground.gatk.walkers.Recalibration; +import org.broadinstitute.sting.playground.gatk.walkers.Recalibration.LocalMapType; import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; @@ -7,8 +8,6 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.utils.QualityUtils; import net.sf.samtools.SAMRecord; -import java.util.List; - /** * Created by IntelliJ IDEA. * User: chartl @@ -29,7 +28,7 @@ public class NQSMismatchCovariantWalker extends LocusWalker