我试图用 BioPython、Phylo 模块构建一棵树。
到目前为止我所做的是这张图片:
每个名称都有一个四位数字,后跟一个 - 和一个数字:这个数字是指表示该序列的次数。这意味着 1578 - 22,该节点应该代表 22 个序列。
所以现在我知道如何更改节点的每个大小。每个节点都有不同的大小,这很容易做一个不同值的数组:
fh = open(MEDIA_ROOT + "groupsnp.txt")
list_size = {}
for line in fh:
if '>' in line:
labels = line.split('>')
label = labels[-1]
label = label.split()
num = line.split('-')
size = num[-1]
size = size.split()
for lab in label:
for number in size:
list_size[lab] = int(number)
a = array(list_size.values())
但是数组是任意的,我想将正确的节点大小放入正确的节点中,我试过这个:
for elem in list_size.keys():
if labels == elem:
Phylo.draw_graphviz(tree_xml, prog="neato", node_size=a)
但是当我使用 if 语句时什么都没有出现。
无论如何要这样做?
我真的很感激!
谢谢大家