Estoy tratando de construir un árbol con BioPython, módulo Phylo.
Lo que he hecho hasta ahora es esta imagen: Phylo BioPython construyendo árboles
cada nombre tiene un número de cuatro dígitos seguido de - y un número: este número se refiere al número de veces que se representa esa secuencia. Eso significa 1578 - 22, ese nodo debería representar 22secuencias.
el archivo con las secuencias alineadas: file
el archivo con la distancia para construir un árbol: file
Así que ahora me di a conocer cómo cambiar cada tamaño del nodo. Cada nodo tiene un tamaño diferente, esto está haciendo fácil una matriz de los diferentes valores:
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())
Pero la matriz es arbitrario, me gustaría poner el tamaño de nodo correcto en el nodo de la derecha, he intentado esto:
for elem in list_size.keys():
if labels == elem:
Phylo.draw_graphviz(tree_xml, prog="neato", node_size=a)
pero no aparece nada cuando uso la instrucción if.
De todos modos de hacer esto?
¡Realmente lo agradecería!
Gracias a todos
¿Puede dar los archivos de prueba que se está usando para ese árbol? – rwilliams