From 4b94f8c21b69337c18d27335d4841e1b486b5fcc Mon Sep 17 00:00:00 2001 From: ebanks Date: Thu, 19 Aug 2010 18:40:26 +0000 Subject: [PATCH] Silly me, I forgot to check for the contig boundaries. Thank goodness for performance tests! git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4061 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/gatk/walkers/indels/IndelRealigner.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/indels/IndelRealigner.java b/java/src/org/broadinstitute/sting/gatk/walkers/indels/IndelRealigner.java index 0ec0e0e8c..b3f5ef1c1 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/indels/IndelRealigner.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/indels/IndelRealigner.java @@ -1318,7 +1318,9 @@ public class IndelRealigner extends ReadWalker { // set up the reference if we haven't done so yet if ( reference == null ) { // first, pad the reference to handle deletions in narrow windows (e.g. those with only 1 read) - loc = GenomeLocParser.createGenomeLoc(loc.getContigIndex(), loc.getStart()-REFERENCE_PADDING, loc.getStop()+REFERENCE_PADDING); + long padLeft = Math.max(loc.getStart()-REFERENCE_PADDING, 1); + long padRight = Math.min(loc.getStop()+REFERENCE_PADDING, referenceReader.getSequenceDictionary().getSequence(loc.getContig()).getSequenceLength()); + loc = GenomeLocParser.createGenomeLoc(loc.getContigIndex(), padLeft, padRight); reference = referenceReader.getSubsequenceAt(loc.getContig(), loc.getStart(), loc.getStop()).getBases(); }