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 */
|