]> git.donarmstrong.com Git - mothur.git/blob - seqsummarycommand.h
added pipeline commands which involved change to command factory and command class...
[mothur.git] / seqsummarycommand.h
1 #ifndef SEQSUMMARYCOMMAND_H
2 #define SEQSUMMARYCOMMAND_H
3
4 /*
5  *  seqcoordcommand.h
6  *  Mothur
7  *
8  *  Created by Pat Schloss on 5/30/09.
9  *  Copyright 2009 Patrick D. Schloss. All rights reserved.
10  *
11  */
12
13 #include "mothur.h"
14 #include "command.hpp"
15
16 class SeqSummaryCommand : public Command {
17 public:
18         SeqSummaryCommand(string);
19         SeqSummaryCommand();
20         ~SeqSummaryCommand();
21         vector<string> getRequiredParameters();
22         vector<string> getValidParameters();
23         vector<string> getRequiredFiles();
24         map<string, vector<string> > getOutputFiles() { return outputTypes; }
25         int execute();
26         void help();
27         
28 private:
29         bool abort;
30         string fastafile, outputDir;
31         int processors;
32         vector<string> outputNames;
33         map<string, vector<string> > outputTypes;
34         
35         struct linePair {
36                 unsigned long int start;
37                 unsigned long int end;
38                 linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
39         };
40
41         vector<linePair*> lines;
42         vector<int> processIDS;
43         
44         int createProcessesCreateSummary(vector<int>&, vector<int>&, vector<int>&, vector<int>&, vector<int>&, string, string);
45         int driverCreateSummary(vector<int>&, vector<int>&, vector<int>&, vector<int>&, vector<int>&, string, string, linePair*);       
46
47         #ifdef USE_MPI
48         int MPICreateSummary(int, int, vector<int>&, vector<int>&, vector<int>&, vector<int>&, vector<int>&, MPI_File&, MPI_File&, vector<unsigned long int>&); 
49         #endif
50
51
52 };
53
54 #endif