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 */