X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=trimoligos.h;h=5f4f9f06ba48032777e332c3267ae048937d9b48;hb=HEAD;hp=fb8f74dcb4f309387ccf3caa923354a466c9fccb;hpb=90708fe9701e3827e477c82fb3652539c3bf2a0d;p=mothur.git diff --git a/trimoligos.h b/trimoligos.h index fb8f74d..5f4f9f0 100644 --- a/trimoligos.h +++ b/trimoligos.h @@ -15,30 +15,24 @@ #include "sequence.hpp" #include "qualityscores.h" -struct oligosPair { - string forward; - string reverse; - - oligosPair() { forward = ""; reverse = ""; } - oligosPair(string f, string r) : forward(f), reverse(r) {} - ~oligosPair() {} -}; class TrimOligos { public: TrimOligos(int,int, map, map, vector); //pdiffs, bdiffs, primers, barcodes, revPrimers TrimOligos(int,int, int, int, map, map, vector, vector, vector); //pdiffs, bdiffs, ldiffs, sdiffs, primers, barcodes, revPrimers, linker, spacer - TrimOligos(int,int, int, int, map, map, vector, vector); //pdiffs, bdiffs, ldiffs, sdiffs, primers, barcodes, linker, spacer + TrimOligos(int,int, int, int, map, map); //pdiffs, bdiffs, ldiffs, sdiffs, primers, barcodes ~TrimOligos(); int stripBarcode(Sequence&, int&); int stripBarcode(Sequence&, QualityScores&, int&); int stripBarcode(Sequence&, Sequence&, QualityScores&, QualityScores&, int&); + int stripBarcode(Sequence&, Sequence&, int&); int stripForward(Sequence&, int&); int stripForward(Sequence&, QualityScores&, int&, bool); int stripForward(Sequence&, Sequence&, QualityScores&, QualityScores&, int&); + int stripForward(Sequence&, Sequence&, int&); bool stripReverse(Sequence&); bool stripReverse(Sequence&, QualityScores&); @@ -48,23 +42,41 @@ class TrimOligos { bool stripSpacer(Sequence&); bool stripSpacer(Sequence&, QualityScores&); - + + //seq, primerStart, primerEnd + bool findForward(Sequence&, int&, int&); + bool findReverse(Sequence&, int&, int&); + + string reverseOligo(string); private: int pdiffs, bdiffs, ldiffs, sdiffs; + bool paired; map barcodes; map primers; vector revPrimer; vector linker; vector spacer; - map ibarcodes; - map iprimers; + map > ifbarcodes; + map > ifprimers; + map > irbarcodes; + map > irprimers; + map ipbarcodes; + map ipprimers; + + int maxFBarcodeLength, maxRBarcodeLength, maxFPrimerLength, maxRPrimerLength, maxLinkerLength, maxSpacerLength; MothurOut* m; bool compareDNASeq(string, string); - int countDiffs(string, string); + int countDiffs(string, string); + + int stripPairedBarcode(Sequence& seq, QualityScores& qual, int& group); + int stripPairedPrimers(Sequence& seq, QualityScores& qual, int& group, bool); + int stripPairedBarcode(Sequence& seq, int& group); + int stripPairedPrimers(Sequence& seq, int& group); + }; #endif