| 0 | 1 /***************************************************************************** | 
|  | 2   fastaFromBed.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 FASTAFROMBED_H | 
|  | 13 #define FASTAFROMBED_H | 
|  | 14 | 
|  | 15 #include "bedFile.h" | 
|  | 16 #include "sequenceUtils.h" | 
|  | 17 #include "Fasta.h" | 
|  | 18 #include <vector> | 
|  | 19 #include <iostream> | 
|  | 20 #include <fstream> | 
|  | 21 | 
|  | 22 using namespace std; | 
|  | 23 | 
|  | 24 //************************************************ | 
|  | 25 // Class methods and elements | 
|  | 26 //************************************************ | 
|  | 27 class Bed2Fa { | 
|  | 28 | 
|  | 29 public: | 
|  | 30 | 
|  | 31     // constructor | 
|  | 32     Bed2Fa(bool useName, const string &dbFile, const string &bedFile, const string &fastaOutFile, | 
|  | 33         bool useFasta, bool useStrand); | 
|  | 34 | 
|  | 35     // destructor | 
|  | 36     ~Bed2Fa(void); | 
|  | 37 | 
|  | 38     void ExtractDNA(); | 
|  | 39     void ReportDNA(const BED &bed, string &dna); | 
|  | 40 | 
|  | 41 | 
|  | 42 private: | 
|  | 43 | 
|  | 44     bool _useName; | 
|  | 45     string _dbFile; | 
|  | 46     string _bedFile; | 
|  | 47     string _fastaOutFile; | 
|  | 48     bool _useFasta; | 
|  | 49     bool _useStrand; | 
|  | 50 | 
|  | 51     // instance of a bed file class. | 
|  | 52     BedFile  *_bed; | 
|  | 53     ostream *_faOut; | 
|  | 54 }; | 
|  | 55 | 
|  | 56 #endif |