fileHandle.close();
return error;
}
+/************************************************************/
+int GroupMap::readDesignMap() {
+ string seqName, seqGroup;
+ int error = 0;
+
+ while(fileHandle){
+ fileHandle >> seqName; m->gobble(fileHandle); //read from first column
+ fileHandle >> seqGroup; //read from second column
+
+ if (m->control_pressed) { fileHandle.close(); return 1; }
+
+ setNamesOfGroups(seqGroup);
+
+ it = groupmap.find(seqName);
+
+ if (it != groupmap.end()) { error = 1; m->mothurOut("Your designfile contains more than 1 group named " + seqName + ", group names must be unique. Please correct."); m->mothurOutEndLine(); }
+ else {
+ groupmap[seqName] = seqGroup; //store data in map
+ seqsPerGroup[seqGroup]++; //increment number of seqs in that group
+ }
+ m->gobble(fileHandle);
+ }
+ fileHandle.close();
+ return error;
+}
+
/************************************************************/
int GroupMap::getNumGroups() { return namesOfGroups.size(); }
/************************************************************/
}
}
/************************************************************/
+vector<string> GroupMap::getNamesSeqs(vector<string> picked){
+ try {
+
+ vector<string> names;
+
+ for (it = groupmap.begin(); it != groupmap.end(); it++) {
+ //if you are belong to one the the groups in the picked vector add you
+ if (m->inUsersGroups(it->second, picked)) {
+ names.push_back(it->first);
+ }
+ }
+
+ return names;
+ }
+ catch(exception& e) {
+ m->errorOut(e, "GroupMap", "getNamesSeqs");
+ exit(1);
+ }
+}
+
+/************************************************************/