X-Git-Url: https://git.donarmstrong.com/?p=bamtools.git;a=blobdiff_plain;f=src%2Fapi%2Finternal%2Findex%2FBamStandardIndex_p.cpp;h=2606a98db53b74fab3b3cadae0a765e033ccd75a;hp=dcdec8d2ab753b749522774a98eb1b41e7eb883b;hb=6111130f6d7b1ae06ac25178f8dc5006f0754cfc;hpb=6708a21b48a6021b10a544ef4fecef5f1aa0dd1d diff --git a/src/api/internal/index/BamStandardIndex_p.cpp b/src/api/internal/index/BamStandardIndex_p.cpp index dcdec8d..2606a98 100644 --- a/src/api/internal/index/BamStandardIndex_p.cpp +++ b/src/api/internal/index/BamStandardIndex_p.cpp @@ -2,7 +2,7 @@ // BamStandardIndex.cpp (c) 2010 Derek Barnett // Marth Lab, Department of Biology, Boston College // --------------------------------------------------------------------------- -// Last modified: 10 November 2011 (DB) +// Last modified: 25 May 2012 (DB) // --------------------------------------------------------------------------- // Provides index operations for the standardized BAM index format (".bai") // *************************************************************************** @@ -389,17 +389,17 @@ bool BamStandardIndex::Create(void) { } // after finishing alignments, if any data was read, check: - if ( currentRefID >= 0 ) { + if ( lastOffset != currentOffset ) { // store last alignment chunk to its bin, then write last reference entry with data SaveAlignmentChunkToBin(refEntry.Bins, currentBin, currentOffset, lastOffset); WriteReferenceEntry(refEntry); + } - // then write any empty references remaining at end of file - for ( int i = currentRefID+1; i < numReferences; ++i ) { - BaiReferenceEntry emptyEntry(i); - WriteReferenceEntry(emptyEntry); - } + // then write any empty references remaining at end of file + for ( int i = currentRefID+1; i < numReferences; ++i ) { + BaiReferenceEntry emptyEntry(i); + WriteReferenceEntry(emptyEntry); } } catch ( BamException& e) {