]> git.donarmstrong.com Git - mothur.git/blobdiff - kruskalwalliscommand.h
added modify names parameter to set.dir
[mothur.git] / kruskalwalliscommand.h
index 7e526137bc42daa1928c7e0988e1b52d546dbf2a..feefebd58fdb5650f41e9642a63e6dc68d011a24 100644 (file)
@@ -9,11 +9,14 @@
 #define        KRUSKALWALLISCOMMAND_H
 
 #include "command.hpp"
+#include "inputdata.h"
+#include "sharedrabundvector.h"
 
-class KruskalWallisCommand : public Command {
 
+class KruskalWallisCommand : public Command {
+   
 public:
-       
+           
        KruskalWallisCommand(string);   
        KruskalWallisCommand();
        ~KruskalWallisCommand(){}
@@ -21,21 +24,40 @@ public:
        vector<string> setParameters();
        string getCommandName()                 { return "kruskalwallis";                       }
        string getCommandCategory()             { return "Hypothesis Testing";  }
-       string getOutputFileNameTag(string, string);
+    string getOutputPattern(string);   
        string getHelpString(); 
        string getCitation() { return "http://www.mothur.org/wiki/kruskalwallis"; }
        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;
+    string outputDir, sharedfile, groups;
+    bool abort;
+    set<string> labels;
+    vector<string> outputNames, Groups;
     vector<int> counts;
     vector<double> rankSums;
     vector<double> rankMeans;
     
+  
+        
+    static bool comparevalue(const groupRank &a, const groupRank &b) { return a.value < b.value; }
+    static bool equalvalue(const groupRank &a, const groupRank &b) { return a.value == b.value; }
+    static bool comparerank(const groupRank &a, const groupRank &b) { return a.rank < b.rank; }
+    static bool equalrank(const groupRank &a, const groupRank &b) { return a.rank == b.rank; }
+    static bool equalgroup(const groupRank &a, const groupRank &b) { return a.group == b.group; }
+    
 };
 
 #endif /* KRUSKALWALLISCOMMAND_H */