]> git.donarmstrong.com Git - mothur.git/blobdiff - trimoligos.h
fixed issue in tree.shared when shared file was not sorted
[mothur.git] / trimoligos.h
index a32b3d8e4f2d388b15b3aa68ed66fa61f33c1681..6716deb464eb0198b00159490d1f33572c6c6d23 100644 (file)
 #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<string, int>, map<string, int>, vector<string>); //pdiffs, bdiffs, primers, barcodes, revPrimers
-        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
-        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
+        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
+        TrimOligos(int,int, int, int, map<int, oligosPair>, map<int, oligosPair>); //pdiffs, bdiffs, ldiffs, sdiffs, primers, barcodes
                ~TrimOligos();
        
                int stripBarcode(Sequence&, int&);      
                int stripBarcode(Sequence&, QualityScores&, int&);
-    
-        int stripRBarcode(Sequence&, int&);    
-        int stripRBarcode(Sequence&, QualityScores&, int&);
-       
+        int stripBarcode(Sequence&, Sequence&, QualityScores&, QualityScores&, int&);
+       
                int stripForward(Sequence&, int&);
                int stripForward(Sequence&, QualityScores&, int&, bool);
+        int stripForward(Sequence&, Sequence&, QualityScores&, QualityScores&, int&);
        
                bool stripReverse(Sequence&);
                bool stripReverse(Sequence&, QualityScores&);
@@ -47,11 +54,18 @@ class TrimOligos {
                int pdiffs, bdiffs, ldiffs, sdiffs;
        
                map<string, int> barcodes;
-        map<string, int> rbarcodes;
                map<string, int> primers;
                vector<string> revPrimer;
         vector<string> linker;
         vector<string> spacer;
+        map<string, vector<int> > ifbarcodes;
+        map<string, vector<int> > ifprimers;
+        map<string, vector<int> > irbarcodes;
+        map<string, vector<int> > irprimers;
+        map<int, oligosPair> ipbarcodes;
+        map<int, oligosPair> ipprimers;
+    
+        int maxFBarcodeLength, maxRBarcodeLength, maxFPrimerLength, maxRPrimerLength, maxLinkerLength, maxSpacerLength;
        
                MothurOut* m;