]> git.donarmstrong.com Git - mothur.git/blob - sffmultiplecommand.h
added modify names parameter to set.dir
[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 #include "sffinfocommand.h"
14 #include "seqsummarycommand.h"
15 #include "trimflowscommand.h"
16 #include "shhhercommand.h"
17 #include "trimseqscommand.h"
18
19 class SffMultipleCommand : public Command {
20         
21 public:
22         SffMultipleCommand(string);
23         SffMultipleCommand();
24         ~SffMultipleCommand(){}
25         
26         vector<string> setParameters();
27         string getCommandName()                 { return "sff.multiple";                        }
28         string getCommandCategory()             { return "Sequence Processing";         }
29         
30         string getHelpString(); 
31     string getOutputPattern(string);    
32         string getCitation() { return "http://www.mothur.org/wiki/Sff.multiple"; }
33         string getDescription()         { return "run multiple sff files through, sffinfo, trim.flow, shhh.flows and trim.seqs combining the results"; }
34     
35         int execute(); 
36         void help() { m->mothurOut(getHelpString()); }  
37         
38 private:
39     
40     struct linePair {
41                 int start;
42                 int end;
43                 linePair(int i, int j) : start(i), end(j) {}
44         };
45
46         string filename, outputDir, flowOrder, lookupFileName, minDelta;
47         vector<string> outputNames;
48         bool abort, trim, large, flip, allFiles, keepforward, append, makeGroup;
49         int maxFlows, minFlows, minLength, maxLength, maxHomoP, tdiffs, bdiffs, pdiffs, sdiffs, ldiffs;
50         int processors, maxIters, largeSize;
51         float signal, noise, cutoff, sigma;
52     int keepFirst, removeLast, maxAmbig;
53     
54     int readFile(vector<string>& sffFiles, vector<string>& oligosFiles);
55     int createProcesses(vector<string> sffFiles, vector<string> oligosFiles, string, string, string);
56     int driver(vector<string> sffFiles, vector<string> oligosFiles, int start, int end, string, string, string);
57     int mergeOutputFileList(map<string, vector<string> >& files, map<string, vector<string> >& temp);
58
59
60     
61 };
62
63 #endif