]> git.donarmstrong.com Git - mothur.git/blobdiff - makecontigscommand.h
changed dups parameter to dereplicate in chimera.uchime.
[mothur.git] / makecontigscommand.h
index dc094a2b3e951218447927d9ceeb639d8b833f53..84e43c01c9a0b8c7775c6a46494a6fc0fcb642a6 100644 (file)
@@ -17,7 +17,7 @@
 #include "needlemanoverlap.hpp"
 #include "blastalign.hpp"
 #include "noalign.hpp"
-
+#include "trimoligos.h"
 
 struct fastqRead {
        vector<int> scores;
@@ -50,17 +50,31 @@ public:
     void help() { m->mothurOut(getHelpString()); }     
     
 private:
-    bool abort;
-    string outputDir, ffastqfile, rfastqfile, align;
+    bool abort, allFiles;
+    string outputDir, ffastqfile, rfastqfile, align, oligosfile;
        float match, misMatch, gapOpen, gapExtend;
-       int processors, longestBase, threshold;
+       int processors, longestBase, threshold, tdiffs, bdiffs, pdiffs, ldiffs, sdiffs;
     vector<string> outputNames;
     
+    map<int, oligosPair> barcodes;
+       map<int, oligosPair> primers;
+    vector<string>  linker;
+    vector<string>  spacer;
+       vector<string> primerNameVector;        
+       vector<string> barcodeNameVector;       
+    
+       map<string, int> groupCounts;  
+    //map<string, int> combos;
+       //map<string, int> groupToIndex;
+    //vector<string> groupVector;
+    
     fastqRead readFastq(ifstream&);
     vector< vector<string> > readFastqFiles(int&);
     bool checkReads(fastqRead&, fastqRead&);
     int createProcesses(vector< vector<string> >, string, string, string);
     int driver(vector<string>, string, string, string);
+    bool getOligos(vector<vector<string> >&, vector<vector<string> >&);
+    string reverseOligo(string);
 };
 
 /**************************************************************************************************/
@@ -168,7 +182,7 @@ static DWORD WINAPI MyContigsThreadFunction(LPVOID lpParam){
                     contigScores.push_back(scores1[ABaseMap[i]]);
                     if (scores1[ABaseMap[i]] < scores2[BBaseMap[i]]) { contigScores[i] = scores2[BBaseMap[i]]; }
                 }else if (((seq1[i] == '.') || (seq1[i] == '-')) && ((seq2[i] != '-') && (seq2[i] != '.'))) { //seq1 is a gap and seq2 is a base, choose seq2, unless quality score for base is below threshold. In that case eliminate base
-                    if (scores2[BBaseMap[i]] >= pDataArray->threshold)) {
+                    if (scores2[BBaseMap[i]] >= pDataArray->threshold) {
                         contig += seq2[i];
                         contigScores.push_back(scores2[BBaseMap[i]]);
                     }