1 #ifndef Mothur_sffmultiplecommand_h
2 #define Mothur_sffmultiplecommand_h
5 // sffmultiplecommand.h
8 // Created by Sarah Westcott on 8/14/12.
9 // Copyright (c) 2012 Schloss Lab. All rights reserved.
12 #include "command.hpp"
14 class SffMultipleCommand : public Command {
17 SffMultipleCommand(string);
19 ~SffMultipleCommand(){}
21 vector<string> setParameters();
22 string getCommandName() { return "sff.multiple"; }
23 string getCommandCategory() { return "Sequence Processing"; }
24 string getOutputFileNameTag(string, string);
25 string getHelpString();
26 string getCitation() { return "http://www.mothur.org/wiki/Sff.multiple"; }
27 string getDescription() { return "run multiple sff files through, sffinfo, trim.flow, shhh.flows and trim.seqs combining the results"; }
30 void help() { m->mothurOut(getHelpString()); }
37 linePair(int i, int j) : start(i), end(j) {}
40 string filename, outputDir, flowOrder;
41 vector<string> outputNames;
42 bool abort, trim, large, flip, qtrim, allFiles, keepforward;
43 int maxFlows, minFlows, minLength, maxLength, maxHomoP, tdiffs, bdiffs, pdiffs, sdiffs, ldiffs, numLinkers, numSpacers;
44 int numFlows, numFPrimers, numRPrimers, processors, maxIters, largeSize;
45 float signal, noise, cutoff, sigma, minDelta;
46 int qWindowSize, qWindowStep, keepFirst, removeLast, maxAmbig;
47 double qRollAverage, qThreshold, qWindowAverage, qAverage;
49 int readFile(vector<string>& sffFiles, vector<string>& oligosFiles);
50 int createProcesses(vector<string> sffFiles, vector<string> oligosFiles);
51 int driver(vector<string> sffFiles, vector<string> oligosFiles, int start, int end);