X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=screenseqscommand.cpp;h=1e6b5a36786a58ce9ca44de8703a620554d89732;hb=14cddf859d97118481161bf3e85a647976020758;hp=5a9c0c8320b7305834cdf4bb544effd515728417;hpb=1a5c2356c1b955c6ec024b2baf9f46377ee7c72e;p=mothur.git diff --git a/screenseqscommand.cpp b/screenseqscommand.cpp index 5a9c0c8..1e6b5a3 100644 --- a/screenseqscommand.cpp +++ b/screenseqscommand.cpp @@ -588,7 +588,7 @@ int ScreenSeqsCommand::screenNameGroupFile(set badSeqNames){ while(!inputNames.eof()){ if (m->control_pressed) { goodNameOut.close(); inputNames.close(); m->mothurRemove(goodNameFile); return 0; } - inputNames >> seqName >> seqList; + inputNames >> seqName; m->gobble(inputNames); inputNames >> seqList; it = badSeqNames.find(seqName); if(it != badSeqNames.end()){ @@ -636,7 +636,7 @@ int ScreenSeqsCommand::screenNameGroupFile(set badSeqNames){ while(!inputGroups.eof()){ if (m->control_pressed) { goodGroupOut.close(); inputGroups.close(); m->mothurRemove(goodNameFile); m->mothurRemove(goodGroupFile); return 0; } - inputGroups >> seqName >> group; + inputGroups >> seqName; m->gobble(inputGroups); inputGroups >> group; it = badSeqGroups.find(seqName); @@ -934,6 +934,9 @@ int ScreenSeqsCommand::createProcessesCreateSummary(vector& startPosition, //Close all thread handles and free memory allocations. for(int i=0; i < pDataArray.size(); i++){ num += pDataArray[i]->count; + if (pDataArray[i]->count != pDataArray[i]->end) { + m->mothurOut("[ERROR]: process " + toString(i) + " only processed " + toString(pDataArray[i]->count) + " of " + toString(pDataArray[i]->end) + " sequences assigned to it, quitting. \n"); m->control_pressed = true; + } for (int k = 0; k < pDataArray[i]->startPosition.size(); k++) { startPosition.push_back(pDataArray[i]->startPosition[k]); } for (int k = 0; k < pDataArray[i]->endPosition.size(); k++) { endPosition.push_back(pDataArray[i]->endPosition[k]); } for (int k = 0; k < pDataArray[i]->seqLength.size(); k++) { seqLength.push_back(pDataArray[i]->seqLength[k]); } @@ -970,7 +973,7 @@ int ScreenSeqsCommand::screenGroupFile(set badSeqNames){ while(!inputGroups.eof()){ if (m->control_pressed) { goodGroupOut.close(); inputGroups.close(); m->mothurRemove(goodGroupFile); return 0; } - inputGroups >> seqName >> group; + inputGroups >> seqName; m->gobble(inputGroups); inputGroups >> group; it = badSeqNames.find(seqName); if(it != badSeqNames.end()){ @@ -1157,7 +1160,7 @@ int ScreenSeqsCommand::screenTaxonomy(set badSeqNames){ while(!input.eof()){ if (m->control_pressed) { goodTaxOut.close(); input.close(); m->mothurRemove(goodTaxFile); return 0; } - input >> seqName >> tax; + input >> seqName; m->gobble(input); input >> tax; it = badSeqNames.find(seqName); if(it != badSeqNames.end()){ badSeqNames.erase(it); } @@ -1518,6 +1521,9 @@ int ScreenSeqsCommand::createProcesses(string goodFileName, string badAccnos, st //Close all thread handles and free memory allocations. for(int i=0; i < pDataArray.size(); i++){ num += pDataArray[i]->count; + if (pDataArray[i]->count != pDataArray[i]->end) { + m->mothurOut("[ERROR]: process " + toString(i) + " only processed " + toString(pDataArray[i]->count) + " of " + toString(pDataArray[i]->end) + " sequences assigned to it, quitting. \n"); m->control_pressed = true; + } for (set::iterator it = pDataArray[i]->badSeqNames.begin(); it != pDataArray[i]->badSeqNames.end(); it++) { badSeqNames.insert(*it); } CloseHandle(hThreadArray[i]); delete pDataArray[i];