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 test_write(self): correct_output_a = """graph [ directed 1 node [ id 0 label "1" a 1 ] node [ id 1 label "2" ] edge [ source 0 target 1 x "x" ] edge [ source 1 target 0 label "zzzz" ] ]""" correct_output_b = """graph [ directed 1 node [ id 0 label "2" ] node [ id 1 label "1" a 1 ] edge [ source 1 target 0 x "x" ] edge [ source 0 target 1 label "zzzz" ] ]""" out = StringIO() writer = GmlWriter(out) graph = DiGraph() graph.add_node(1, {'a': 1}) graph.add_edge(1, 2, {'x': 'x'}) graph.add_edge(2, 1, "zzzz") writer.write(graph) self.assertIn(out.getvalue(), set([correct_output_a, correct_output_b]))
def test_write(self): correct_output_a = """graph [ directed 1 node [ id 0 label "1" a 1 ] node [ id 1 label "2" ] edge [ source 0 target 1 x "x" ] edge [ source 1 target 0 label "zzzz" ] ]""" correct_output_b = """graph [ directed 1 node [ id 0 label "2" ] node [ id 1 label "1" a 1 ] edge [ source 1 target 0 x "x" ] edge [ source 0 target 1 label "zzzz" ] ]""" out = StringIO() writer = GmlWriter(out) graph = DiGraph() graph.add_node(1, {'a' : 1 }) graph.add_edge(1, 2, {'x' : 'x'}) graph.add_edge(2, 1, "zzzz") writer.write(graph) self.assertIn(out.getvalue(), set([correct_output_a, correct_output_b]))