]> git.donarmstrong.com Git - mothur.git/blobdiff - unweighted.cpp
modified read.otu and shared command
[mothur.git] / unweighted.cpp
index 405dfd2b3feaf4c1a5327526936a7baaaa4aba0a..687786a71e783bdb4df476eb17d6864e07238974 100644 (file)
@@ -64,11 +64,11 @@ EstOutput Unweighted::getValues(Tree* t) {
                                        //if i's children are from the same group then i's pcount size will be 1 
                                        //if copyIpcount.size() = 0 they are from a branch that is entirely from a group the user doesn't want
                                        if (copyIpcount.size() == 0) { }
-                                       else if ((t->tree[i].getBranchLength() != -1) && (copyIpcount.size() == 1)) {  UniqueBL += t->tree[i].getBranchLength();        }
+                                       else if ((t->tree[i].getBranchLength() != -1) && (copyIpcount.size() == 1)) {  UniqueBL += abs(t->tree[i].getBranchLength());   }
                        
                                        //add i's BL to total if it is from the groups the user wants
                                        if ((t->tree[i].getBranchLength() != -1) && (copyIpcount.size() != 0)) {  
-                                               totalBL += t->tree[i].getBranchLength(); 
+                                               totalBL += abs(t->tree[i].getBranchLength()); 
                                        }
                        
                                        /**********************************************************************/
@@ -78,16 +78,16 @@ EstOutput Unweighted::getValues(Tree* t) {
                                        if (t->tree[rc].getRChild() == -1) {
                                                //if rc is a valid group and rc has a BL
                                                if ((inUsersGroups(t->tree[rc].getGroup(), groups) == true) && (t->tree[rc].getBranchLength() != -1)) {
-                                                       UniqueBL += t->tree[rc].getBranchLength();
-                                                       totalBL += t->tree[rc].getBranchLength(); 
+                                                       UniqueBL += abs(t->tree[rc].getBranchLength());
+                                                       totalBL += abs(t->tree[rc].getBranchLength()); 
                                                }
                                        }
                        
                                        if (t->tree[lc].getLChild() == -1) {
                                                //if lc is a valid group and lc has a BL
                                                if ((inUsersGroups(t->tree[lc].getGroup(), groups) == true) && (t->tree[lc].getBranchLength() != -1)) {
-                                                       UniqueBL += t->tree[lc].getBranchLength();
-                                                       totalBL += t->tree[lc].getBranchLength(); 
+                                                       UniqueBL += abs(t->tree[lc].getBranchLength());
+                                                       totalBL += abs(t->tree[lc].getBranchLength()); 
                                                }
                                        }
                        
@@ -109,7 +109,9 @@ EstOutput Unweighted::getValues(Tree* t) {
                        if (numGroups == 0) {
                                //get score for all users groups
                                for (int i = 0; i < tmap->namesOfGroups.size(); i++) {
-                                       groups.push_back(tmap->namesOfGroups[i]);
+                                       if (tmap->namesOfGroups[i] != "xxx") {
+                                               groups.push_back(tmap->namesOfGroups[i]);
+                                       }
                                }
                        }else {
                                for (int i = 0; i < globaldata->Groups.size(); i++) {
@@ -138,11 +140,11 @@ EstOutput Unweighted::getValues(Tree* t) {
                                //if i's children are from the same group then i's pcount size will be 1 
                                //if copyIpcount.size() = 0 they are from a branch that is entirely from a group the user doesn't want
                                if (copyIpcount.size() == 0) { }
-                               else if ((t->tree[i].getBranchLength() != -1) && (copyIpcount.size() == 1)) {  UniqueBL += t->tree[i].getBranchLength();        }
+                               else if ((t->tree[i].getBranchLength() != -1) && (copyIpcount.size() == 1)) {  UniqueBL += abs(t->tree[i].getBranchLength());   }
                        
                                //add i's BL to total if it is from the groups the user wants
                                if ((t->tree[i].getBranchLength() != -1) && (copyIpcount.size() != 0)) {  
-                                       totalBL += t->tree[i].getBranchLength(); 
+                                       totalBL += abs(t->tree[i].getBranchLength()); 
                                }
                        
                                /**********************************************************************/
@@ -152,16 +154,16 @@ EstOutput Unweighted::getValues(Tree* t) {
                                if (t->tree[rc].getRChild() == -1) {
                                        //if rc is a valid group and rc has a BL
                                        if ((inUsersGroups(t->tree[rc].getGroup(), groups) == true) && (t->tree[rc].getBranchLength() != -1)) {
-                                               UniqueBL += t->tree[rc].getBranchLength();
-                                               totalBL += t->tree[rc].getBranchLength(); 
+                                               UniqueBL += abs(t->tree[rc].getBranchLength());
+                                               totalBL += abs(t->tree[rc].getBranchLength()); 
                                        }
                                }
                        
                                if (t->tree[lc].getLChild() == -1) {
                                        //if lc is a valid group and lc has a BL
                                        if ((inUsersGroups(t->tree[lc].getGroup(), groups) == true) && (t->tree[lc].getBranchLength() != -1)) {
-                                               UniqueBL += t->tree[lc].getBranchLength();
-                                               totalBL += t->tree[lc].getBranchLength(); 
+                                               UniqueBL += abs(t->tree[lc].getBranchLength());
+                                               totalBL += abs(t->tree[lc].getBranchLength()); 
                                        }
                                }
                        
@@ -179,14 +181,9 @@ EstOutput Unweighted::getValues(Tree* t) {
        
        }
        catch(exception& e) {
-               cout << "Standard Error: " << e.what() << " has occurred in the Unweighted class Function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
-               exit(1);
-       }
-       catch(...) {
-               cout << "An unknown error has occurred in the Unweighted class function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               errorOut(e, "Unweighted", "getValues");
                exit(1);
        }
-
 }
 
 /**************************************************************************************************/
@@ -252,11 +249,11 @@ EstOutput Unweighted::getValues(Tree* t, string groupA, string groupB) {
                                        //if i's children are from the same group then i's pcount size will be 1 
                                        //if copyIpcount.size() = 0 they are from a branch that is entirely from a group the user doesn't want
                                        if (copyIpcount.size() == 0) { }
-                                       else if ((copyTree->tree[i].getBranchLength() != -1) && (copyIpcount.size() == 1)) {  UniqueBL += copyTree->tree[i].getBranchLength();  }
+                                       else if ((copyTree->tree[i].getBranchLength() != -1) && (copyIpcount.size() == 1)) {  UniqueBL += abs(copyTree->tree[i].getBranchLength());     }
                        
                                        //add i's BL to total if it is from the groups the user wants
                                        if ((copyTree->tree[i].getBranchLength() != -1) && (copyIpcount.size() != 0)) {  
-                                               totalBL += copyTree->tree[i].getBranchLength(); 
+                                               totalBL += abs(copyTree->tree[i].getBranchLength()); 
                                        }
                        
                                        /**********************************************************************/
@@ -266,16 +263,16 @@ EstOutput Unweighted::getValues(Tree* t, string groupA, string groupB) {
                                        if (copyTree->tree[rc].getRChild() == -1) {
                                                //if rc is a valid group and rc has a BL
                                                if ((inUsersGroups(copyTree->tree[rc].getGroup(), groups) == true) && (copyTree->tree[rc].getBranchLength() != -1)) {
-                                                       UniqueBL += copyTree->tree[rc].getBranchLength();
-                                                       totalBL += copyTree->tree[rc].getBranchLength(); 
+                                                       UniqueBL += abs(copyTree->tree[rc].getBranchLength());
+                                                       totalBL += abs(copyTree->tree[rc].getBranchLength()); 
                                                }
                                        }
                        
                                        if (copyTree->tree[lc].getLChild() == -1) {
                                                //if lc is a valid group and lc has a BL
                                                if ((inUsersGroups(copyTree->tree[lc].getGroup(), groups) == true) && (copyTree->tree[lc].getBranchLength() != -1)) {
-                                                       UniqueBL += copyTree->tree[lc].getBranchLength();
-                                                       totalBL += copyTree->tree[lc].getBranchLength(); 
+                                                       UniqueBL += abs(copyTree->tree[lc].getBranchLength());
+                                                       totalBL += abs(copyTree->tree[lc].getBranchLength()); 
                                                }
                                        }
                        
@@ -297,7 +294,9 @@ EstOutput Unweighted::getValues(Tree* t, string groupA, string groupB) {
                        if (numGroups == 0) {
                                //get score for all users groups
                                for (int i = 0; i < tmap->namesOfGroups.size(); i++) {
-                                       groups.push_back(tmap->namesOfGroups[i]);
+                                       if (tmap->namesOfGroups[i] != "xxx") {
+                                               groups.push_back(tmap->namesOfGroups[i]);
+                                       }
                                }
                        }else {
                                for (int i = 0; i < globaldata->Groups.size(); i++) {
@@ -332,11 +331,11 @@ EstOutput Unweighted::getValues(Tree* t, string groupA, string groupB) {
                                //if i's children are from the same group then i's pcount size will be 1 
                                //if copyIpcount.size() = 0 they are from a branch that is entirely from a group the user doesn't want
                                if (copyIpcount.size() == 0) { }
-                               else if ((copyTree->tree[i].getBranchLength() != -1) && (copyIpcount.size() == 1)) {  UniqueBL += copyTree->tree[i].getBranchLength();  }
+                               else if ((copyTree->tree[i].getBranchLength() != -1) && (copyIpcount.size() == 1)) {  abs(UniqueBL += copyTree->tree[i].getBranchLength());     }
                        
                                //add i's BL to total if it is from the groups the user wants
                                if ((copyTree->tree[i].getBranchLength() != -1) && (copyIpcount.size() != 0)) {  
-                                       totalBL += copyTree->tree[i].getBranchLength(); 
+                                       totalBL += abs(copyTree->tree[i].getBranchLength()); 
                                }
                        
                                /**********************************************************************/
@@ -346,16 +345,16 @@ EstOutput Unweighted::getValues(Tree* t, string groupA, string groupB) {
                                if (copyTree->tree[rc].getRChild() == -1) {
                                        //if rc is a valid group and rc has a BL
                                        if ((inUsersGroups(copyTree->tree[rc].getGroup(), groups) == true) && (copyTree->tree[rc].getBranchLength() != -1)) {
-                                               UniqueBL += copyTree->tree[rc].getBranchLength();
-                                               totalBL += copyTree->tree[rc].getBranchLength(); 
+                                               UniqueBL += abs(copyTree->tree[rc].getBranchLength());
+                                               totalBL += abs(copyTree->tree[rc].getBranchLength()); 
                                        }
                                }
                        
                                if (copyTree->tree[lc].getLChild() == -1) {
                                        //if lc is a valid group and lc has a BL
                                        if ((inUsersGroups(copyTree->tree[lc].getGroup(), groups) == true) && (copyTree->tree[lc].getBranchLength() != -1)) {
-                                               UniqueBL += copyTree->tree[lc].getBranchLength();
-                                               totalBL += copyTree->tree[lc].getBranchLength(); 
+                                               UniqueBL += abs(copyTree->tree[lc].getBranchLength());
+                                               totalBL += abs(copyTree->tree[lc].getBranchLength()); 
                                        }
                                }
                        
@@ -375,11 +374,7 @@ EstOutput Unweighted::getValues(Tree* t, string groupA, string groupB) {
        
        }
        catch(exception& e) {
-               cout << "Standard Error: " << e.what() << " has occurred in the Unweighted class Function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
-               exit(1);
-       }
-       catch(...) {
-               cout << "An unknown error has occurred in the Unweighted class function getValues. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               errorOut(e, "Unweighted", "getValues");
                exit(1);
        }
 }