Mercurial > repos > aaronquinlan > multi_intersect
view BEDTools-Version-2.14.3/src/mergeBed/mergeBed.h @ 0:dfcd8b6c1bda
Uploaded
author | aaronquinlan |
---|---|
date | Thu, 03 Nov 2011 10:25:04 -0400 |
parents | |
children |
line wrap: on
line source
/***************************************************************************** mergeBed.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. ******************************************************************************/ #include "bedFile.h" #include <vector> #include <algorithm> #include <numeric> #include <iostream> #include <fstream> #include <limits.h> #include <stdlib.h> using namespace std; //************************************************ // Class methods and elements //************************************************ class BedMerge { public: // constructor BedMerge(string &bedFile, bool numEntries, int maxDistance, bool forceStrand, bool reportNames, bool reportScores, const string &scoreOp); // destructor ~BedMerge(void); void MergeBed(); void MergeBedStranded(); private: string _bedFile; bool _numEntries; bool _forceStrand; bool _reportNames; bool _reportScores; string _scoreOp; int _maxDistance; // instance of a bed file class. BedFile *_bed; void Report(string chrom, int start, int end, const vector<string> &names, const vector<string> &scores, int mergeCount); void ReportStranded(string chrom, int start, int end, const vector<string> &names, const vector<string> &scores, int mergeCount, string strand); void ReportMergedNames(const vector<string> &names); void ReportMergedScores(const vector<string> &scores); };