]> git.donarmstrong.com Git - mothur.git/blob - summarysharedcommand.h
added pipeline commands which involved change to command factory and command class...
[mothur.git] / summarysharedcommand.h
1 #ifndef SUMMARYSHAREDCOMMAND_H
2 #define SUMMARYSHAREDCOMMAND_H
3 /*
4  *  summarysharedcommand.h
5  *  Dotur
6  *
7  *  Created by Sarah Westcott on 1/2/09.
8  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
9  *
10  */
11
12
13 #include "command.hpp"
14 #include "sharedrabundvector.h"
15 #include "inputdata.h"
16 #include "calculator.h"
17 #include "readotu.h"
18 #include "validcalculator.h"
19
20 class GlobalData;
21
22 class SummarySharedCommand : public Command {
23
24 public:
25         SummarySharedCommand(string);
26         SummarySharedCommand();
27         ~SummarySharedCommand();
28         vector<string> getRequiredParameters();
29         vector<string> getValidParameters();
30         vector<string> getRequiredFiles();
31         map<string, vector<string> > getOutputFiles() { return outputTypes; }
32         int execute();
33         void help();
34         
35 private:
36         struct linePair {
37                 int start;
38                 int end;
39         };
40         vector<linePair> lines;
41         GlobalData* globaldata;
42         ReadOTUFile* read;
43         vector<Calculator*> sumCalculators;     
44         InputData* input;
45         ValidCalculators* validCalculator;
46         
47         bool abort, allLines, mult, all, createPhylip;
48         set<string> labels; //holds labels to be used
49         string label, calc, groups;
50         vector<string>  Estimators, Groups, outputNames;
51         map<string, vector<string> > outputTypes;
52         vector<SharedRAbundVector*> lookup;
53         string format, outputDir;
54         int numGroups, processors;
55         int process(vector<SharedRAbundVector*>, string, string);
56         int driver(vector<SharedRAbundVector*>, int, int, string, string, vector< vector<seqDist> >&);
57
58 };
59
60 #endif