]> git.donarmstrong.com Git - mothur.git/blobdiff - treegroupscommand.h
sffinfo bug with flow grams right index when clipQualRight=0
[mothur.git] / treegroupscommand.h
index a0e0d420163cabdfe46518873cc3a42d98bc14a6..36c852bd8ef545894b9aa00245064eb112e236c6 100644 (file)
 #include "groupmap.h"
 #include "validcalculator.h"
 #include "tree.h"
-#include "treemap.h"
+#include "counttable.h"
 #include "readmatrix.hpp"
 #include "readcolumn.h"
 #include "readphylip.h"
-#include "sparsematrix.hpp"
 #include "sharedsobscollectsummary.h"
 #include "sharedchao1.h"
 #include "sharedace.h"
@@ -69,8 +68,6 @@
        They can also use as many or as few calculators as they wish. */
        
 
-typedef list<PCell>::iterator MatData;
-
 class TreeGroupCommand : public Command {
        
 public:
@@ -81,8 +78,9 @@ public:
        vector<string> setParameters();
        string getCommandName()                 { return "tree.shared";                         }
        string getCommandCategory()             { return "OTU-Based Approaches";        }
-       string getOutputFileNameTag(string, string);
+       
        string getHelpString(); 
+    string getOutputPattern(string);   
        string getCitation() { return "http://www.mothur.org/wiki/Tree.shared"; }
        string getDescription()         { return "generate a tree file that describes the dissimilarity among groups"; }
 
@@ -101,21 +99,19 @@ private:
        Tree* createTree(vector< vector<double> >&);
        void printSims(ostream&, vector< vector<double> >&);
        int makeSimsShared();
-       vector< vector<double> > makeSimsDist();
+       vector< vector<double> > makeSimsDist(SparseDistanceMatrix*);
     int writeTree(string, Tree*);
     int driver(vector<SharedRAbundVector*>, int, int, vector< vector<seqDist> >&);
        
-       ReadMatrix* readMatrix;
-       SparseMatrix* matrix;
        NameAssignment* nameMap;
        ListVector* list;
-       TreeMap* tmap;
+       CountTable* ct;
        Tree* t;
     InputData* input;
        vector<Calculator*> treeCalculators;
        vector<SharedRAbundVector*> lookup;
        string lastLabel;
-       string format, groupNames, filename, sharedfile, inputfile;
+       string format, groupNames, filename, sharedfile, countfile, inputfile;
        int numGroups, subsampleSize, iters, processors;
        ofstream out;
        float precision, cutoff;
@@ -143,6 +139,7 @@ struct treeSharedData {
        unsigned long long start;
        unsigned long long end;
        MothurOut* m;
+    int count;
        
        treeSharedData(){}
        treeSharedData(MothurOut* mout, unsigned long long st, unsigned long long en, vector<string> est, vector<SharedRAbundVector*> lu) {
@@ -151,6 +148,7 @@ struct treeSharedData {
                end = en;
         Estimators = est;
         thisLookup = lu;
+        count=0;
        }
 };
 /**************************************************************************************************/
@@ -253,6 +251,8 @@ static DWORD WINAPI MyTreeSharedThreadFunction(LPVOID lpParam){
                vector<SharedRAbundVector*> subset;
                for (int k = pDataArray->start; k < pDataArray->end; k++) { // pass cdd each set of groups to compare
                        
+            pDataArray->count++;
+            
                        for (int l = 0; l < k; l++) {
                                
                                if (k != l) { //we dont need to similiarity of a groups to itself