diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseTransitionTableCalculatorJavaWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseTransitionTableCalculatorJavaWalker.java index 593041fc2..a619109c6 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseTransitionTableCalculatorJavaWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BaseTransitionTableCalculatorJavaWalker.java @@ -31,7 +31,7 @@ public class BaseTransitionTableCalculatorJavaWalker extends LocusWalker 0 ) { - for ( int i = offset; i < offset + nPreviousBases; i ++ ) { + // System.out.println("readWindowContainsNonBaseCharacters"); + if ( ! isNegative ) { + for ( int i = offset; i <= offset + nPreviousBases; i ++ ) { char base = Character.toUpperCase(convertIUPACByteToChar(bases[i])); + // System.out.println(base); if ( ! ( base == 'A' || base == 'G' || base == 'C' || base == 'T') ) { return true; } } return false; } else { - for ( int i = offset; i > offset - nPreviousBases; i -- ) { + for ( int i = offset; i >= offset - nPreviousBases; i -- ) { char base = Character.toUpperCase(convertIUPACByteToChar(bases[i])); + // System.out.println(base); if ( ! ( base == 'A' || base == 'G' || base == 'C' || base == 'T') ) { return true; } @@ -236,6 +238,7 @@ class BaseTransitionTable { } else { context = context + bases[1]; } + System.out.println(context); confusionTable[strHash.hash(context)][strHash.hash(bases[0])] ++; } @@ -290,7 +293,7 @@ class BaseStringHash { } public int maxHash() { - return (int) Math.round(Math.pow(4,stringLength)); + return hashSize()-1; } public int hashSize() { @@ -317,10 +320,11 @@ class BaseStringHash { } public int recursiveHash( String s, int offset ) { + // System.out.println(s+"\t"+offset); if ( offset == s.length() ) { return 0; } else { - return (int) Math.round(hash(s.charAt(offset))*Math.pow(4,s.length()-offset)) + recursiveHash(s, offset+1); + return (int) Math.round(hash(s.charAt(offset))*Math.pow(4,s.length()-offset-1)) + recursiveHash(s, offset+1); } }