]> git.donarmstrong.com Git - mothur.git/blobdiff - treemap.cpp
pat's mod to trim.seqs
[mothur.git] / treemap.cpp
index 044e87ca6c603f8762edc863e5adf827ede73bad..dcef7f7c19174f1aaf6a1435931c9005f986f638 100644 (file)
@@ -26,10 +26,10 @@ void TreeMap::readMap() {
                while(fileHandle){
                        fileHandle >> seqName;                  //read from first column
                        fileHandle >> seqGroup;                 //read from second column
-                       
+
                        namesOfSeqs.push_back(seqName);
                        setNamesOfGroups(seqGroup);
-                                               
+                                       
                        treemap[seqName].groupname = seqGroup;  //store data in map
                        
                        it2 = seqsPerGroup.find(seqGroup);
@@ -44,6 +44,25 @@ void TreeMap::readMap() {
                fileHandle.close();
 }
 /************************************************************/
+void TreeMap::removeSeq(string seqName) {
+       
+       //erase name from namesOfSeqs
+       for (int i = 0; i < namesOfSeqs.size(); i++) {
+               if (namesOfSeqs[i] == seqName)  {
+                       namesOfSeqs.erase(namesOfSeqs.begin()+i);
+                       break;
+               }
+       }
+       
+       //decrement sequences in this group
+       string group = treemap[seqName].groupname;
+       seqsPerGroup[group]--;
+       
+       //remove seq from treemap
+       it = treemap.find(seqName);
+       treemap.erase(it);
+}
+/************************************************************/
 
 int TreeMap::getNumGroups() {
                        
@@ -116,7 +135,7 @@ bool TreeMap::isValidGroup(string groupname) {
                return false;
        }
        catch(exception& e) {
-               errorOut(e, "TreeMap", "isValidGroup");
+               m->errorOut(e, "TreeMap", "isValidGroup");
                exit(1);
        }
 }
@@ -130,7 +149,7 @@ void TreeMap::print(ostream& output){
                }
        }
        catch(exception& e) {
-               errorOut(e, "TreeMap", "print");
+               m->errorOut(e, "TreeMap", "print");
                exit(1);
        }
 }
@@ -154,7 +173,7 @@ void TreeMap::makeSim(GroupMap* groupmap) {
                
        }
        catch(exception& e) {
-               errorOut(e, "TreeMap", "makeSim");
+               m->errorOut(e, "TreeMap", "makeSim");
                exit(1);
        }
 }
@@ -180,7 +199,7 @@ void TreeMap::makeSim(ListVector* list) {
                
        }
        catch(exception& e) {
-               errorOut(e, "TreeMap", "makeSim");
+               m->errorOut(e, "TreeMap", "makeSim");
                exit(1);
        }
 }