| 
0
 | 
     1 /*****************************************************************************
 | 
| 
 | 
     2   subtractBed.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 SUBTRACTBED_H
 | 
| 
 | 
    13 #define SUBTRACTBED_H
 | 
| 
 | 
    14 
 | 
| 
 | 
    15 #include "bedFile.h"
 | 
| 
 | 
    16 #include <vector>
 | 
| 
 | 
    17 #include <iostream>
 | 
| 
 | 
    18 #include <fstream>
 | 
| 
 | 
    19 
 | 
| 
 | 
    20 using namespace std;
 | 
| 
 | 
    21 
 | 
| 
 | 
    22 //************************************************
 | 
| 
 | 
    23 // Class methods and elements
 | 
| 
 | 
    24 //************************************************
 | 
| 
 | 
    25 class BedSubtract {
 | 
| 
 | 
    26 
 | 
| 
 | 
    27 public:
 | 
| 
 | 
    28 
 | 
| 
 | 
    29     // constructor
 | 
| 
 | 
    30     BedSubtract(string &bedAFile, string &bedBFile, float overlapFraction, bool sameStrand, bool diffStrand);
 | 
| 
 | 
    31 
 | 
| 
 | 
    32     // destructor
 | 
| 
 | 
    33     ~BedSubtract(void);
 | 
| 
 | 
    34 
 | 
| 
 | 
    35 private:
 | 
| 
 | 
    36 
 | 
| 
 | 
    37     // processing variables
 | 
| 
 | 
    38     string _bedAFile;
 | 
| 
 | 
    39     string _bedBFile;
 | 
| 
 | 
    40     float _overlapFraction;
 | 
| 
 | 
    41     bool _sameStrand;
 | 
| 
 | 
    42     bool _diffStrand;
 | 
| 
 | 
    43 
 | 
| 
 | 
    44 
 | 
| 
 | 
    45     // instances of bed file class.
 | 
| 
 | 
    46     BedFile *_bedA, *_bedB;
 | 
| 
 | 
    47 
 | 
| 
 | 
    48     // methods
 | 
| 
 | 
    49     void FindAndSubtractOverlaps(BED &a, vector<BED> &hits);
 | 
| 
 | 
    50     void SubtractBed();
 | 
| 
 | 
    51 };
 | 
| 
 | 
    52 
 | 
| 
 | 
    53 #endif /* SUBTRACTBED_H */
 |