]> git.donarmstrong.com Git - bamtools.git/blobdiff - bamtools_utilities.cpp
integration of SetRegion into BamMultiReader
[bamtools.git] / bamtools_utilities.cpp
index fcbabdf48d8ac19717b89580298bec1c6a3cae60..7772587e84c10fe2289535244cd4c723f3986f54 100644 (file)
@@ -9,6 +9,7 @@
 // ***************************************************************************
 
 #include <cstdlib>
+#include <sys/stat.h> 
 #include "bamtools_utilities.h"
 #include "BamReader.h"
 #include "BamMultiReader.h"
@@ -18,7 +19,7 @@ using namespace BamTools;
 
 // Parses a region string, does validation (valid ID's, positions), stores in Region struct
 // Returns success (true/false)
-bool Utilities::ParseRegionString(const std::string& regionString, const BamReader& reader, Region& region) {
+bool Utilities::ParseRegionString(const std::string& regionString, const BamReader& reader, BamRegion& region) {
   
     // -------------------------------
     // parse region string
@@ -117,15 +118,15 @@ bool Utilities::ParseRegionString(const std::string& regionString, const BamRead
     // -------------------------------
     // set up Region struct & return
     
-    region.StartChromID  = startRefID;
-    region.StopChromID   = stopRefID;
-    region.StartPosition = startPos;
-    region.StopPosition  = stopPos;
+    region.LeftRefID = startRefID;
+    region.LeftPosition = startPos;
+    region.RightRefID = stopRefID;;
+    region.RightPosition = stopPos;
     return true;
 }
 
 // Same as ParseRegionString() above, but accepts a BamMultiReader
-bool Utilities::ParseRegionString(const std::string& regionString, const BamMultiReader& reader, Region& region) {
+bool Utilities::ParseRegionString(const std::string& regionString, const BamMultiReader& reader, BamRegion& region) {
   
     // -------------------------------
     // parse region string
@@ -224,9 +225,17 @@ bool Utilities::ParseRegionString(const std::string& regionString, const BamMult
     // -------------------------------
     // set up Region struct & return
     
-    region.StartChromID  = startRefID;
-    region.StopChromID   = stopRefID;
-    region.StartPosition = startPos;
-    region.StopPosition  = stopPos;
+    region.LeftRefID = startRefID;
+    region.LeftPosition = startPos;
+    region.RightRefID = stopRefID;;
+    region.RightPosition = stopPos;
+
     return true;
 }
+
+bool Utilities::FileExists(const std::string& filename) { 
+
+    struct stat fileInfo; 
+    return stat(filename.c_str(), &fileInfo) == 0;
+
+}