#include "flowdata.h"
#include "groupmap.h"
#include "trimoligos.h"
+#include "oligos.h"
class TrimFlowsCommand : public Command {
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"; }
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 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> linker;
- vector<string> spacer;
- 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).
}
};
-/**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+/**************************************************************************************************
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
#else
static DWORD WINAPI MyTrimFlowThreadFunction(LPVOID lpParam){
trimFlowData* pDataArray;
flowData.printFlows(trimFlowFile);
- if(pDataArray->fasta) { currSeq.printSequence(fastaFile); }
+ if(pDataArray->fasta) { currSeq.setAligned(currSeq.getUnaligned()); currSeq.printSequence(fastaFile); }
if(pDataArray->allFiles){
ofstream output;
}
}
#endif
-
+*/
#endif