]> git.donarmstrong.com Git - mothur.git/blob - trimoligos.h
working on windows paralellization, added trimOligos class to be used by trim.flows...
[mothur.git] / trimoligos.h
1 #ifndef TRIMOLIGOS_H
2 #define TRIMOLIGOS_H
3
4 /*
5  *  trimoligos.h
6  *  Mothur
7  *
8  *  Created by westcott on 9/1/11.
9  *  Copyright 2011 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "mothur.h"
14 #include "mothurout.h"
15 #include "sequence.hpp"
16 #include "qualityscores.h"
17
18
19 class TrimOligos {
20         
21         public:
22                 TrimOligos(int,int, map<string, int>, map<string, int>, vector<string>); //pdiffs, bdiffs, primers, barcodes, revPrimers
23                 ~TrimOligos();
24         
25                 int stripBarcode(Sequence&, int&);      
26                 int stripBarcode(Sequence&, QualityScores&, int&);
27         
28                 int stripForward(Sequence&, int&);
29                 int stripForward(Sequence&, QualityScores&, int&);
30         
31                 bool stripReverse(Sequence&);
32                 bool stripReverse(Sequence&, QualityScores&);
33                                 
34         
35         private:
36                 int pdiffs, bdiffs;
37         
38                 map<string, int> barcodes;
39                 map<string, int> primers;
40                 vector<string> revPrimer;
41         
42                 MothurOut* m;
43         
44                 bool compareDNASeq(string, string);                             
45                 int countDiffs(string, string);                 
46 };
47
48 #endif
49