X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=nameassignment.cpp;h=0c30898dd4085f5000a68c005ccbeee1bcd3650c;hb=813f0516e9c7533859f57ebe6d7b8854896bf009;hp=bc088f45924f4af9db951e81882376cd64fbc8f0;hpb=5f44783e6d74a9c207492ac244210c915cadc272;p=mothur.git diff --git a/nameassignment.cpp b/nameassignment.cpp index bc088f4..0c30898 100644 --- a/nameassignment.cpp +++ b/nameassignment.cpp @@ -5,7 +5,7 @@ //********************************************************************************************************************** NameAssignment::NameAssignment(string nameMapFile){ - + m = MothurOut::getInstance(); openInputFile(nameMapFile, fileHandle); } @@ -17,26 +17,30 @@ void NameAssignment::readMap(){ string firstCol, secondCol, skip; // int index = 0; - -// map data; + + map::iterator itData; int rowIndex = 0; - + while(fileHandle){ fileHandle >> firstCol; //read from first column fileHandle >> secondCol; //read from second column + + itData = (*this).find(firstCol); + if (itData == (*this).end()) { + + (*this)[firstCol] = rowIndex++; + list.push_back(secondCol); //adds data's value to list + reverse[rowIndex] = firstCol; + + }else{ m->mothurOut(firstCol + " is already in namesfile. I will use first definition."); m->mothurOutEndLine(); } -// data[firstCol] = secondCol; //store data in map - - list.push_back(secondCol); //adds data's value to list - reverse[rowIndex] = firstCol; - (*this)[firstCol] = rowIndex++; gobble(fileHandle); } fileHandle.close(); } catch(exception& e) { - errorOut(e, "NameAssignment", "readMap"); + m->errorOut(e, "NameAssignment", "readMap"); exit(1); } } @@ -51,7 +55,7 @@ void NameAssignment::push_back(string name) { list.push_back(name); } catch(exception& e) { - errorOut(e, "NameAssignment", "push_back"); + m->errorOut(e, "NameAssignment", "push_back"); exit(1); } } @@ -75,7 +79,7 @@ void NameAssignment::print(ostream& out){ } } catch(exception& e) { - errorOut(e, "NameAssignment", "print"); + m->errorOut(e, "NameAssignment", "print"); exit(1); } }