def master_layout(node): node.img_style["shape"] = "square" node.img_style["fgcolor"] = "steelblue" if hasattr(node, "bgcolor"): node.img_style["bgcolor"] = node.bgcolor N = faces.AttrFace("name", fsize=NAME_FONT_SIZE) N.margin_left = 1 faces.add_face_to_node(N, node, 0, position="branch-top") if node.is_leaf(): node.img_style["size"] = 0 for aname, pos in LEAF_ATTRIBUTES.iteritems(): if aname == "sequence": N = faces.SeqMotifFace(node.sequence, seq_format="compactseq") faces.add_face_to_node(N, node, pos, position="aligned") else: N = faces.AttrFace(aname, fsize=NAME_FONT_SIZE) N.margin_left = 1 faces.add_face_to_node(N, node, pos, position=LEAF_NAME_POSITION) else: node.img_style["size"] = 5 for aname, pos in INTERNAL_ATTRIBUTES.iteritems(): N = faces.AttrFace(aname, fsize=NAME_FONT_SIZE) N.margin_left = 1 faces.add_face_to_node(N, node, pos, position=LEAF_NAME_POSITION)
def ncbi_layout(node): npr_layout(node) global name2color if node.is_leaf(): tax_pos = 10 if hasattr(node, "lineage"): for tax,k in zip(node.lineage, node.named_lineage): f = faces.TextFace("%10s" %k, fsize=15) try: color = name2color[k] except KeyError: name2color[k] = color = treeview.main.random_color() #if hasattr(node, "broken_groups") and tax in node.broken_groups: f.background.color = color faces.add_face_to_node(f, node, tax_pos, position="aligned") tax_pos += 1 f = faces.AttrFace("spname", fsize=15) faces.add_face_to_node(f, node, 10, position="branch-right") else: if getattr(node, "broken_groups", None): for broken in node.broken_groups: f = faces.TextFace(broken, fsize=10, fgcolor="red") faces.add_face_to_node(f, node, 1, position="branch-bottom") if getattr(node, "broken_levels", None): for broken in node.broken_levels: f = faces.TextFace(broken, fsize=10, fgcolor="blue") faces.add_face_to_node(f, node, 1, position="branch-bottom") if hasattr(node, "changed"): if node.changed == "yes": node.img_style["bgcolor"]="indianred" else: node.img_style["bgcolor"]="white"
def ncbi_layout(node): npr_layout(node) global name2color if node.is_leaf(): tax_pos = 10 if hasattr(node, "lineage"): for tax, k in zip(node.lineage, node.named_lineage): f = faces.TextFace("%10s" % k, fsize=15) try: color = name2color[k] except KeyError: name2color[k] = color = treeview.main.random_color() #if hasattr(node, "broken_groups") and tax in node.broken_groups: f.background.color = color faces.add_face_to_node(f, node, tax_pos, position="aligned") tax_pos += 1 f = faces.AttrFace("spname", fsize=15) faces.add_face_to_node(f, node, 10, position="branch-right") else: if getattr(node, "broken_groups", None): for broken in node.broken_groups: f = faces.TextFace(broken, fsize=10, fgcolor="red") faces.add_face_to_node(f, node, 1, position="branch-bottom") if getattr(node, "broken_levels", None): for broken in node.broken_levels: f = faces.TextFace(broken, fsize=10, fgcolor="blue") faces.add_face_to_node(f, node, 1, position="branch-bottom") if hasattr(node, "changed"): if node.changed == "yes": node.img_style["bgcolor"] = "indianred" else: node.img_style["bgcolor"] = "white"
def npr_layout(node): if node.is_leaf(): name = faces.AttrFace("name", fsize=12) faces.add_face_to_node(name, node, 0, position="branch-right") if hasattr(node, "sequence"): seq_face = faces.SeqFace(node.sequence, []) faces.add_face_to_node(seq_face, node, 0, position="aligned") if "alg_type" in node.features: faces.add_face_to_node(faces.AttrFace("alg_type", fsize=8), node, 0, position="branch-top") ttype = faces.AttrFace("tree_type", fsize=8, fgcolor="DarkBlue") faces.add_face_to_node(ttype, node, 0, position="branch-top") #ttype.background.color = "DarkOliveGreen" node.img_style["size"] = 20 node.img_style["fgcolor"] = "red" if "treemerger_rf" in node.features: faces.add_face_to_node(faces.AttrFace("treemerger_rf", fsize=8), node, 0, position="branch-bottom") support_radius = (1.0 - node.support) * 50 if not node.is_leaf() and support_radius > 1: support_face = faces.CircleFace(support_radius, "red") faces.add_face_to_node(support_face, node, 0, position="float-behind") support_face.opacity = 0.25 faces.add_face_to_node(faces.AttrFace("support", fsize=8), node, 0, position="branch-bottom") if "clean_alg_mean_identn" in node.features: identity = node.clean_alg_mean_identn elif "alg_mean_identn" in node.features: identity = node.alg_mean_identn if "highlighted" in node.features: node.img_style["bgcolor"] = "LightCyan" if "npr_iter" in node.features: node.img_style["size"] = 50 if "improve" in node.features: color = "orange" if float(node.improve) < 0 else "green" if float(node.improve) == 0: color = "blue" support_face = faces.CircleFace(200, color) faces.add_face_to_node(support_face, node, 0, position="float-behind")
def npr_layout(node): if node.is_leaf(): name = faces.AttrFace("name", fsize=12) faces.add_face_to_node(name, node, 0, position="branch-right") if hasattr(node, "sequence"): seq_face = faces.SeqFace(node.sequence, []) faces.add_face_to_node(seq_face, node, 0, position="aligned") if "alg_type" in node.features: faces.add_face_to_node(faces.AttrFace("alg_type", fsize=8), node, 0, position="branch-top") ttype=faces.AttrFace("tree_type", fsize=8, fgcolor="DarkBlue") faces.add_face_to_node(ttype, node, 0, position="branch-top") #ttype.background.color = "DarkOliveGreen" node.img_style["size"] = 20 node.img_style["fgcolor"] = "red" if "treemerger_rf" in node.features: faces.add_face_to_node(faces.AttrFace("treemerger_rf", fsize=8), node, 0, position="branch-bottom") support_radius= (1.0 - node.support) * 50 if not node.is_leaf() and support_radius > 1: support_face = faces.CircleFace(support_radius, "red") faces.add_face_to_node(support_face, node, 0, position="float-behind") support_face.opacity = 0.25 faces.add_face_to_node(faces.AttrFace("support", fsize=8), node, 0, position="branch-bottom") if "clean_alg_mean_identn" in node.features: identity = node.clean_alg_mean_identn elif "alg_mean_identn" in node.features: identity = node.alg_mean_identn if "highlighted" in node.features: node.img_style["bgcolor"] = "LightCyan" if "npr_iter" in node.features: node.img_style["size"] = 50 if "improve" in node.features: color = "orange" if float(node.improve) < 0 else "green" if float(node.improve) == 0: color = "blue" support_face = faces.CircleFace(200, color) faces.add_face_to_node(support_face, node, 0, position="float-behind")