]> git.donarmstrong.com Git - bamtools.git/commitdiff
add index caching mode setter to BamMultiReader
authorErik Garrison <erik.garrison@bc.edu>
Thu, 21 Oct 2010 21:03:48 +0000 (17:03 -0400)
committerErik Garrison <erik.garrison@bc.edu>
Thu, 21 Oct 2010 21:03:48 +0000 (17:03 -0400)
src/api/BamMultiReader.cpp
src/api/BamMultiReader.h

index a81ac87ee98d2b73b9b2682e976bb636535d12f5..f8e0997a8d6f13f53611f7c9ab145454969a896b 100644 (file)
@@ -80,6 +80,14 @@ bool BamMultiReader::CreateIndexes(bool useStandardIndex) {
     return result;
 }
 
+// sets the index caching mode on the readers
+void BamMultiReader::SetIndexCacheMode(const BamIndex::BamIndexCacheMode mode) {
+    for (vector<pair<BamReader*, BamAlignment*> >::iterator it = readers.begin(); it != readers.end(); ++it) {
+        BamReader* reader = it->first;
+        reader->SetIndexCacheMode(mode);
+    }
+}
+
 // for debugging
 void BamMultiReader::DumpAlignmentIndex(void) {
     for (AlignmentIndex::const_iterator it = alignments.begin(); it != alignments.end(); ++it) {
@@ -288,7 +296,7 @@ bool BamMultiReader::Jump(int refID, int position) {
 }
 
 // opens BAM files
-bool BamMultiReader::Open(const vector<string>& filenames, bool openIndexes, bool coreMode, bool useDefaultIndex) {
+bool BamMultiReader::Open(const vector<string>& filenames, bool openIndexes, bool coreMode, bool preferStandardIndex) {
     
     // for filename in filenames
     fileNames = filenames; // save filenames in our multireader
@@ -302,8 +310,8 @@ bool BamMultiReader::Open(const vector<string>& filenames, bool openIndexes, boo
             
             // leave index filename empty 
             // this allows BamReader & BamIndex to search for any available
-            // useDefaultIndex gives hint to prefer BAI over BTI
-            openedOK = reader->Open(filename, "", true, useDefaultIndex);
+            // useStandardIndex gives hint to prefer BAI over BTI
+            openedOK = reader->Open(filename, "", true, preferStandardIndex);
         } 
         
         // ignoring index file(s)
index e1a6e941131e1988ae3e2477d468c2cf8a99d30a..fa28bcd39fd3193f103c83ad09215829c62a8b2f 100644 (file)
@@ -107,6 +107,9 @@ class BamMultiReader {
         // creates index for BAM files which lack them, saves to files (default = bamFilename + ".bai")\r
         bool CreateIndexes(bool useStandardIndex = true);\r
 \r
+        // sets the index caching mode for the readers\r
+        void SetIndexCacheMode(const BamIndex::BamIndexCacheMode mode);\r
+\r
         //const int GetReferenceID(const string& refName) const;\r
 \r
         // utility\r