]> git.donarmstrong.com Git - mothur.git/commitdiff
fixed bug in read tree
authorwestcott <westcott>
Fri, 6 Mar 2009 12:50:31 +0000 (12:50 +0000)
committerwestcott <westcott>
Fri, 6 Mar 2009 12:50:31 +0000 (12:50 +0000)
readtree.cpp
tree.cpp
tree.h

index 59239c8af0d24e089bfc7eade92ed055ffaa6e64..a253741688c00ddc138d1353ac757456c03643da 100644 (file)
@@ -336,25 +336,24 @@ int ReadNewickTree::readNewickInt(istream& f, int& n, Tree* T) {
                        if(n1 == -1) {
                                cerr << "Name: " << name << " not found in your groupfile.. \n"; exit(1);
                                
-                               globaldata->gTreemap->namesOfSeqs.push_back(name);
-                               globaldata->gTreemap->treemap[name].groupname = "xxx";
-                               globaldata->gTreemap->treemap[name].vectorIndex = (globaldata->gTreemap->namesOfSeqs.size() - 1);
+                               //globaldata->gTreemap->namesOfSeqs.push_back(name);
+                               //globaldata->gTreemap->treemap[name].groupname = "xxx";
+                               //globaldata->gTreemap->treemap[name].vectorIndex = (globaldata->gTreemap->namesOfSeqs.size() - 1);
                                
-                               map<string, int>::iterator it;
-                               it = globaldata->gTreemap->seqsPerGroup.find("xxx");
-                               if (it == globaldata->gTreemap->seqsPerGroup.end()) { //its a new group
-                                       globaldata->gTreemap->namesOfGroups.push_back("xxx");
-                                       globaldata->gTreemap->seqsPerGroup["xxx"] = 1;
-                               }else {
-                                       globaldata->gTreemap->seqsPerGroup["xxx"]++;
-                               }
+                               //map<string, int>::iterator it;
+                               //it = globaldata->gTreemap->seqsPerGroup.find("xxx");
+                               //if (it == globaldata->gTreemap->seqsPerGroup.end()) { //its a new group
+                               //      globaldata->gTreemap->namesOfGroups.push_back("xxx");
+                               //      globaldata->gTreemap->seqsPerGroup["xxx"] = 1;
+                               //}else {
+                               //      globaldata->gTreemap->seqsPerGroup["xxx"]++;
+                               //}
                                
                                //find index in tree of name
-                               n1 = T->getIndex(name);
-                               group = "xxx";
-                               numLeaves++;
-                               numNodes = 2*numLeaves - 1;
-                               //T->resetTree();
+                               //n1 = T->getIndex(name);
+                               //group = "xxx";
+                               //numLeaves++;
+                               //numNodes = 2*numLeaves - 1;
                        }
                        
                        T->tree[n1].setGroup(group);
index e34253d8cf90fc17b5ca72b0465a6d16a502da4b..2cd9cbabc691d692fcb30a7fb9408da8ad22c383 100644 (file)
--- a/tree.cpp
+++ b/tree.cpp
@@ -49,43 +49,6 @@ Tree::Tree() {
        }               
 }
 
-/*****************************************************************/
-void Tree::resetTree(){
-try {
-               numLeaves = globaldata->gTreemap->getNumSeqs();
-               numNodes = 2*numLeaves - 1;
-               
-               tree.resize(numNodes);
-
-               //initialize tree with correct number of nodes, name and group info.
-               for (int i = 0; i < numNodes; i++) {
-                       //initialize leaf nodes
-                       if (i <= (numLeaves-1)) {
-                               tree[i].setName(globaldata->gTreemap->namesOfSeqs[i]);
-                               tree[i].setGroup(globaldata->gTreemap->getGroup(globaldata->gTreemap->namesOfSeqs[i]));
-                               //set pcount and pGroup for groupname to 1.
-                               tree[i].pcount[globaldata->gTreemap->getGroup(globaldata->gTreemap->namesOfSeqs[i])] = 1;
-                               tree[i].pGroups[globaldata->gTreemap->getGroup(globaldata->gTreemap->namesOfSeqs[i])] = 1;
-                               //Treemap knows name, group and index to speed up search
-                               globaldata->gTreemap->setIndex(globaldata->gTreemap->namesOfSeqs[i], i);
-       
-                       //intialize non leaf nodes
-                       }else if (i > (numLeaves-1)) {
-                               tree[i].setName("");
-                               tree[i].setGroup("");
-                       }
-               }
-       }
-       catch(exception& e) {
-               cout << "Standard Error: " << e.what() << " has occurred in the Tree class Function resetTree. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
-               exit(1);
-       }
-       catch(...) {
-               cout << "An unknown error has occurred in the Tree class function resetTree. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
-               exit(1);
-       }               
-
-}
 /*****************************************************************/
 int Tree::getIndex(string searchName) {
        try {
@@ -189,7 +152,7 @@ map<string, int> Tree::mergeGroups(int i) {
        try {
                int lc = tree[i].getLChild();
                int rc = tree[i].getRChild();
-cout << i << lc << rc << endl;
+
                //set parsimony groups to left child
                map<string,int> parsimony = tree[lc].pGroups;
                
diff --git a/tree.h b/tree.h
index 828b03868e9703f57e83d5e9b10117d260a44e52..d6a3b556f09ca251a2cbad64e07c0187dd50e6b4 100644 (file)
--- a/tree.h
+++ b/tree.h
@@ -24,7 +24,6 @@ public:
        
        
        void getCopy(Tree*);  //makes tree a copy of the one passed in.
-       void resetTree(); //this is needed to allow user to omit names from the group file
        void assembleRandomTree();
        void assembleRandomUnifracTree(vector<string>);
        void assembleRandomUnifracTree(string, string);