From 45eeefbb80f13303b9036837321fcc8a415cf20d Mon Sep 17 00:00:00 2001 From: ebanks Date: Fri, 5 Jun 2009 02:55:53 +0000 Subject: [PATCH] Deal with randomly occurring unmapped reads git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@906 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/gatk/traversals/TraverseByLocusWindows.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseByLocusWindows.java b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseByLocusWindows.java index 5b91f48b3..ed74dd9cd 100755 --- a/java/src/org/broadinstitute/sting/gatk/traversals/TraverseByLocusWindows.java +++ b/java/src/org/broadinstitute/sting/gatk/traversals/TraverseByLocusWindows.java @@ -120,8 +120,14 @@ public class TraverseByLocusWindows extends TraversalEngine { TraversalStatistics.nRecords++; SAMRecord read = readIter.next(); - // if there are no locations or we're past the last one or it's unmapped, then act on the read separately - if ( currentInterval == null || read.getReadUnmappedFlag() ) { + // apparently, unmapped reads can occur anywhere in the file! + if ( read.getReadUnmappedFlag() ) { + walker.nonIntervalReadAction(read); + continue; + } + + // if there are no locations or we're past the last one, then act on the read separately + if ( currentInterval == null ) { if ( nextLociToCarry.size() > 0 ) { sum = carryWalkerOverInterval(walker, sum, nextLociToCarry.get(0)); for (int i=1; i < nextLociToCarry.size(); i++)