From 096f0dbc68915953bbb18eee0dbc09117c9f97da Mon Sep 17 00:00:00 2001 From: jmaguire Date: Sun, 22 Mar 2009 16:47:29 +0000 Subject: [PATCH] don't run off the end of the list of loci. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@134 348d0f76-0448-11de-a6fe-93d51630548a --- .../src/org/broadinstitute/sting/gatk/TraversalEngine.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/java/src/org/broadinstitute/sting/gatk/TraversalEngine.java b/core/java/src/org/broadinstitute/sting/gatk/TraversalEngine.java index 3a6f2085a..6f6521cc8 100755 --- a/core/java/src/org/broadinstitute/sting/gatk/TraversalEngine.java +++ b/core/java/src/org/broadinstitute/sting/gatk/TraversalEngine.java @@ -560,7 +560,7 @@ public class TraversalEngine { //System.out.format("DEBUG Seeking from %s to %s\n", locus.getLocation().toString(), this.locs[current_interval_index].toString()); - while ((!locus.getLocation().overlapsP(this.locs[current_interval_index])) && (iter.hasNext())) + while ((this.locs.length > current_interval_index) && (!locus.getLocation().overlapsP(this.locs[current_interval_index])) && (iter.hasNext())) { switch (locus.getLocation().compareTo(this.locs[current_interval_index])) { @@ -573,10 +573,12 @@ public class TraversalEngine { case 1 : current_interval_index += 1; current_interval_offset = 0; + if (this.locs.length <= current_interval_index) { done = true; break; } //System.out.format("DEBUG Giving up on old locus, Seeking from %s to %s\n", locus.getLocation().toString(), this.locs[current_interval_index].toString()); break; } } + if (this.locs.length <= current_interval_index) { done = true; break; } //System.out.format("DEBUG Got there.\n"); }