]> git.donarmstrong.com Git - bamtools.git/blob - bamtools_utilities.h
json output
[bamtools.git] / bamtools_utilities.h
1 // ***************************************************************************
2 // bamtools_utilities.h (c) 2010 Derek Barnett, Erik Garrison
3 // Marth Lab, Department of Biology, Boston College
4 // All rights reserved.
5 // ---------------------------------------------------------------------------
6 // Last modified: 2 June 2010
7 // ---------------------------------------------------------------------------
8 // Provides general utilities used by BamTools sub-tools.
9 // ***************************************************************************
10
11 #ifndef BAMTOOLS_UTILITIES_H
12 #define BAMTOOLS_UTILITIES_H
13
14 #include <string>
15
16 namespace BamTools {
17
18 class BamReader;
19 class BamMultiReader;
20
21 struct Region {
22     int StartChromID;
23     int StopChromID;
24     int StartPosition;
25     int StopPosition;
26 };
27
28 class Utilities {
29   
30     public:                          
31         // Parses a region string, uses reader to do validation (valid ID's, positions), stores in Region struct
32         // Returns success (true/false)
33         static bool ParseRegionString(const std::string& regionString, const BamReader& reader, Region& region);
34         // Same as above, but accepts a BamMultiReader
35         static bool ParseRegionString(const std::string& regionString, const BamMultiReader& reader, Region& region);
36 };
37
38 } // namespace BamTools
39   
40 #endif // BAMTOOLS_UTILITIES_H