]> git.donarmstrong.com Git - mothur.git/blobdiff - groupmap.cpp
added modify names parameter to set.dir
[mothur.git] / groupmap.cpp
index e5d8427200aed0a61aaf04a0e7084ed0e17a0a78..9d2736405f8e306dc8e5238f8bad1a26b92b88bb 100644 (file)
@@ -317,6 +317,10 @@ string GroupMap::getGroup(string sequenceName) {
        if (it != groupmap.end()) { //sequence name was in group file
                return it->second;      
        }else {
+        //look for it in names of groups to see if the user accidently used the wrong file
+        if (m->inUsersGroups(sequenceName, namesOfGroups)) {
+            m->mothurOut("[WARNING]: Your group or design file contains a group named " + sequenceName + ".  Perhaps you are used a group file instead of a design file? A common cause of this is using a tree file that relates your groups (created by the tree.shared command) with a group file that assigns sequences to a group."); m->mothurOutEndLine(); 
+        }
                return "not found";
        }
 }
@@ -368,6 +372,22 @@ bool GroupMap::isValidGroup(string groupname) {
        }
 }
 /************************************************************/
+int GroupMap::getCopy(GroupMap* g) {
+       try {
+        vector<string> names = g->getNamesSeqs();
+        for (int i = 0; i < names.size(); i++) {
+            if (m->control_pressed) { break; }
+            string group = g->getGroup(names[i]);
+            setGroup(names[i], group);
+        }
+        return names.size();
+       }
+       catch(exception& e) {
+               m->errorOut(e, "GroupMap", "getCopy");
+               exit(1);
+       }
+}
+/************************************************************/
 int GroupMap::getNumSeqs(string group) {
        try {