comparison BEDTools-Version-2.14.3/src/maskFastaFromBed/maskFastaFromBed.h @ 0:dfcd8b6c1bda

Uploaded
author aaronquinlan
date Thu, 03 Nov 2011 10:25:04 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:dfcd8b6c1bda
1 /*****************************************************************************
2 maskFastaFromBed.h
3 (c) 2009 - Aaron Quinlan
4 Hall Laboratory
5 Department of Biochemistry and Molecular Genetics
6 University of Virginia
7 aaronquinlan@gmail.com
8
9 Licenced under the GNU General Public License 2.0 license.
10 ******************************************************************************/
11 #ifndef MASKFASTAFROMBED_H
12 #define MASKFASTAFROMBED_H
13
14 #include "bedFile.h"
15 #include "sequenceUtils.h"
16 #include <vector>
17 #include <iostream>
18 #include <fstream>
19 #include <cctype> /* for tolower */
20
21 using namespace std;
22
23 //************************************************
24 // Class methods and elements
25 //************************************************
26 class MaskFastaFromBed {
27
28 public:
29
30 // constructor
31 MaskFastaFromBed(const string &fastaInFile, const string &bedFile,
32 const string &fastaOutFile, bool softMask, char maskChar);
33
34 // destructor
35 ~MaskFastaFromBed(void);
36
37
38 private:
39
40 bool _softMask;
41
42 string _fastaInFile;
43 string _bedFile;
44 string _fastaOutFile;
45 char _maskChar; // typically "N", but user's can choose something else, e.g., "X"
46
47 // instance of a bed file class.
48 BedFile *_bed;
49
50 void MaskFasta();
51
52 void PrettyPrintChrom(ofstream &out, string chrom, const string &sequence, int width);
53
54 };
55
56 #endif /* MASKFASTAFROMBED */