]> git.donarmstrong.com Git - mothur.git/blobdiff - libshuff.cpp
added modify names parameter to set.dir
[mothur.git] / libshuff.cpp
index 002cd52d2aff36d8ac70d4ed9b919d8a8d0a2033..5f1bdefe6ea95e36c6b30800a690af2ceecb1fbb 100644 (file)
@@ -17,14 +17,14 @@ void swap(int& i,int& j){   int t = i;  i = j;  j = t;      }
 
 Libshuff::Libshuff(FullMatrix* D, int it, float step, float co) : matrix(D), iters(it), stepSize(step), cutOff(co){
        try{
+               m = MothurOut::getInstance();
                groupNames = matrix->getGroups();
                groupSizes = matrix->getSizes();
                numGroups = matrix->getNumGroups();
-
                initializeGroups(matrix);
        }
        catch(exception& e) {
-               errorOut(e, "Libshuff", "Libshuff");
+               m->errorOut(e, "Libshuff", "Libshuff");
                exit(1);
        }
 }
@@ -43,13 +43,14 @@ void Libshuff::initializeGroups(FullMatrix* matrix){
                }
                int index=0;
                for(int i=0;i<numGroups;i++){
+
                        for(int j=0;j<groupSizes[i];j++){
                                savedGroups[i][j] = groups[i][j] = index++;
                        }
                }
        }
        catch(exception& e) {
-               errorOut(e, "Libshuff", "initializeGroups");
+               m->errorOut(e, "Libshuff", "initializeGroups");
                exit(1);
        }
 }
@@ -66,7 +67,8 @@ vector<double> Libshuff::getMinX(int x){
        try{
                vector<double> minX(groupSizes[x], 0);
                for(int i=0;i<groupSizes[x];i++){
-                       minX[i] = (groupSizes[x] > 1 ? (i==0 ? matrix->get(groups[x][0], groups[x][1]) : matrix->get(groups[x][i], groups[x][0])) : 0.0);
+                       minX[i] = (groupSizes[x] > 1 ? (i==0 ? matrix->get(groups[x][0], groups[x][1]) : matrix->get(groups[x][i], groups[x][0])) : 0.0); //get the first value in row i of this block
+                       //minX[i] = matrix->get(groups[x][i], groups[x][0]);
                        for(int j=0;j<groupSizes[x];j++){
                                if(i != j)      {
                                        double dx = matrix->get(groups[x][i], groups[x][j]);
@@ -77,7 +79,7 @@ vector<double> Libshuff::getMinX(int x){
                return minX;
        }
        catch(exception& e) {
-               errorOut(e, "Libshuff", "getMinX");
+               m->errorOut(e, "Libshuff", "getMinX");
                exit(1);
        }
 }
@@ -98,7 +100,7 @@ vector<double> Libshuff::getMinXY(int x, int y){
                return minXY;
        }
        catch(exception& e) {
-               errorOut(e, "Libshuff", "getMinXY");
+               m->errorOut(e, "Libshuff", "getMinXY");
                exit(1);
        }
 }
@@ -124,7 +126,7 @@ void Libshuff::randomizeGroups(int x, int y){
                for(int k=0;k<groupSizes[y];k++)        {       groups[y][k]=v[index++];        }
        }
        catch(exception& e) {
-               errorOut(e, "Libshuff", "randomizeGroups");
+               m->errorOut(e, "Libshuff", "randomizeGroups");
                exit(1);
        }
 }