annotate BEDTools-Version-2.14.3/src/pairToPair/pairToPair.h @ 0:dfcd8b6c1bda

Uploaded
author aaronquinlan
date Thu, 03 Nov 2011 10:25:04 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
1 /*****************************************************************************
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
2 pairToPair.h
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
3
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
4 (c) 2009 - Aaron Quinlan
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
5 Hall Laboratory
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
6 Department of Biochemistry and Molecular Genetics
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
7 University of Virginia
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
8 aaronquinlan@gmail.com
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
9
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
10 Licenced under the GNU General Public License 2.0 license.
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
11 ******************************************************************************/
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
12 #ifndef PAIRTOPAIR_H
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
13 #define PAIRTOPAIR_H
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
14
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
15 #include "bedFile.h"
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
16 #include "bedFilePE.h"
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
17 #include <vector>
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
18 #include <iostream>
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
19 #include <fstream>
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
20
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
21 using namespace std;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
22
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
23
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
24
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
25 //************************************************
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
26 // Class methods and elements
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
27 //************************************************
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
28 class PairToPair {
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
29
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
30 public:
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
31
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
32 // constructor
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
33 PairToPair(string &bedAFilePE, string &bedBFilePE, float &overlapFraction,
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
34 string searchType, bool ignoreStrand, bool reqDiffNames, int slop, bool strandedSlop);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
35
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
36 // destructor
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
37 ~PairToPair(void);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
38
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
39 void IntersectPairs();
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
40
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
41
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
42 private:
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
43
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
44 string _bedAFilePE;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
45 string _bedBFilePE;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
46
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
47 float _overlapFraction;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
48 string _searchType;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
49 bool _ignoreStrand;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
50 bool _reqDiffNames;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
51 int _slop;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
52 bool _strandedSlop;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
53
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
54 // instance of a paired-end bed file class.
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
55 BedFilePE *_bedA;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
56
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
57 // instance of a bed file class.
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
58 BedFilePE *_bedB;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
59
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
60 // methods
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
61 // void FindOverlaps(const BEDPE &a, vector<MATE> &hitsA1B1, vector<MATE> &hitsA1B2,
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
62 // vector<MATE> &hitsA2B1, vector<MATE> &hitsA2B2);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
63 void FindOverlaps(const BEDPE &a);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
64
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
65 void FindQualityHitsBetweenEnds(CHRPOS start, CHRPOS end,
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
66 const vector<MATE> &hits, vector<MATE> &qualityHits, int &numOverlaps);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
67
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
68 bool FindHitsOnBothEnds(const BEDPE &a, const vector<MATE> &qualityHitsEnd1,
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
69 const vector<MATE> &qualityHitsEnd2);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
70
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
71 void FindHitsOnEitherEnd(const BEDPE &a, const vector<MATE> &qualityHitsEnd1,
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
72 const vector<MATE> &qualityHitsEnd2);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
73
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
74 };
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
75
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
76 #endif /* PAIRTOPAIR_H */