*
*/
-#include <Carbon/Carbon.h>
-#include <iostream>
-#include <fstream>
-#include <vector>
+
#include "command.hpp"
#include "sharedrabundvector.h"
#include "inputdata.h"
#include "calculator.h"
-#include "readmatrix.hpp"
-#include "sharedlistvector.h"
-
-/*The summary.shared() command
- The summary.shared command can only be executed after a successful read.shared command.
- It outputs a file for each estimator you choose to use. The summary.shared command parameters are label,
- line, jumble and sharedsummary. No parameters are required, but you may not use both the line and label parameters at the same time.
- The summary.shared command should be in the following format: summary.shared(label=yourLabel,
- line=yourLines, jumble=yourJumble, sharedsummary=yourEstimators).
- Example summary.shared(label=unique-.01-.03, line=0,5,10, jumble=1, sharedsummary=sharedChao-sharedAce-sharedJabund
- -sharedSorensonAbund-sharedJclass-sharedSorClass-sharedJest-sharedSorEst-SharedThetaYC-SharedThetaN).
- The default value for jumble is 0 (meaning don’t jumble, if it’s set to 1 then it will jumble) and
- sharedsummary is sharedChao-sharedAce-sharedJabund-sharedSorensonAbund-sharedJclass-sharedSorClass-sharedJest-sharedSorEst-SharedThetaYC-SharedThetaN.
- The valid sharedsummary estimators are: sharedChao-sharedAce-sharedJabund-sharedSorensonAbund-sharedJclass-sharedSorClass
- -sharedJest-sharedSorEst-SharedThetaYC-SharedThetaN. The label and line parameters are used to analyze specific lines in your input. */
-
+#include "readotu.h"
+#include "validcalculator.h"
class GlobalData;
-
class SummarySharedCommand : public Command {
public:
- SummarySharedCommand();
+ SummarySharedCommand(string);
~SummarySharedCommand();
int execute();
+ void help();
private:
- void getGroupComb();
- void getSharedVectors();
-
GlobalData* globaldata;
- ReadMatrix* read;
+ ReadOTUFile* read;
vector<Calculator*> sumCalculators;
InputData* input;
- SharedListVector* SharedList;
- SharedOrderVector* order;
+ ValidCalculators* validCalculator;
+
+ bool abort, allLines, mult, all;
+ set<string> labels; //holds labels to be used
+ string label, calc, groups;
+ vector<string> Estimators, Groups, outputNames;
vector<SharedRAbundVector*> lookup;
- SharedRAbundVector* shared1, shared2;
- string outputFileName;
- ofstream outputFileHandle;
- vector<string> groupComb;
+ string outputFileName, format, outAllFileName, outputDir;
+ ofstream outputFileHandle, outAll;
+ int process(vector<SharedRAbundVector*>);
};
-#endif
\ No newline at end of file
+#endif