]> git.donarmstrong.com Git - mothur.git/blobdiff - trimoligos.h
sffinfo bug with flow grams right index when clipQualRight=0
[mothur.git] / trimoligos.h
index fb8f74dcb4f309387ccf3caa923354a466c9fccb..a86eb9ae1c815a8c71c4331934f88bf6b83f773f 100644 (file)
@@ -29,16 +29,18 @@ 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>, 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>, vector<string>, vector<string>); //pdiffs, bdiffs, ldiffs, sdiffs, primers, barcodes, 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 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 +50,38 @@ 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<string, int> barcodes;
                map<string, int> primers;
                vector<string> revPrimer;
         vector<string> linker;
         vector<string> spacer;
-        map<int, oligosPair> ibarcodes;
-        map<int, oligosPair> iprimers;
+        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;
        
                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);
 };
 
 #endif