Esempio n. 1
0
    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
Esempio n. 2
0
 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]))