]> git.donarmstrong.com Git - mothur.git/blobdiff - sharedutilities.cpp
fixed sub.sample groups bug
[mothur.git] / sharedutilities.cpp
index 4339a254efbfd9af51796e5c1d473fffa9ffaefa..15f16a6f1942921ca41098dd502750d68c75ce3e 100644 (file)
@@ -226,6 +226,7 @@ void SharedUtil::setGroups(vector<string>& userGroups, vector<string>& allGroups
                        }
                        //rip extra - off allgroups 
                        label = label.substr(0, label.length()-1);
+                       if ((mode != "weighted") && (allGroups.size() > 10)) {  label = "merged";  }
                }
                
                if (mode == "weighted") {
@@ -274,9 +275,13 @@ void SharedUtil::getCombos(vector<string>& groupComb, vector<string> userGroups,
                numComp = 0;
                for (int i=0; i< userGroups.size(); i++) { 
                        numComp += i; 
-                       for (int l = i+1; l < userGroups.size(); l++) {
-                               //set group comparison labels
-                               groupComb.push_back(userGroups[i] + "-" + userGroups[l]);
+                       for (int l = 0; l < i; l++) {
+                               if (userGroups[i] > userGroups[l]) {
+                                       //set group comparison labels
+                                       groupComb.push_back(userGroups[l] + "-" + userGroups[i]);
+                               }else{
+                                       groupComb.push_back(userGroups[i] + "-" + userGroups[l]);
+                               }
                        }
                } 
        }
@@ -300,7 +305,7 @@ bool SharedUtil::isValidGroup(string groupname, vector<string> groups) {
        }
 }
 
-/**************************************************************************************/
+/**************************************************************************************
 void SharedUtil::updateGroupIndex(vector<string>& userGroups, map<string, int>& index) {
        try {
                index.clear();
@@ -313,3 +318,6 @@ void SharedUtil::updateGroupIndex(vector<string>& userGroups, map<string, int>&
                exit(1);
        }
 }
+/**************************************************************************************/
+
+