diff --git a/java/src/org/broadinstitute/sting/gatk/dataSources/simpleDataSources/SAMBAMDataSource.java b/java/src/org/broadinstitute/sting/gatk/dataSources/simpleDataSources/SAMBAMDataSource.java index 795cab75f..863edf7be 100644 --- a/java/src/org/broadinstitute/sting/gatk/dataSources/simpleDataSources/SAMBAMDataSource.java +++ b/java/src/org/broadinstitute/sting/gatk/dataSources/simpleDataSources/SAMBAMDataSource.java @@ -103,7 +103,7 @@ public class SAMBAMDataSource implements SimpleDataSource { * @return an iterator for that region */ public MergingSamRecordIterator2 seek(GenomeLoc location) { - MergingSamRecordIterator2 iter = new MergingSamRecordIterator2(this.mergeIterator); + MergingSamRecordIterator2 iter = null; // new MergingSamRecordIterator2(this.mergeIterator.getMergedHeader().); if (locusMode) { iter.query(location.getContig(), (int) location.getStart(), (int) location.getStop(), true); } else { diff --git a/java/src/org/broadinstitute/sting/gatk/iterators/BoundedReferenceIterator.java b/java/src/org/broadinstitute/sting/gatk/iterators/BoundedReferenceIterator.java index 2adb430ff..9083f14c3 100644 --- a/java/src/org/broadinstitute/sting/gatk/iterators/BoundedReferenceIterator.java +++ b/java/src/org/broadinstitute/sting/gatk/iterators/BoundedReferenceIterator.java @@ -1,6 +1,7 @@ package org.broadinstitute.sting.gatk.iterators; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.FastaSequenceFile2; import java.util.Iterator; @@ -30,7 +31,7 @@ import java.util.Iterator; *

* This class is a decorator class from Reference Iterator (though it is constrained * by the fact that referenceIterator.seekForwardOffset explicitly returns a referenceIterator - * for now + * for now). *

* TODO: Fix the underlying iterator and this class to model a real decorator pattern */ @@ -51,6 +52,16 @@ public class BoundedReferenceIterator implements Iterator { } + /** + * Create a BoundedReferenceIterator from a fasta seq and a genome loc + * @param refFile the fasta file, see the ReferenceIterator constructor + * @param loc our genome location + */ + public BoundedReferenceIterator(FastaSequenceFile2 refFile, GenomeLoc loc) { + this.referenceIterator = new ReferenceIterator(refFile); + this.mLoc = loc; + } + /** * isSubRegion *

diff --git a/java/src/org/broadinstitute/sting/gatk/iterators/MergingSamRecordIterator2.java b/java/src/org/broadinstitute/sting/gatk/iterators/MergingSamRecordIterator2.java index fcf467676..c3627880a 100644 --- a/java/src/org/broadinstitute/sting/gatk/iterators/MergingSamRecordIterator2.java +++ b/java/src/org/broadinstitute/sting/gatk/iterators/MergingSamRecordIterator2.java @@ -59,26 +59,6 @@ public class MergingSamRecordIterator2 implements Iterator { } } - /** - * Constructs a new merging iterator with the same set of readers and sort order as - * provided by the header merger parameter. - */ - public MergingSamRecordIterator2(MergingSamRecordIterator2 iter) { - this.samHeaderMerger = iter.samHeaderMerger; - this.sortOrder = iter.sortOrder; - initializePQ(); - - final SAMRecordComparator comparator = getComparator(); - for (final SAMFileReader reader : samHeaderMerger.getReaders()) { - if (this.sortOrder != SAMFileHeader.SortOrder.unsorted && reader.getFileHeader().getSortOrder() != this.sortOrder) { - throw new PicardException("Files are not compatible with sort order: " + this.sortOrder); - } - - final ComparableSamRecordIterator iterator = new ComparableSamRecordIterator(reader, comparator); - addIfNotEmpty(iterator); - } - } - protected void initializePQ() { this.pq = new PriorityQueue(samHeaderMerger.getReaders().size());