]> git.donarmstrong.com Git - bamtools.git/blobdiff - bamtools_utilities.h
integration of SetRegion into BamMultiReader
[bamtools.git] / bamtools_utilities.h
index 8a5d36c6c1e1e5b275055939406ed7e8412ea5c9..4f6928b6832fb9a3b2299626fed22b40e5611b56 100644 (file)
 #define BAMTOOLS_UTILITIES_H
 
 #include <string>
+#include "BamAux.h"
 
 namespace BamTools {
 
-class BamReader;  
-  
+class BamReader;
+class BamMultiReader;
+
 class Utilities {
   
-    public:
-        // Parses a REGION string, stores in (startChrom, startPos, stopChrom, stopPos) variables
-        // Returns successful parse (true/false)
-        static bool ParseRegionString(const std::string& regionString,
-                                      std::string& startChrom,
-                                      int& startPos,
-                                      std::string& stopChrom,
-                                      int& stopPos); 
+    public:                          
+        // Parses a region string, uses reader to do validation (valid ID's, positions), stores in Region struct
+        // Returns success (true/false)
+        static bool ParseRegionString(const std::string& regionString, const BamReader& reader, BamRegion& region);
+        // Same as above, but accepts a BamMultiReader
+        static bool ParseRegionString(const std::string& regionString, const BamMultiReader& reader, BamRegion& region);
+
+        // check if a file exists
+        static bool FileExists(const std::string& fname); 
 };
 
 } // namespace BamTools
   
-#endif // BAMTOOLS_UTILITIES_H
\ No newline at end of file
+#endif // BAMTOOLS_UTILITIES_H