Je tente de construire un arbre avec BioPython, module Phylo.
Ce que je l'ai fait jusqu'à présent est cette image: Phylo BioPython arbres de construction
chaque nom a un numéro à quatre chiffres suivi - et un numéro: ce numéro se réfèrent au nombre de fois que la séquence est représentée. Cela signifie 1578 - 22, ce noeud devrait représenter 22 séquences.
le fichier avec les séquences alignées: file
le fichier avec la distance pour construire un arbre: file
Alors maintenant, je connais comment changer chaque taille du noeud. Chaque noeud a une taille différente, ce fait facile un tableau des différentes valeurs:
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())
Mais le tableau est arbitraire, je voudrais mettre la taille du noeud correct dans le nœud droit, j'ai essayé ceci:
for elem in list_size.keys():
if labels == elem:
Phylo.draw_graphviz(tree_xml, prog="neato", node_size=a)
mais rien n'apparaît lorsque j'utilise l'instruction if.
Quoi qu'il en soit?
J'apprécierais vraiment!
Merci à tous
Pouvez-vous fournir les fichiers de test que vous utilisez pour cet arbre? – rwilliams