*
*/
-#include <iostream>
-#include <fstream>
-#include <vector>
#include "command.hpp"
#include "sabundvector.hpp"
#include "inputdata.h"
#include "calculator.h"
-#include "readmatrix.hpp"
#include "validcalculator.h"
-/* The summary() command:
- The summary command can only be executed after a successful read.list, read.sabund or read.rabund command, with one exception.
- The summary command can be executed after a successful cluster command. It will use the .list file from the output of the cluster.
- The summary command outputs a file for each estimator you choose to use. The summary command parameters are label, line, summary.
- No parameters are required, but you may not use both the line and label parameters at the same time.
- The summary command should be in the following format: summary(label=yourLabel, line=yourLines, summary=yourEstimators).
- Example summary(label=unique-.01-.03, line=0,5,10, summary=collect-chao-ace-jack-bootstrap-shannon-npshannon-simpson).
- The default value for summary is collect-chao-ace-jack-bootstrap-shannon-npshannon-simpson.
- The valid summary estimators are: collect-chao-ace-jack-bootstrap-shannon-npshannon-simpson.
- The label and line parameters are used to analyze specific lines in your input. */
-
-
-class GlobalData;
-
class SummaryCommand : public Command {
public:
+ SummaryCommand(string);
SummaryCommand();
- ~SummaryCommand();
- int execute();
+ ~SummaryCommand(){}
+
+ vector<string> setParameters();
+ string getCommandName() { return "summary.single"; }
+ string getCommandCategory() { return "OTU-Based Approaches"; }
+ string getOutputFileNameTag(string, string);
+ string getHelpString();
+ string getCitation() { return "http://www.mothur.org/wiki/Summary.single"; }
+ string getDescription() { return "generate summary file that has the calculator value for each line in the OTU data"; }
+
+
+ int execute();
+ void help() { m->mothurOut(getHelpString()); }
private:
- GlobalData* globaldata;
- ReadMatrix* read;
vector<Calculator*> sumCalculators;
InputData* input;
- ValidCalculators* validCalculator;
SAbundVector* sabund;
- string outputFileName;
- ofstream outputFileHandle;
+ int abund, size, iters, subsampleSize;
+
+ bool abort, allLines, groupMode, subsample;
+ set<string> labels; //holds labels to be used
+ string label, calc, outputDir, sharedfile, listfile, rabundfile, sabundfile, format, inputfile;
+ vector<string> Estimators;
+ vector<string> inputFileNames, outputNames;
+ vector<string> groups;
+
+ vector<string> parseSharedFile(string);
+ vector<string> createGroupSummaryFile(int, int, vector<string>&, map<string, string>);
+ int process(SAbundVector*&, ofstream&, ofstream&);
+
+
};
#endif