1 /***************************************************************************** 2 shiftBed.h 3 4 (c) 2016 - David Richardson 5 European Molecular Biology Laboratory, European Bioinformatics Institute 6 davidr@ebi.ac.uk 7 8 Licenced under the GNU General Public License 2.0 license. 9 ******************************************************************************/ 10 11 #include "bedFile.h" 12 #include "GenomeFile.h" 13 14 #include <vector> 15 #include <iostream> 16 #include <fstream> 17 #include <map> 18 #include <cstdlib> 19 #include <ctime> 20 using namespace std; 21 22 23 //************************************************ 24 // Class methods and elements 25 //************************************************ 26 class BedShift { 27 28 public: 29 30 // constructor 31 BedShift(string &bedFile, string &genomeFile, float shiftMinus, float shiftPlus, bool fractional, bool printHeader); 32 33 // destructor 34 ~BedShift(void); 35 36 37 38 private: 39 40 string _bedFile; 41 string _genomeFile; 42 43 float _shiftMinus; 44 float _shiftPlus; 45 bool _fractional; 46 bool _printHeader; 47 48 BedFile *_bed; 49 GenomeFile *_genome; 50 51 // methods 52 53 void ShiftBed(); 54 55 // method to add requested "slop" to a single BED entry 56 void AddShift(BED &bed); 57 }; 58