diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BEDTools-Version-2.14.3/src/multiBamCov/multiBamCov.h	Thu Nov 03 10:25:04 2011 -0400
@@ -0,0 +1,64 @@
+/*****************************************************************************
+  multiBamCov.h
+
+  (c) 2009 - Aaron Quinlan
+  Hall Laboratory
+  Department of Biochemistry and Molecular Genetics
+  University of Virginia
+  aaronquinlan@gmail.com
+
+  Licenced under the GNU General Public License 2.0 license.
+******************************************************************************/
+#ifndef MULTICOVBAM_H
+#define MULTICOVBAM_H
+
+#include "bedFile.h"
+#include "api/BamMultiReader.h"
+using namespace BamTools;
+
+
+#include <vector>
+#include <iostream>
+#include <fstream>
+#include <stdlib.h>
+using namespace std;
+
+
+
+class MultiCovBam {
+
+public:
+
+    // constructor
+    MultiCovBam(const vector<string> &bam_files, const string bed_file, 
+                int minQual, bool properOnly, 
+                bool keepDuplicates, bool keepFailedQC);
+
+    // destructor
+    ~MultiCovBam(void);
+
+    void CollectCoverage();
+
+private:
+
+    //------------------------------------------------
+    // private attributes
+    //------------------------------------------------
+    vector<string> _bam_files;
+    string _bed_file;
+	BedFile *_bed;
+	
+	// attributes to control what is counted
+    int _minQual;
+    bool _properOnly;
+    bool _keepDuplicates;
+    bool _keepFailedQC;
+    
+
+    map<string, int> bamFileMap;
+    
+    void LoadBamFileMap(void);
+    void ReportCounts(const vector<int> &counts);
+};
+
+#endif /* MULTIBAMCOV_H */