X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fapi%2Finternal%2FBamMultiReader_p.cpp;h=55ae61589f14db98e42868a5b2683a57862025a2;hb=8b4c010999a8d0c482d84bbf17c98dc4bbae02b7;hp=076f1bba9ac7e5a9e70d79a8e488f87e8f4fe2c2;hpb=9f1ce8c47aeadb6dc1320b52ee671c3341b97935;p=bamtools.git diff --git a/src/api/internal/BamMultiReader_p.cpp b/src/api/internal/BamMultiReader_p.cpp index 076f1bb..55ae615 100644 --- a/src/api/internal/BamMultiReader_p.cpp +++ b/src/api/internal/BamMultiReader_p.cpp @@ -2,7 +2,7 @@ // BamMultiReader_p.cpp (c) 2010 Derek Barnett, Erik Garrison // Marth Lab, Department of Biology, Boston College // --------------------------------------------------------------------------- -// Last modified: 10 October 2011 (DB) +// Last modified: 14 October 2011 (DB) // --------------------------------------------------------------------------- // Functionality for simultaneously reading multiple BAM files // ************************************************************************* @@ -568,6 +568,10 @@ bool BamMultiReaderPrivate::PopNextCachedAlignment(BamAlignment& al, const bool // returns BAM file pointers to beginning of alignment data & resets alignment cache bool BamMultiReaderPrivate::Rewind(void) { + // skip if no readers open + if ( m_readers.empty() ) + return true; + // attempt to rewind files if ( !RewindReaders() ) { const string currentError = m_errorString; @@ -623,22 +627,6 @@ void BamMultiReaderPrivate::SetErrorString(const string& where, const string& wh m_errorString = where + SEPARATOR + what; } -// sets the index caching mode on the readers -void BamMultiReaderPrivate::SetIndexCacheMode(const BamIndex::IndexCacheMode mode) { - - // iterate over readers - vector::iterator readerIter = m_readers.begin(); - vector::iterator readerEnd = m_readers.end(); - for ( ; readerIter != readerEnd; ++readerIter ) { - MergeItem& item = (*readerIter); - BamReader* reader = item.Reader; - if ( reader == 0 ) continue; - - // set reader's index cache mode - reader->SetIndexCacheMode(mode); - } -} - bool BamMultiReaderPrivate::SetRegion(const BamRegion& region) { // NB: While it may make sense to track readers in which we can