]> git.donarmstrong.com Git - mothur.git/blobdiff - nameassignment.cpp
added MPI to dist.seqs command
[mothur.git] / nameassignment.cpp
index 3bcf6f9a968762adede9a4bd434320855b1e2398..42d374d0b9e74842e4d3f289c75ae61645556ebd 100644 (file)
@@ -5,7 +5,7 @@
 //**********************************************************************************************************************
 
 NameAssignment::NameAssignment(string nameMapFile){
-       
+       m = MothurOut::getInstance();
        openInputFile(nameMapFile, fileHandle);
        
 }
@@ -28,6 +28,7 @@ void NameAssignment::readMap(){
 //                     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);
                }
@@ -35,7 +36,22 @@ void NameAssignment::readMap(){
        
        }
        catch(exception& e) {
-               errorOut(e, "NameAssignment", "readMap");
+               m->errorOut(e, "NameAssignment", "readMap");
+               exit(1);
+       }
+}
+//**********************************************************************************************************************
+void NameAssignment::push_back(string name) {
+       try{
+       
+               int num = (*this).size();
+               (*this)[name] = num;
+               reverse[num] = name;
+               
+               list.push_back(name);
+       }
+       catch(exception& e) {
+               m->errorOut(e, "NameAssignment", "push_back");
                exit(1);
        }
 }
@@ -50,15 +66,16 @@ ListVector NameAssignment::getListVector(void){
 
 //**********************************************************************************************************************
 
-void NameAssignment::print(void){
+void NameAssignment::print(ostream& out){
        try {
-               map<string,int>::iterator it = (*this).begin();
-               for(it;it!=(*this).end();it++){
-                       mothurOut(it->first + "\t" + toString(it->second)); mothurOutEndLine();  //prints out keys and values of the map this.
+               map<string,int>::iterator it;
+//cout << (*this).size() << endl;
+               for(it = (*this).begin(); it!=(*this).end(); it++){
+                       out << it->first << '\t' <<  it->second << endl;  //prints out keys and values of the map this.
                }
        }
        catch(exception& e) {
-               errorOut(e, "NameAssignment", "print");
+               m->errorOut(e, "NameAssignment", "print");
                exit(1);
        }
 }
@@ -70,6 +87,12 @@ int NameAssignment::get(string key){
        return  (*this)[key];   
 
 }
+//**********************************************************************************************************************
 
+string NameAssignment::get(int key){
+       
+       return  reverse[key];   
+
+}
 //**********************************************************************************************************************