X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=trimoligos.h;h=5f4f9f06ba48032777e332c3267ae048937d9b48;hp=8830dff57af8985c4f0e0bd4464f0860a46e8b81;hb=fefd5ee1517abd3bc38b469cb2dffc85a1571c7e;hpb=ae57e166b2ed7b475ec3f466106bd76fabadd063 diff --git a/trimoligos.h b/trimoligos.h index 8830dff..5f4f9f0 100644 --- a/trimoligos.h +++ b/trimoligos.h @@ -19,30 +19,64 @@ class TrimOligos { public: - TrimOligos(int,int, map, map, vector); //pdiffs, bdiffs, primers, barcodes, revPrimers + 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); //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&); + 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&); - + + bool stripLinker(Sequence&); + bool stripLinker(Sequence&, QualityScores&); + + 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; + int pdiffs, bdiffs, ldiffs, sdiffs; + bool paired; map barcodes; map primers; vector revPrimer; + vector linker; + vector spacer; + 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