def to_printable_graph(self, enrichment, graph): viz_graph = DiGraph() viz_graph.attrs["defaultnodesize"] = "labelsize" viz_graph.attrs["label"] = str(enrichment) entry_labels = {} for entry in enrichment.entries: if entry.p_value < self.min_p: self.min_p = entry.p_value if entry.p_value > self.max_p: self.max_p = entry.p_value for entry in enrichment.entries: new_label = self.entry_to_label(entry) viz_graph.add_node(new_label, self.to_printable_data(entry)) entry_labels[entry.id] = new_label for label, node in graph.nodes.items(): if label not in entry_labels: new_label = self.term_to_label(node.data) viz_graph.add_node(new_label, self.term_to_printable(node.data)) entry_labels[label] = new_label for label, u in graph.nodes.items(): for edge in u.succ: viz_graph.add_edge(entry_labels[label], entry_labels[edge.to_node.label]) return viz_graph
def __init__(self): DiGraph.__init__(self) self.typedefs = {} self.synonyms = {} # self.alt_ids = defaultdict(set) self.alt_ids = {} self.namespace = {}