scores[pdbs[i]] = {} PhyloM.append([]) scoresM.append([]) scores[pdbs[i]][pdbs[j]] = score scoresM[i].append(score) else: print '{:->3.2%}\t{} {}\t{}'.format( s/total, pdbs[i], pdbs[j], "error") if pdbs[i] not in scores: scores[pdbs[i]] = {} PhyloM.append([]) scoresM.append([]) scores[pdbs[i]][pdbs[j]] = 0 scoresM[i].append(0) print_matrix("Scores", scores, pdbs) scoresM = TreeConstruction._Matrix([x[x.rfind('/')+1:] for x in pdbs], scoresM) distances = {} for i in range(leng): distances[pdbs[i]] = {} for j in range(i+1): distances[pdbs[i]][pdbs[j]] = (scores[pdbs[i]][pdbs[i]]+scores[pdbs[j]][pdbs[j]])/2.0 - scores[pdbs[i]][pdbs[j]] PhyloM[i].append(distances[pdbs[i]][pdbs[j]]) PhyloM = TreeConstruction._DistanceMatrix([x[x.rfind('/')+1:] for x in pdbs], PhyloM) print_matrix("Distances", distances, pdbs) tree = TreeConstruction.DistanceTreeConstructor().upgma(PhyloM) Phylo.draw_ascii(tree) tree.ladderize() #Phylo.draw_graphviz(tree, node_size=0) def hide_inner(node):
PhyloM.append([]) scoresM.append([]) scores[pdbs[i]][pdbs[j]] = score scoresM[i].append(score) else: print '{:->3.2%}\t{} {}\t{}'.format(s / total, pdbs[i], pdbs[j], "error") if pdbs[i] not in scores: scores[pdbs[i]] = {} PhyloM.append([]) scoresM.append([]) scores[pdbs[i]][pdbs[j]] = 0 scoresM[i].append(0) print_matrix("Scores", scores, pdbs) scoresM = TreeConstruction._Matrix([x[x.rfind('/') + 1:] for x in pdbs], scoresM) distances = {} for i in range(leng): distances[pdbs[i]] = {} for j in range(i + 1): distances[pdbs[i]][pdbs[j]] = (scores[pdbs[i]][pdbs[i]] + scores[ pdbs[j]][pdbs[j]]) / 2.0 - scores[pdbs[i]][pdbs[j]] PhyloM[i].append(distances[pdbs[i]][pdbs[j]]) PhyloM = TreeConstruction._DistanceMatrix([x[x.rfind('/') + 1:] for x in pdbs], PhyloM) print_matrix("Distances", distances, pdbs) tree = TreeConstruction.DistanceTreeConstructor().upgma(PhyloM) Phylo.draw_ascii(tree) tree.ladderize()