From ed39af53cd11d8e360bdb8cc7c4ff383f98a80fd Mon Sep 17 00:00:00 2001 From: hanna Date: Tue, 12 Oct 2010 23:50:51 +0000 Subject: [PATCH] Fix for exception when trying to load reference segment for a read that aligns to 0 bases. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4485 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/gatk/datasources/providers/ReferenceView.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReferenceView.java b/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReferenceView.java index 385de4e5f..43d122ffb 100755 --- a/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReferenceView.java +++ b/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReferenceView.java @@ -74,8 +74,15 @@ public class ReferenceView implements View { protected byte[] getReferenceBases( GenomeLoc genomeLoc ) { SAMSequenceRecord sequenceInfo = reference.getSequenceDictionary().getSequence(genomeLoc.getContig()); + + long start = genomeLoc.getStart(); long stop = Math.min( genomeLoc.getStop(), sequenceInfo.getSequenceLength() ); - ReferenceSequence subsequence = reference.getSubsequenceAt(genomeLoc.getContig(), genomeLoc.getStart(), stop); + + // Read with no aligned bases? Return an empty array. + if(stop - start + 1 == 0) + return new byte[0]; + + ReferenceSequence subsequence = reference.getSubsequenceAt(genomeLoc.getContig(), start, stop); int overhang = (int)(genomeLoc.getStop() - stop); if ( overhang > 0 ) {