From b83c8319c7ed47fd15034f21a80fdca0239b9fcc Mon Sep 17 00:00:00 2001 From: depristo Date: Fri, 20 Mar 2009 00:07:06 +0000 Subject: [PATCH] Crushed subtle and potentially insidous bug in seeking within the fasta; a beer for anyone who can tell me the situation where this might arise... git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@106 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/gatk/iterators/ReferenceIterator.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/java/src/org/broadinstitute/sting/gatk/iterators/ReferenceIterator.java b/core/java/src/org/broadinstitute/sting/gatk/iterators/ReferenceIterator.java index e116117bb..3f4e0902d 100755 --- a/core/java/src/org/broadinstitute/sting/gatk/iterators/ReferenceIterator.java +++ b/core/java/src/org/broadinstitute/sting/gatk/iterators/ReferenceIterator.java @@ -35,7 +35,12 @@ public class ReferenceIterator implements Iterator { // // -------------------------------------------------------------------------------------------------------------- public byte getBaseAsByte() { return currentContig.getBases()[(int)offset]; } - public String getBaseAsString() { return StringUtil.bytesToString(currentContig.getBases(), (int)offset, 1); } + public String getBaseAsString() { + assert offset > -1 : currentContig.getName() + " index is " + offset; + //assert offset < currentContig.getBases().(); + + return StringUtil.bytesToString(currentContig.getBases(), (int)offset, 1); + } public char getBaseAsChar() { return getBaseAsString().charAt(0); } public ReferenceSequence getCurrentContig() { return currentContig; } public long getPosition() { return offset + 1; } @@ -142,7 +147,7 @@ public class ReferenceIterator implements Iterator { } else if ( GenomeLoc.compareContigs( nextContig.getName(), contigName ) == 0 ) { swapNextContig(); - return seekForward(contigName, seekOffset); + return seekForwardOffset(contigName, seekOffset); } } }