diff BEDTools-Version-2.14.3/src/windowBed/windowBed.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/windowBed/windowBed.h	Thu Nov 03 10:25:04 2011 -0400
@@ -0,0 +1,69 @@
+/*****************************************************************************
+  windowBed.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 WINDOWBED_H
+#define WINDOWBED_H
+
+#include "api/BamReader.h"
+#include "api/BamWriter.h"
+#include "api/BamAux.h"
+using namespace BamTools;
+
+#include "bedFile.h"
+#include <vector>
+#include <iostream>
+#include <fstream>
+
+using namespace std;
+
+//************************************************
+// Class methods and elements
+//************************************************
+class BedWindow {
+
+public:
+
+    // constructor
+    BedWindow(string bedAFile, string bedBFile, int leftSlop, int rightSlop,
+              bool anyHit, bool noHit, bool writeCount, bool strandWindows,
+              bool matchOnSameStrand, bool matchOnDiffStrand, bool bamInput, bool bamOutput, bool isUncompressedBam);
+
+    // destructor
+    ~BedWindow(void);
+
+private:
+
+    string _bedAFile;
+    string _bedBFile;
+    bool _anyHit;
+    bool _writeCount;
+    int _leftSlop;
+    int _rightSlop;
+    bool _noHit;
+    bool _strandWindows;
+    bool _matchOnSameStrand;
+    bool _matchOnDiffStrand;
+    bool _bamInput;
+    bool _bamOutput;
+    bool  _isUncompressedBam;
+
+    // instance of a bed file class.
+    BedFile *_bedA, *_bedB;
+
+    // methods
+    void WindowIntersectBed();
+    void WindowIntersectBam(string bamFile);
+    void FindWindowOverlaps(const BED &a, vector<BED> &hits);
+    bool FindOneOrMoreWindowOverlaps(const BED &a);
+    void AddWindow(const BED &a, CHRPOS &fudgeStart, CHRPOS &fudgeEnd);
+
+};
+#endif /* WINDOWBED_H */