#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