]> git.donarmstrong.com Git - mothur.git/blobdiff - clustercommand.h
working on pam
[mothur.git] / clustercommand.h
index 368760ac9465c231674b84de2ffffa5b714382f2..cd9f47b07d9e8af9a6f04c014fabcfaf36a2818e 100644 (file)
 #include "sabundvector.hpp"
 #include "listvector.hpp"
 #include "cluster.hpp"
-#include "sparsematrix.hpp"
+#include "sparsedistancematrix.h"
+#include "counttable.h"
 
 /* The cluster() command:
        The cluster command outputs a .list , .rabund and .sabund files.  
        The cluster command parameter options are method, cuttoff and precision. No parameters are required.  
        The cluster command should be in the following format: cluster(method=yourMethod, cutoff=yourCutoff, precision=yourPrecision).  
-       The acceptable methods are furthest, nearest and average.  If you do not provide a method the default algorythm is furthest neighbor.  
+       The acceptable methods are furthest, nearest and average.  If you do not provide a method the default algorithm is furthest neighbor.  
        The cluster() command outputs three files *.list, *.rabund, and *.sabund.   */
 
 
@@ -32,16 +33,20 @@ public:
        ~ClusterCommand();
        
        vector<string> setParameters();
-       string getCommandName()                 { return "cluster";                                     }
-       string getCommandCategory()             { return "OTU-Based Approaches";        }
+       string getCommandName()                 { return "cluster";             }
+       string getCommandCategory()             { return "Clustering";  }
+       
        string getHelpString(); 
+    string getOutputPattern(string);   
+       string getCitation() { return "Schloss PD, Westcott SL (2011). Assessing and improving methods used in OTU-based approaches for 16S rRNA gene sequence analysis. Appl Environ Microbiol 77:3219.\nSchloss PD, Handelsman J (2005). Introducing DOTUR, a computer program for defining operational taxonomic units and estimating species richness. Appl Environ Microbiol 71: 1501-6.\nhttp://www.mothur.org/wiki/Cluster"; }
+       string getDescription()         { return "cluster your sequences into OTUs using a distance matrix"; }
        
        int execute(); 
        void help() { m->mothurOut(getHelpString()); }  
        
 private:
        Cluster* cluster;
-       SparseMatrix* matrix;
+       SparseDistanceMatrix* matrix;
        ListVector* list;
        RAbundVector* rabund;
        RAbundVector oldRAbund;
@@ -49,8 +54,9 @@ private:
 
        bool abort, hard, sim;
 
-       string method, fileroot, tag, outputDir, phylipfile, columnfile, namefile, format, distfile;
+       string method, fileroot, tag, outputDir, phylipfile, columnfile, namefile, format, distfile, countfile;
        double cutoff;
+    float adjust;
        string showabund, timing;
        int precision, length;
        ofstream sabundFile, rabundFile, listFile;
@@ -61,6 +67,8 @@ private:
        
        void printData(string label);
        vector<string> outputNames;
+    
+    int createRabund(CountTable*&, ListVector*&, RAbundVector*&);
 };
 
 #endif