]> git.donarmstrong.com Git - mothur.git/blobdiff - metastatscommand.h
added otu.association command. added calcSpearman, calcKendall and calcPearson functi...
[mothur.git] / metastatscommand.h
index 9c9f455b4e8b4f45d309e5453da5c41fbba813d7..88e32acc0426a15525b1278bd5fc6d9c4d6392fc 100644 (file)
  
 #include "command.hpp"
 #include "inputdata.h"
-#include "readotu.h"
 #include "sharedrabundvector.h"
 
-class GlobalData;
-
 class MetaStatsCommand : public Command {
 
 public:
        MetaStatsCommand(string);
-       ~MetaStatsCommand();
-       int execute();
-       void help();
+       MetaStatsCommand();
+       ~MetaStatsCommand() {}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "metastats";                           }
+       string getCommandCategory()             { return "OTU-Based Approaches";        }
+       string getHelpString(); 
+       string getCitation() { return "White JR, Nagarajan N, Pop M (2009). Statistical methods for detecting differentially abundant features in clinical metagenomic samples. PLoS Comput Biol 5: e1000352. \nhttp://www.mothur.org/wiki/Metastats"; }
+       string getDescription()         { return "detects differentially abundant features in clinical metagenomic samples"; }
+
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }  
        
 private:
-       GlobalData* globaldata;
+       struct linePair {
+               int start;
+               int num;
+               linePair(int i, int j) : start(i), num(j) {}
+       };
+       vector<linePair> lines;
+       
        GroupMap* designMap;
-       ReadOTUFile* read;
        InputData* input;
        vector<SharedRAbundVector*> lookup;
-       
+               
        bool abort, allLines, pickedGroups;
        set<string> labels; //holds labels to be used
-       string groups, label, outputDir, inputDir, designfile;
-       vector<string> Groups, outputNames;
-       int iters, g;
+       string groups, label, outputDir, inputDir, designfile, sets, sharedfile;
+       vector<string> Groups, outputNames, Sets;
+       vector< vector<string> > namesOfGroupCombos;
+       int iters, processors;
        float threshold;
        
        int process(vector<SharedRAbundVector*>&);
-       int eliminateZeroOTUS(vector<SharedRAbundVector*>&);
+       int driver(int, int, vector<SharedRAbundVector*>&);
 };
 
 #endif