X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=treenode.cpp;h=0131f59c340ef30eeeeb56ed2a96fc2dc258b808;hp=ae7d0e4ec6731a78967a46004aed02e61ceaf984;hb=615301e57c25e241356a9c2380648d117709458d;hpb=d037597badc8d18e235c59f0c1114180edb7f98f diff --git a/treenode.cpp b/treenode.cpp index ae7d0e4..0131f59 100644 --- a/treenode.cpp +++ b/treenode.cpp @@ -12,21 +12,28 @@ /****************************************************************/ Node::Node() { + m = MothurOut::getInstance(); //initialize node name = ""; branchLength = -1; parent = -1; lchild = -1; rchild = -1; + length2leaf = 0.0; + label = -1; } /****************************************************************/ void Node::setName(string Name) { name = Name; } /****************************************************************/ -void Node::setGroup(string groups) { group =groups; } +void Node::setGroup(vector groups) { group =groups; } /****************************************************************/ void Node::setBranchLength(float l) { branchLength = l; } /****************************************************************/ +void Node::setLabel(float l) { label = l; } +/****************************************************************/ +void Node::setLengthToLeaves(float l) { length2leaf = l; } +/****************************************************************/ void Node::setParent(int p) { parent = p; } /****************************************************************/ void Node::setIndex(int i) { vectorIndex = i; } @@ -35,10 +42,14 @@ void Node::setChildren(int lc, int rc) { lchild = lc; rchild = rc; } //leftchild /****************************************************************/ string Node::getName() { return name; } /****************************************************************/ -string Node::getGroup() { return group; } +vector Node::getGroup() { return group; } /****************************************************************/ float Node::getBranchLength() { return branchLength; } /****************************************************************/ +float Node::getLabel() { return label; } +/****************************************************************/ +float Node::getLengthToLeaves() { return length2leaf; } +/****************************************************************/ int Node::getParent() { return parent; } /****************************************************************/ int Node::getLChild() { return lchild; } @@ -48,23 +59,33 @@ int Node::getRChild() { return rchild; } int Node::getIndex() { return vectorIndex; } /****************************************************************/ //to be used by printTree in the Tree class to print the leaf info -void Node::printNode(ostream& out) { +void Node::printNode() { try{ - out << name; + m->mothurOut(name + " " + toString(parent) + " " + toString(lchild) + " " + toString(rchild) + " "); + + /*for (int i = 0; i < group.size(); i++) { m->mothurOut( group[i] + " "); } //there is a branch length if (branchLength != -1) { - out << ":" << setprecision(4) << branchLength; + m->mothurOut(" " + toString(branchLength)); } + m->mothurOut(" |"); + + map::iterator it; + for(it=pGroups.begin();it!=pGroups.end();it++){ + m->mothurOut(" " + it->first + ":" + toString(it->second)); + } + m->mothurOut(" |"); + for(it=pcount.begin();it!=pcount.end();it++){ + m->mothurOut(" " + it->first + ":" + toString(it->second)); + }*/ + m->mothurOutEndLine(); + } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the Node class Function printNode. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "Node", "printNode"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the Node class function printNode. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } } /****************************************************************/