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