if (processors == 1) {
numSeqs = driverGroups(outputFileName, accnosFileName, trimFastaFileName, fileToPriority, fileGroup, newCountFile);
if (hasCount && dups) {
- CountTable c; c.readTable(nameFileNames[s]);
+ CountTable c; c.readTable(nameFileNames[s], true, false);
if (!m->isBlank(newCountFile)) {
ifstream in2;
m->openInputFile(newCountFile, in2);
}else {
if (hasCount) {
set<string> doNotRemove;
- CountTable c; c.readTable(newCountFile);
+ CountTable c; c.readTable(newCountFile, true, true);
vector<string> namesInTable = c.getNamesOfSeqs();
for (int i = 0; i < namesInTable.size(); i++) {
int temp = c.getNumSeqs(namesInTable[i]);
map<string, map<string, int> >::iterator itFile;
vector<string> filenames;
for(itFile = fileToPriority.begin(); itFile != fileToPriority.end(); itFile++) { filenames.push_back(itFile->first); }
-
- int numGroupsPerProcessor = filenames.size() / processors;
+
+ int numGroupsPerProcessor = ceil(filenames.size() / (double) processors);
int startIndex = pid * numGroupsPerProcessor;
int endIndex = (pid+1) * numGroupsPerProcessor;
if(pid == (processors - 1)){ endIndex = filenames.size(); }
if (fileToPriority.size() < processors) { processors = fileToPriority.size(); }
CountTable newCount;
- if (hasCount && dups) { newCount.readTable(countFile); }
+ if (hasCount && dups) { newCount.readTable(countFile, true, false); }
int groupsPerProcessor = fileToPriority.size() / processors;
int remainder = fileToPriority.size() % processors;
int error;
if (hasCount) {
CountTable ct;
- ct.readTable(nameFile);
+ ct.readTable(nameFile, true, false);
for(map<string, string>::iterator it = seqs.begin(); it != seqs.end(); it++) {
int num = ct.getNumSeqs(it->first);