]> git.donarmstrong.com Git - bamtools.git/blobdiff - bamtools_utilities.h
json output
[bamtools.git] / bamtools_utilities.h
index 8a5d36c6c1e1e5b275055939406ed7e8412ea5c9..7d655e69fe2b089bdd97ca90d4a7b92a2273288a 100644 (file)
 
 namespace BamTools {
 
-class BamReader;  
-  
+class BamReader;
+class BamMultiReader;
+
+struct Region {
+    int StartChromID;
+    int StopChromID;
+    int StartPosition;
+    int StopPosition;
+};
+
 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, Region& region);
+        // Same as above, but accepts a BamMultiReader
+        static bool ParseRegionString(const std::string& regionString, const BamMultiReader& reader, Region& region);
 };
 
 } // namespace BamTools