]> git.donarmstrong.com Git - mothur.git/blobdiff - mgclustercommand.h
changes while testing
[mothur.git] / mgclustercommand.h
index 9aa86d4441e5c5f1202a6d552fef31162337c00d..3865bb20811a0ac29e29e0fec02392268ea0a657 100644 (file)
 
 #include "command.hpp"
 #include "readblast.h"
-#include "sparsematrix.hpp"
 #include "nameassignment.hpp"
-#include "globaldata.hpp"
 #include "cluster.hpp"
 #include "hcluster.h"
+#include "rabundvector.hpp"
+#include "sabundvector.hpp"
+#include "counttable.h"
 
 /**********************************************************************/
 
@@ -24,32 +25,46 @@ class MGClusterCommand : public Command {
 
 public:
        MGClusterCommand(string);
-       ~MGClusterCommand();
-       int execute();
-       void help();
+       MGClusterCommand();
+       ~MGClusterCommand(){}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "mgcluster";   }
+       string getCommandCategory()             { return "Clustering";  }
+       
+       string getHelpString(); 
+    string getOutputPattern(string);   
+       string getCitation() { return "Schloss PD, Handelsman J (2008). A statistical toolbox for metagenomics. BMC Bioinformatics 9: 34. \nhttp://www.mothur.org/wiki/Mgcluster"; }
+       string getDescription()         { return "cluster your sequences into OTUs using a blast file"; }
+
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }  
+       
        
 private:
-       GlobalData* globaldata;
        ReadBlast* read;
        NameAssignment* nameMap;
        Cluster* cluster;
        HCluster* hcluster;
        ListVector* list;
+    CountTable* ct;
        ListVector oldList;
-       vector<DistNode> overlapMatrix;
-       DistNode next;
-
+    RAbundVector rav;
+       vector<seqDist> overlapMatrix;
+       vector<string> outputNames;
        
-       string blastfile, method, namefile, overlapFile, distFile;
+       string blastfile, method, namefile, countfile, overlapFile, distFile, outputDir;
        ofstream sabundFile, rabundFile, listFile;
-       float cutoff, penalty;
+       double cutoff;
+       float penalty, adjust;
        int precision, length, precisionLength;
-       bool abort, minWanted, hclusterWanted, exitedBreak, merge;
+       bool abort, minWanted, hclusterWanted, merge, hard, cutoffSet;
        
        void printData(ListVector*);
        ListVector* mergeOPFs(map<string, int>, float);
        void sortHclusterFiles(string, string);
-       vector<DistNode> getSeqs(ifstream&);
+       vector<seqDist> getSeqs(ifstream&);
+    void createRabund(CountTable*&, ListVector*&, RAbundVector*&);
 
 };