]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/internal/BamMultiReader_p.cpp
Removed some debugging 'error string' messages that snuck into last
[bamtools.git] / src / api / internal / BamMultiReader_p.cpp
index f92258ddb856839d8c68721ae0af77990a8d101a..55ae61589f14db98e42868a5b2683a57862025a2 100644 (file)
@@ -2,16 +2,16 @@
 // BamMultiReader_p.cpp (c) 2010 Derek Barnett, Erik Garrison
 // Marth Lab, Department of Biology, Boston College
 // ---------------------------------------------------------------------------
-// Last modified: 7 October 2011 (DB)
+// Last modified: 14 October 2011 (DB)
 // ---------------------------------------------------------------------------
 // Functionality for simultaneously reading multiple BAM files
 // *************************************************************************
 
-#include <api/BamAlignment.h>
-#include <api/BamMultiReader.h>
-#include <api/SamConstants.h>
-#include <api/algorithms/Sort.h>
-#include <api/internal/BamMultiReader_p.h>
+#include "api/BamAlignment.h"
+#include "api/BamMultiReader.h"
+#include "api/SamConstants.h"
+#include "api/algorithms/Sort.h"
+#include "api/internal/BamMultiReader_p.h"
 using namespace BamTools;
 using namespace BamTools::Internal;
 
@@ -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<MergeItem>::iterator readerIter = m_readers.begin();
-    vector<MergeItem>::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