]> git.donarmstrong.com Git - mothur.git/blobdiff - trimflowscommand.h
added oligos class. added check orient parameter to trim.flows, sffinfo, fastq.info...
[mothur.git] / trimflowscommand.h
index 0dc1cd977c9b106b4986e2cb839939cae7541db2..58d3ed096eac4e9b3b733adaa31d10b37a068d87 100644 (file)
@@ -16,6 +16,7 @@
 #include "flowdata.h"
 #include "groupmap.h"
 #include "trimoligos.h"
+#include "oligos.h"
 
 class TrimFlowsCommand : public Command {
 public:
@@ -26,7 +27,9 @@ public:
        vector<string> setParameters();
        string getCommandName()                 { return "trim.flows";  }
        string getCommandCategory()             { return "Sequence Processing";         }
+       
        string getHelpString(); 
+    string getOutputPattern(string);   
        string getCitation() { return "http://www.mothur.org/wiki/Trim.flows"; }
        string getDescription()         { return "trim.flows"; }
 
@@ -45,41 +48,29 @@ private:
        int comboStarts;
        vector<int> processIDS;   //processid
        vector<linePair*> lines;
-
-       vector<unsigned long long> getFlowFileBreaks();
-       int createProcessesCreateTrim(string, string, string, string, vector<vector<string> >); 
-       int driverCreateTrim(string, string, string, string, vector<vector<string> >, linePair*);
-
-       vector<string> outputNames;
+    vector<string> outputNames;
        set<string> filesToRemove;
-       
-       void getOligos(vector<vector<string> >&);               //a rewrite of what is in trimseqscommand.h
-       
-       bool allFiles;
+    bool allFiles;
        int processors;
-       int numFPrimers, numRPrimers;
-       int maxFlows, minFlows, minLength, maxLength, maxHomoP, tdiffs, bdiffs, pdiffs;
+       int numFPrimers, numRPrimers, numBarcodes;
+       int maxFlows, minFlows, minLength, maxLength, maxHomoP, tdiffs, bdiffs, pdiffs, sdiffs, ldiffs, numLinkers, numSpacers;
        int numFlows;
        float signal, noise;
-       bool fasta;
-       string flowOrder;       
-       
-       string flowFileName, oligoFileName, outputDir;
-
+       bool fasta, pairedOligos, reorient;
+       string flowOrder, flowFileName, oligoFileName, outputDir;
+    Oligos oligos;
 
-       map<string, int> barcodes;
-       map<string, int> primers;
-       vector<string> revPrimer;
 
-       vector<string> primerNameVector;        //needed here?
-       vector<string> barcodeNameVector;       //needed here?
-
-       map<string, int> combos;                        //needed here?
-       map<string, int> groupToIndex;          //needed here?
+       vector<unsigned long long> getFlowFileBreaks();
+       int createProcessesCreateTrim(string, string, string, string, vector<vector<string> >); 
+       int driverCreateTrim(string, string, string, string, vector<vector<string> >, linePair*);
+       int getOligos(vector<vector<string> >&);                //a rewrite of what is in trimseqscommand.h
+       
+       
        
 };
 
-/**************************************************************************************************/
+/**************************************************************************************************
 //custom data structure for threads to use.
 // This is passed by void pointer so it can be any data type
 // that can be passed using a single void pointer (LPVOID).
@@ -129,8 +120,8 @@ struct trimFlowData {
        }
 };
 
-/**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+/**************************************************************************************************
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
 #else
 static DWORD WINAPI MyTrimFlowThreadFunction(LPVOID lpParam){ 
        trimFlowData* pDataArray;
@@ -220,7 +211,7 @@ static DWORD WINAPI MyTrimFlowThreadFunction(LPVOID lpParam){
                                
                                flowData.printFlows(trimFlowFile);
                                
-                               if(pDataArray->fasta)   {       currSeq.printSequence(fastaFile);       }
+                               if(pDataArray->fasta)   {       currSeq.setAligned(currSeq.getUnaligned()); currSeq.printSequence(fastaFile);   }
                                
                                if(pDataArray->allFiles){
                                        ofstream output;
@@ -256,6 +247,6 @@ static DWORD WINAPI MyTrimFlowThreadFunction(LPVOID lpParam){
        }
 } 
 #endif
-
+*/
 
 #endif