/* clone a node */ stTree *stTree_cloneNode(stTree *node) { stTree *node2 = stTree_construct(); stTree_setBranchLength(node2, stTree_getBranchLength(node)); stTree_setClientData(node2, stTree_getClientData(node)); stTree_setLabel(node2, stTree_getLabel(node)); return node2; }
void makeEventHeadersAlphaNumericFn(stTree *tree) { char *cA = makeAlphaNumeric(stTree_getLabel(tree)); stTree_setLabel(tree, cA); free(cA); for (int64_t i = 0; i < stTree_getChildNumber(tree); i++) { makeEventHeadersAlphaNumericFn(stTree_getChild(tree, i)); } }
static stTree *eventTree_getStTree_R(Event *event) { stTree *ret = stTree_construct(); stTree_setLabel(ret, stString_print("%" PRIi64, event_getName(event))); stTree_setBranchLength(ret, event_getBranchLength(event)); for(int64_t i = 0; i < event_getChildNumber(event); i++) { Event *child = event_getChild(event, i); stTree *childStTree = eventTree_getStTree_R(child); stTree_setParent(childStTree, ret); } return ret; }
/* construct an ETree node from a malnComp */ static stTree *malnCompToETreeNode(struct malnComp *comp) { stTree *eTree = stTree_construct(); stTree_setLabel(eTree, comp->seq->orgSeqName); return eTree; }
/* * Sets the label, if the token is a label and updates the token. */ static void tree_parseNewickString_getLabel(char **token, char **newickTreeString, stTree *tree) { if(**token != ':' && **token != ',' && **token != ';' && **token != ')') { stTree_setLabel(tree, *token); tree_parseNewickTreeString_getNextToken(token, newickTreeString); } }