8 * Created by westcott on 9/1/11.
9 * Copyright 2011 Schloss Lab. All rights reserved.
14 #include "mothurout.h"
15 #include "sequence.hpp"
16 #include "qualityscores.h"
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(int,int, int, int, map<int, oligosPair>, map<int, oligosPair>); //pdiffs, bdiffs, ldiffs, sdiffs, primers, barcodes
27 int stripBarcode(Sequence&, int&);
28 int stripBarcode(Sequence&, QualityScores&, int&);
29 int stripBarcode(Sequence&, Sequence&, QualityScores&, QualityScores&, int&);
30 int stripBarcode(Sequence&, Sequence&, int&);
32 int stripForward(Sequence&, int&);
33 int stripForward(Sequence&, QualityScores&, int&, bool);
34 int stripForward(Sequence&, Sequence&, QualityScores&, QualityScores&, int&);
35 int stripForward(Sequence&, Sequence&, int&);
37 bool stripReverse(Sequence&);
38 bool stripReverse(Sequence&, QualityScores&);
40 bool stripLinker(Sequence&);
41 bool stripLinker(Sequence&, QualityScores&);
43 bool stripSpacer(Sequence&);
44 bool stripSpacer(Sequence&, QualityScores&);
46 //seq, primerStart, primerEnd
47 bool findForward(Sequence&, int&, int&);
48 bool findReverse(Sequence&, int&, int&);
50 string reverseOligo(string);
53 int pdiffs, bdiffs, ldiffs, sdiffs;
56 map<string, int> barcodes;
57 map<string, int> primers;
58 vector<string> revPrimer;
59 vector<string> linker;
60 vector<string> spacer;
61 map<string, vector<int> > ifbarcodes;
62 map<string, vector<int> > ifprimers;
63 map<string, vector<int> > irbarcodes;
64 map<string, vector<int> > irprimers;
65 map<int, oligosPair> ipbarcodes;
66 map<int, oligosPair> ipprimers;
68 int maxFBarcodeLength, maxRBarcodeLength, maxFPrimerLength, maxRPrimerLength, maxLinkerLength, maxSpacerLength;
72 bool compareDNASeq(string, string);
73 int countDiffs(string, string);
75 int stripPairedBarcode(Sequence& seq, QualityScores& qual, int& group);
76 int stripPairedPrimers(Sequence& seq, QualityScores& qual, int& group, bool);
77 int stripPairedBarcode(Sequence& seq, int& group);
78 int stripPairedPrimers(Sequence& seq, int& group);