]> git.donarmstrong.com Git - mothur.git/blob - trimoligos.h
Revert to previous commit
[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(int,int, int, int, map<string, int>, map<string, int>, vector<string>, vector<string>, vector<string>); //pdiffs, bdiffs, ldiffs, sdiffs, primers, barcodes, revPrimers, linker, spacer
24                 ~TrimOligos();
25         
26                 int stripBarcode(Sequence&, int&);      
27                 int stripBarcode(Sequence&, QualityScores&, int&);
28         
29                 int stripForward(Sequence&, int&);
30                 int stripForward(Sequence&, QualityScores&, int&, bool);
31         
32                 bool stripReverse(Sequence&);
33                 bool stripReverse(Sequence&, QualityScores&);
34     
35         bool stripLinker(Sequence&);
36         bool stripLinker(Sequence&, QualityScores&);
37     
38         bool stripSpacer(Sequence&);
39         bool stripSpacer(Sequence&, QualityScores&);
40                                 
41         
42         private:
43                 int pdiffs, bdiffs, ldiffs, sdiffs;
44         
45                 map<string, int> barcodes;
46                 map<string, int> primers;
47                 vector<string> revPrimer;
48         vector<string> linker;
49         vector<string> spacer;
50         
51                 MothurOut* m;
52         
53                 bool compareDNASeq(string, string);                             
54                 int countDiffs(string, string);                 
55 };
56
57 #endif
58