X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=rarefactcommand.cpp;h=82ff7faef0d8886d21fc6b642f34c88c1b143ea1;hb=4418e128575c1d667720090d7b45d9b48de81a3a;hp=dabcef486ee7541c183fc594f10da9a9f6624561;hpb=0a9e6ac8c01605781f78ce5de0515fe6d271eb97;p=mothur.git diff --git a/rarefactcommand.cpp b/rarefactcommand.cpp index dabcef4..82ff7fa 100644 --- a/rarefactcommand.cpp +++ b/rarefactcommand.cpp @@ -474,7 +474,6 @@ vector RareFactCommand::createGroupFile(vector& outputNames, map //find different types of files map > typesFiles; - map temp; for (int i = 0; i < outputNames.size(); i++) { string extension = m->getExtension(outputNames[i]); @@ -485,9 +484,15 @@ vector RareFactCommand::createGroupFile(vector& outputNames, map string newLine = labels.substr(0, labels.find_first_of('\t')); newLine += "\tGroup" + labels.substr(labels.find_first_of('\t')); - - temp[outputNames[i]] = file2Group[i]; - typesFiles[extension] = temp; + + map >::iterator itfind = typesFiles.find(extension); + if (itfind != typesFiles.end()) { + (itfind->second)[outputNames[i]] = file2Group[i]; + }else { + map temp; + temp[outputNames[i]] = file2Group[i]; + typesFiles[extension] = temp; + } string combineFileName = outputDir + m->getRootName(m->getSimpleName(sharedfile)) + "groups" + extension; @@ -507,7 +512,6 @@ vector RareFactCommand::createGroupFile(vector& outputNames, map string combineFileName = outputDir + m->getRootName(m->getSimpleName(sharedfile)) + "groups" + it->first; m->openOutputFileAppend(combineFileName, out); newFileNames.push_back(combineFileName); - map thisTypesFiles = it->second; //open each type summary file @@ -518,7 +522,7 @@ vector RareFactCommand::createGroupFile(vector& outputNames, map string thisfilename = itFileNameGroup->first; string group = itFileNameGroup->second; - + ifstream temp; m->openInputFile(thisfilename, temp); @@ -541,7 +545,6 @@ vector RareFactCommand::createGroupFile(vector& outputNames, map count++; thisFilesLines.push_back(thisLine); - m->gobble(temp); } @@ -562,7 +565,6 @@ vector RareFactCommand::createGroupFile(vector& outputNames, map for (map::iterator itFileNameGroup = thisTypesFiles.begin(); itFileNameGroup != thisTypesFiles.end(); itFileNameGroup++) { string thisfilename = itFileNameGroup->first; - map::iterator itLine = lineToNumber.find(k); if (itLine != lineToNumber.end()) { string output = toString(itLine->second);