From dbee21a50ffa0dd798cc047bfea2583a36338f0a Mon Sep 17 00:00:00 2001 From: hanna Date: Wed, 9 Jun 2010 18:47:05 +0000 Subject: [PATCH] Bugfixes for the case when no read groups / no samples are available. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3523 348d0f76-0448-11de-a6fe-93d51630548a --- .../gatk/iterators/DownsamplingLocusIteratorByState.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/iterators/DownsamplingLocusIteratorByState.java b/java/src/org/broadinstitute/sting/gatk/iterators/DownsamplingLocusIteratorByState.java index 949ef8cf0..3a3959fd0 100755 --- a/java/src/org/broadinstitute/sting/gatk/iterators/DownsamplingLocusIteratorByState.java +++ b/java/src/org/broadinstitute/sting/gatk/iterators/DownsamplingLocusIteratorByState.java @@ -279,7 +279,7 @@ public class DownsamplingLocusIteratorByState extends LocusIterator { public DownsamplingLocusIteratorByState(final Iterator samIterator, Reads readInformation, List filters ) { // Aggregate all sample names. // TODO: Push in header via constructor - if(GenomeAnalysisEngine.instance.getDataSource() != null) + if(GenomeAnalysisEngine.instance != null && GenomeAnalysisEngine.instance.getDataSource() != null) sampleNames.addAll(SampleUtils.getSAMFileSamples(GenomeAnalysisEngine.instance.getSAMFileHeader())); readStates = new ReadStateManager(samIterator,readInformation.getDownsamplingMethod(),readInformation.getMaxReadsAtLocus(),sampleNames); this.readInfo = readInformation; @@ -657,7 +657,8 @@ public class DownsamplingLocusIteratorByState extends LocusIterator { int firstAlignmentStart = iterator.peek().getAlignmentStart(); while(iterator.hasNext() && iterator.peek().getReferenceIndex() == firstContigIndex && iterator.peek().getAlignmentStart() == firstAlignmentStart) { SAMRecord read = iterator.next(); - getAggregator(read.getReadGroup().getSample()).add(read); + Collection aggregator = getAggregator(read.getReadGroup()!=null ? read.getReadGroup().getSample() : null); + aggregator.add(read); } } else { @@ -667,7 +668,8 @@ public class DownsamplingLocusIteratorByState extends LocusIterator { while (iterator.hasNext() && !readIsPastCurrentPosition(iterator.peek())) { SAMRecord read = iterator.next(); - getAggregator(read.getReadGroup().getSample()).add(read); + Collection aggregator = getAggregator(read.getReadGroup()!=null ? read.getReadGroup().getSample() : null); + aggregator.add(read); } }