3 #include "nameassignment.hpp"
5 //**********************************************************************************************************************
7 NameAssignment::NameAssignment(string nameMapFile){
8 m = MothurOut::getInstance();
9 openInputFile(nameMapFile, fileHandle);
13 //**********************************************************************************************************************
15 void NameAssignment::readMap(){
17 string firstCol, secondCol, skip;
21 map<string, int>::iterator itData;
25 fileHandle >> firstCol; //read from first column
26 fileHandle >> secondCol; //read from second column
28 itData = (*this).find(firstCol);
29 if (itData == (*this).end()) {
31 (*this)[firstCol] = rowIndex++;
32 list.push_back(secondCol); //adds data's value to list
33 reverse[rowIndex] = firstCol;
35 }else{ m->mothurOut(firstCol + " is already in namesfile. I will use first definition."); m->mothurOutEndLine(); }
43 m->errorOut(e, "NameAssignment", "readMap");
47 //**********************************************************************************************************************
48 void NameAssignment::push_back(string name) {
51 int num = (*this).size();
58 m->errorOut(e, "NameAssignment", "push_back");
63 //**********************************************************************************************************************
65 ListVector NameAssignment::getListVector(void){
71 //**********************************************************************************************************************
73 void NameAssignment::print(ostream& out){
75 map<string,int>::iterator it;
76 //cout << (*this).size() << endl;
77 for(it = (*this).begin(); it!=(*this).end(); it++){
78 out << it->first << '\t' << it->second << endl; //prints out keys and values of the map this.
82 m->errorOut(e, "NameAssignment", "print");
87 //**********************************************************************************************************************
89 int NameAssignment::get(string key){
94 //**********************************************************************************************************************
96 string NameAssignment::get(int key){
101 //**********************************************************************************************************************