X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=trimoligos.h;h=8aa44bdd365356f195069e4f11528300844fbc7a;hb=0bd3a2d33b478f0b09fd6b8ce562e9ab41227535;hp=8830dff57af8985c4f0e0bd4464f0860a46e8b81;hpb=ae57e166b2ed7b475ec3f466106bd76fabadd063;p=mothur.git diff --git a/trimoligos.h b/trimoligos.h index 8830dff..8aa44bd 100644 --- a/trimoligos.h +++ b/trimoligos.h @@ -15,29 +15,59 @@ #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, 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&); private: - int pdiffs, bdiffs; + int pdiffs, bdiffs, ldiffs, sdiffs; 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;