Cache header merger.
This commit is contained in:
parent
e061e236ab
commit
6fb4be1a09
|
|
@ -95,6 +95,11 @@ public class SAMDataSource {
|
||||||
*/
|
*/
|
||||||
private final Map<SAMReaderID,GATKBAMFileSpan> readerPositions = new HashMap<SAMReaderID,GATKBAMFileSpan>();
|
private final Map<SAMReaderID,GATKBAMFileSpan> readerPositions = new HashMap<SAMReaderID,GATKBAMFileSpan>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cached representation of the merged header used to generate a merging iterator.
|
||||||
|
*/
|
||||||
|
private final SamFileHeaderMerger headerMerger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The merged header.
|
* The merged header.
|
||||||
*/
|
*/
|
||||||
|
|
@ -287,7 +292,7 @@ public class SAMDataSource {
|
||||||
|
|
||||||
initializeReaderPositions(readers);
|
initializeReaderPositions(readers);
|
||||||
|
|
||||||
SamFileHeaderMerger headerMerger = new SamFileHeaderMerger(SAMFileHeader.SortOrder.coordinate,readers.headers(),true);
|
headerMerger = new SamFileHeaderMerger(SAMFileHeader.SortOrder.coordinate,readers.headers(),true);
|
||||||
mergedHeader = headerMerger.getMergedHeader();
|
mergedHeader = headerMerger.getMergedHeader();
|
||||||
hasReadGroupCollisions = headerMerger.hasReadGroupCollisions();
|
hasReadGroupCollisions = headerMerger.hasReadGroupCollisions();
|
||||||
|
|
||||||
|
|
@ -535,8 +540,6 @@ public class SAMDataSource {
|
||||||
* @return An iterator over the selected data.
|
* @return An iterator over the selected data.
|
||||||
*/
|
*/
|
||||||
private StingSAMIterator getIterator(SAMReaders readers, Shard shard, boolean enableVerification) {
|
private StingSAMIterator getIterator(SAMReaders readers, Shard shard, boolean enableVerification) {
|
||||||
SamFileHeaderMerger headerMerger = new SamFileHeaderMerger(SAMFileHeader.SortOrder.coordinate,readers.headers(),true);
|
|
||||||
|
|
||||||
// Set up merging to dynamically merge together multiple BAMs.
|
// Set up merging to dynamically merge together multiple BAMs.
|
||||||
MergingSamRecordIterator mergingIterator = new MergingSamRecordIterator(headerMerger,readers.values(),true);
|
MergingSamRecordIterator mergingIterator = new MergingSamRecordIterator(headerMerger,readers.values(),true);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue