8 * Created by Sarah Westcott on 1/23/09.
9 * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
22 /* This class represents a node on a tree. */
27 Node(); //pass it the sequence name
31 void setGroup(string);
32 void setBranchLength(float);
34 void setChildren(int, int); //leftchild, rightchild
39 float getBranchLength();
44 void printNode(ostream&); //prints out the name and the branch length
47 //pGroup is the parsimony group info. i.e. for a leaf node it would contain 1 enter pGroup["groupname"] = 1;
48 //but for a branch node it may contain several entries so if the nodes children are from different groups it
49 //would have at least two entries pgroup["groupnameOfLeftChild"] = 1, pgroup["groupnameOfRightChild"] = 1.
50 //pCount is the nodes descendant group infomation. i.e. pCount["black"] = 20 would mean that 20 of the nodes
51 //descendant are from group black.
53 map<string, int> pGroups; //leaf nodes will only have 1 group, but branch nodes may have multiple groups.
54 map<string, int> pcount;