#define KRUSKALWALLISCOMMAND_H
#include "command.hpp"
+#include "inputdata.h"
+#include "designmap.h"
class KruskalWallisCommand : public Command {
-
+
public:
-
+
KruskalWallisCommand(string);
KruskalWallisCommand();
~KruskalWallisCommand(){}
vector<string> setParameters();
- string getCommandName() { return "kruskalwallis"; }
+ string getCommandName() { return "kruskal.wallis"; }
string getCommandCategory() { return "Hypothesis Testing"; }
- string getOutputFileNameTag(string, string);
+ string getOutputPattern(string);
string getHelpString();
- string getCitation() { return "http://www.mothur.org/wiki/kruskalwallis"; }
+ string getCitation() { return "http://www.mothur.org/wiki/Kruskal.wallis"; }
string getDescription() { return "Non-parametric method for testing whether samples originate from the same distribution."; }
+ struct groupRank {
+ string group;
+ double value;
+ double rank;
+ };
+
int execute();
void help() { m->mothurOut(getHelpString()); }
- multimap<double,double> getRank(vector<KruskalWallisCommand::groupRank>);
+ void assignRank(vector<groupRank>&);
+ void assignValue(vector<groupRank>&);
+
private:
- string outputDir;
- vector<int> counts;
- vector<double> rankSums;
- vector<double> rankMeans;
+ bool abort, allLines;
+ string outputDir, sharedfile, designfile, mclass;
+ vector<string> outputNames;
+ set<string> labels;
+ int process(vector<SharedRAbundVector*>&, DesignMap&);
};
#endif /* KRUSKALWALLISCOMMAND_H */