string CountGroupsCommand::getHelpString(){
try {
string helpString = "";
- helpString += "The count.groups command counts sequences from a specfic group or set of groups from the following file types: group or shared file.\n";
+ helpString += "The count.groups command counts sequences from a specific group or set of groups from the following file types: group or shared file.\n";
helpString += "The count.groups command parameters are accnos, group, shared and groups. You must provide a group or shared file.\n";
helpString += "The accnos parameter allows you to provide a file containing the list of groups.\n";
helpString += "The groups parameter allows you to specify which of the groups in your groupfile you would like. You can separate group names with dashes.\n";
if (groups == "not found") { groups = ""; }
else {
m->splitAtDash(groups, Groups);
- m->Groups = Groups;
+ m->setGroups(Groups);
}
sharedfile = validParameter.validFile(parameters, "shared", true);
}
}
- if ((accnosfile == "") && (Groups.size() == 0)) { Groups.push_back("all"); m->Groups = Groups; }
+ if ((accnosfile == "") && (Groups.size() == 0)) { Groups.push_back("all"); m->setGroups(Groups); }
}
}
if (abort == true) { if (calledHelp) { return 0; } return 2; }
//get groups you want to remove
- if (accnosfile != "") { readAccnos(); }
+ if (accnosfile != "") { m->readAccnos(accnosfile, Groups); m->setGroups(Groups); }
if (groupfile != "") {
GroupMap groupMap(groupfile);
//make sure groups are valid
//takes care of user setting groupNames that are invalid or setting groups=all
SharedUtil util;
- util.setGroups(Groups, groupMap.namesOfGroups);
+ vector<string> nameGroups = groupMap.getNamesOfGroups();
+ util.setGroups(Groups, nameGroups);
for (int i = 0; i < Groups.size(); i++) {
m->mothurOut(Groups[i] + " contains " + toString(groupMap.getNumSeqs(Groups[i])) + "."); m->mothurOutEndLine();
}
}
//**********************************************************************************************************************
-void CountGroupsCommand::readAccnos(){
- try {
- Groups.clear();
-
- ifstream in;
- m->openInputFile(accnosfile, in);
- string name;
-
- while(!in.eof()){
- in >> name;
-
- Groups.push_back(name);
-
- m->gobble(in);
- }
- in.close();
-
- m->Groups = Groups;
-
- }
- catch(exception& e) {
- m->errorOut(e, "CountGroupsCommand", "readAccnos");
- exit(1);
- }
-}
-//**********************************************************************************************************************