comparison BEDTools-Version-2.14.3/src/multiBamCov/multiBamCov.h @ 0:dfcd8b6c1bda

Uploaded
author aaronquinlan
date Thu, 03 Nov 2011 10:25:04 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:dfcd8b6c1bda
1 /*****************************************************************************
2 multiBamCov.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 MULTICOVBAM_H
13 #define MULTICOVBAM_H
14
15 #include "bedFile.h"
16 #include "api/BamMultiReader.h"
17 using namespace BamTools;
18
19
20 #include <vector>
21 #include <iostream>
22 #include <fstream>
23 #include <stdlib.h>
24 using namespace std;
25
26
27
28 class MultiCovBam {
29
30 public:
31
32 // constructor
33 MultiCovBam(const vector<string> &bam_files, const string bed_file,
34 int minQual, bool properOnly,
35 bool keepDuplicates, bool keepFailedQC);
36
37 // destructor
38 ~MultiCovBam(void);
39
40 void CollectCoverage();
41
42 private:
43
44 //------------------------------------------------
45 // private attributes
46 //------------------------------------------------
47 vector<string> _bam_files;
48 string _bed_file;
49 BedFile *_bed;
50
51 // attributes to control what is counted
52 int _minQual;
53 bool _properOnly;
54 bool _keepDuplicates;
55 bool _keepFailedQC;
56
57
58 map<string, int> bamFileMap;
59
60 void LoadBamFileMap(void);
61 void ReportCounts(const vector<int> &counts);
62 };
63
64 #endif /* MULTIBAMCOV_H */