+ string fastaFile, oligoFile, qFileName, groupfile, outputDir;
+
+ bool flip, allFiles, qtrim;
+ int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, processors, tdiffs, bdiffs, pdiffs, comboStarts;
+ int qWindowSize, qWindowStep, keepFirst, removeLast;
+ double qRollAverage, qThreshold, qWindowAverage, qAverage;
+ vector<string> revPrimer, outputNames;
+ set<string> filesToRemove;
+ map<string, int> barcodes;
+ vector<string> groupVector;
+ map<string, int> primers;
+ map<string, int> combos;
+ map<string, int> groupToIndex;
+ vector<string> primerNameVector; //needed here?
+ vector<string> barcodeNameVector; //needed here?
+ map<string, int> groupCounts;
+
+ vector<int> processIDS; //processid
+ vector<linePair*> lines;
+ vector<linePair*> qLines;
+
+ int driverCreateTrim(string, string, string, string, string, string, string, vector<vector<string> >, vector<vector<string> >, linePair*, linePair*);
+ int createProcessesCreateTrim(string, string, string, string, string, string, string, vector<vector<string> >, vector<vector<string> >);
+ int setLines(string, string, vector<unsigned long int>&, vector<unsigned long int>&);