def drawDAG(self, chr):
"""
draw a dag
:param chr: chromosome name (str)
:return: on disk
"""
labels = {}
for node in self.orders[chr]:
#labels[node] = node[3]
if node.data[1] != "REF":
if node.data[1] == "DEL":
labels[node] = "-"
elif node.data[1] == "DUP" or node.data[1] == "DUP_COPY":
labels[node] = "+"
elif node.data[1] == "INV":
labels[node] = "~"
else:
labels[node] = ">"
else:
labels[node] = " "
sourceNode = self.orders[chr][0]
sinkNode = self.orders[chr][-1]
labels[sourceNode] = "Source"
labels[sinkNode] = "Sink"
# extract dag for each chr
dag = self.DAGs[chr]
pos = self.hierarchy_pos(dag, sourceNode)
plt.figure()
nx.draw_networkx(dag, pos=pos, node_size=30, labels=labels, font_size = 4)#, with_labels=False, arrows=False)
plt.title(chr)
plt.axis('off')
plt.gcf()
plt.savefig(self.prefix + "/DAGs/dag." + chr + ".pdf")
plt.clf()
plt.close()
评论列表
文章目录