Mercurial > repos > aaronquinlan > multi_intersect
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BEDTools-Version-2.14.3/src/maskFastaFromBed/maskFastaFromBed.h Thu Nov 03 10:25:04 2011 -0400 @@ -0,0 +1,56 @@ +/***************************************************************************** + maskFastaFromBed.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. +******************************************************************************/ +#ifndef MASKFASTAFROMBED_H +#define MASKFASTAFROMBED_H + +#include "bedFile.h" +#include "sequenceUtils.h" +#include <vector> +#include <iostream> +#include <fstream> +#include <cctype> /* for tolower */ + +using namespace std; + +//************************************************ +// Class methods and elements +//************************************************ +class MaskFastaFromBed { + +public: + + // constructor + MaskFastaFromBed(const string &fastaInFile, const string &bedFile, + const string &fastaOutFile, bool softMask, char maskChar); + + // destructor + ~MaskFastaFromBed(void); + + +private: + + bool _softMask; + + string _fastaInFile; + string _bedFile; + string _fastaOutFile; + char _maskChar; // typically "N", but user's can choose something else, e.g., "X" + + // instance of a bed file class. + BedFile *_bed; + + void MaskFasta(); + + void PrettyPrintChrom(ofstream &out, string chrom, const string &sequence, int width); + +}; + +#endif /* MASKFASTAFROMBED */