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
|