From 6cd97b78abe0253dcc9aee7d43b7007aa202f440 Mon Sep 17 00:00:00 2001 From: hanna Date: Sun, 21 Mar 2010 23:31:45 +0000 Subject: [PATCH] An additional safety check to ensure that we only walk over coordinate-sorted data when doing locus traversals. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3053 348d0f76-0448-11de-a6fe-93d51630548a --- .../org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java b/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java index b8ee04481..6cbcaa5b5 100755 --- a/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java +++ b/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java @@ -667,8 +667,11 @@ public class GenomeAnalysisEngine { throw new StingException("The GATK cannot currently process unindexed BAM files"); Shard.ShardType shardType; - if(walker instanceof LocusWalker) + if(walker instanceof LocusWalker) { + if(readsDataSource != null && readsDataSource.getSortOrder() != SAMFileHeader.SortOrder.coordinate) + Utils.scareUser("Locus walkers can only walk over coordinate-sorted data. Please resort your input BAM file."); shardType = Shard.ShardType.LOCUS; + } else if(walker instanceof ReadWalker || walker instanceof DuplicateWalker || walker instanceof ReadPairWalker) shardType = Shard.ShardType.READ; else