]> git.donarmstrong.com Git - mothur.git/blob - sffmultiplecommand.h
added oligos, pdiffs, bdiffs, ldiffs, sdiffs, tiffs parameters to sffinfo to allow...
[mothur.git] / sffmultiplecommand.h
1 #ifndef Mothur_sffmultiplecommand_h
2 #define Mothur_sffmultiplecommand_h
3
4 //
5 //  sffmultiplecommand.h
6 //  Mothur
7 //
8 //  Created by Sarah Westcott on 8/14/12.
9 //  Copyright (c) 2012 Schloss Lab. All rights reserved.
10 //
11
12 #include "command.hpp"
13
14 class SffMultipleCommand : public Command {
15         
16 public:
17         SffMultipleCommand(string);
18         SffMultipleCommand();
19         ~SffMultipleCommand(){}
20         
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"; }
28     
29         int execute(); 
30         void help() { m->mothurOut(getHelpString()); }  
31         
32 private:
33     
34     struct linePair {
35                 int start;
36                 int end;
37                 linePair(int i, int j) : start(i), end(j) {}
38         };
39
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;
48     
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);
52
53     
54 };
55
56
57 #endif