Mercurial > repos > aaronquinlan > multi_intersect
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 */