def array2tree(d, names, outbase="", method="ward"):
"""Return tree representation for array"""
# cluster
Z = sch.linkage(d[np.triu_indices(d.shape[0], 1)], method=method)
# get ete Tree
t = distance_matrix2tree(Z, names)
# save tree & newick
if outbase:
pdf, nw = outbase+".nw.pdf", outbase+".nw"
with open(nw, "w") as out:
out.write(t.write())
ts = ete3.TreeStyle()
ts.show_leaf_name = False
ts.layout_fn = mylayout
t.render(pdf, tree_style=ts)
return t
评论列表
文章目录