| 0 | 1 /***************************************************************************** | 
|  | 2   subtractBed.h | 
|  | 3 | 
|  | 4   (c) 2009 - Aaron Quinlan | 
|  | 5   Hall Laboratory | 
|  | 6   Department of Biochemistry and Molecular Genetics | 
|  | 7   University of Virginia | 
|  | 8   aaronquinlan@gmail.com | 
|  | 9 | 
|  | 10   Licenced under the GNU General Public License 2.0 license. | 
|  | 11 ******************************************************************************/ | 
|  | 12 #ifndef SUBTRACTBED_H | 
|  | 13 #define SUBTRACTBED_H | 
|  | 14 | 
|  | 15 #include "bedFile.h" | 
|  | 16 #include <vector> | 
|  | 17 #include <iostream> | 
|  | 18 #include <fstream> | 
|  | 19 | 
|  | 20 using namespace std; | 
|  | 21 | 
|  | 22 //************************************************ | 
|  | 23 // Class methods and elements | 
|  | 24 //************************************************ | 
|  | 25 class BedSubtract { | 
|  | 26 | 
|  | 27 public: | 
|  | 28 | 
|  | 29     // constructor | 
|  | 30     BedSubtract(string &bedAFile, string &bedBFile, float overlapFraction, bool sameStrand, bool diffStrand); | 
|  | 31 | 
|  | 32     // destructor | 
|  | 33     ~BedSubtract(void); | 
|  | 34 | 
|  | 35 private: | 
|  | 36 | 
|  | 37     // processing variables | 
|  | 38     string _bedAFile; | 
|  | 39     string _bedBFile; | 
|  | 40     float _overlapFraction; | 
|  | 41     bool _sameStrand; | 
|  | 42     bool _diffStrand; | 
|  | 43 | 
|  | 44 | 
|  | 45     // instances of bed file class. | 
|  | 46     BedFile *_bedA, *_bedB; | 
|  | 47 | 
|  | 48     // methods | 
|  | 49     void FindAndSubtractOverlaps(BED &a, vector<BED> &hits); | 
|  | 50     void SubtractBed(); | 
|  | 51 }; | 
|  | 52 | 
|  | 53 #endif /* SUBTRACTBED_H */ |