0
|
1 /*****************************************************************************
|
|
2 closestBed.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 CLOSESTBED_H
|
|
13 #define CLOSESTBED_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 BedClosest {
|
|
26
|
|
27 public:
|
|
28
|
|
29 // constructor
|
|
30 BedClosest(string &bedAFile, string &bedBFile,
|
|
31 bool sameStrand, bool diffStrand, string &tieMode,
|
|
32 bool reportDistance, bool signDistance, string &strandedDistMode,
|
|
33 bool ignoreOverlaps);
|
|
34
|
|
35 // destructor
|
|
36 ~BedClosest(void);
|
|
37
|
|
38 // find the closest feature in B to A
|
|
39 void FindClosestBed();
|
|
40
|
|
41 private:
|
|
42
|
|
43 // data
|
|
44 string _bedAFile;
|
|
45 string _bedBFile;
|
|
46 string _tieMode;
|
|
47 bool _sameStrand;
|
|
48 bool _diffStrand;
|
|
49 bool _reportDistance;
|
|
50 bool _signDistance;
|
|
51 string _strandedDistMode;
|
|
52 bool _ignoreOverlaps;
|
|
53
|
|
54 BedFile *_bedA, *_bedB;
|
|
55
|
|
56 // methods
|
|
57 void reportNullB();
|
|
58 void FindWindowOverlaps(BED &, vector<BED> &);
|
|
59
|
|
60 };
|
|
61 #endif /* CLOSEST_H */
|