Example #1
0
 def test_write_pajek_no_coordinates(self):
     net = readwrite.read_pajek(_fullpath("../networks/leu_by_genesets.net"))
     net.coordinates = None
     with NamedTemporaryFile("wt", suffix=".net", delete=False) as f:
         try:
             readwrite.write_pajek(f, net)
             f.close()
             net2 = readwrite.read_pajek(f.name)
             np.testing.assert_equal(net2.nodes, net.nodes)
             self.assertIsNone(net2.coordinates, net.coordinates)
         finally:
             os.remove(f.name)
Example #2
0
 def test_write_pajek(self):
     net = readwrite.read_pajek(_fullpath("../networks/leu_by_genesets.net"))
     with NamedTemporaryFile("wt", suffix=".net", delete=False) as f:
         try:
             readwrite.write_pajek(f, net)
             f.close()
             net2 = readwrite.read_pajek(f.name)
             np.testing.assert_equal(net2.nodes, net.nodes)
             np.testing.assert_equal(net2.coordinates, net.coordinates)
             self.assertEqual(len(net2.edges), 1)
             edges, edges2 = net.edges[0].edges, net2.edges[0].edges
             np.testing.assert_equal(edges.indptr, edges2.indptr)
             np.testing.assert_equal(edges.indices, edges2.indices)
             np.testing.assert_almost_equal(edges.data, edges2.data)
         finally:
             os.remove(f.name)
 def test_edge_list(self):
     net = readwrite.read_pajek(_fullpath("test-arcslist.net"))
     neighs = [(1, (2, 3, 6)), (2, (1, 4, 5, 6)), (5, (1, 2)),
               (6, (2, 3, 4))]
     self.assertEqual(net.number_of_edges(), sum(len(y) for _, y in neighs))
     self.assertTrue(net.edges[0].directed)
     for x, y in neighs:
         np.testing.assert_equal(net.outgoing(x - 1), np.array(y) - 1)
def main():
    from Orange.widgets.utils.widgetpreview import WidgetPreview
    from orangecontrib.network.network.readwrite \
        import read_pajek, transform_data_to_orange_table
    from os.path import join, dirname

    network = read_pajek(join(dirname(dirname(__file__)), 'networks', 'leu_by_genesets.net'))
    #transform_data_to_orange_table(network)
    WidgetPreview(OWNxExplorer).run(set_graph=network)
Example #5
0
def main():  # pragma: no cover
    from orangecontrib.network.network.readwrite import read_pajek
    from os.path import join, dirname
    from orangewidget.utils.widgetpreview import WidgetPreview

    path = join(dirname(__file__), "..", "networks")
    network = read_pajek(join(path, 'airtraffic.net'))
    data = Table(join(path, 'airtraffic_items.tab'))

    WidgetPreview(OWNxGroups).run(set_network=network, set_data=data)
 def test_two_mode(self):
     davis = readwrite.read_pajek(_fullpath("../networks/davis.net"))
     self.assertEqual(davis.number_of_nodes(), 32)
     self.assertEqual(list(davis.nodes), [
         'EVELYN', 'LAURA', 'THERESA', 'BRENDA', 'CHARLOTTE', 'FRANCES',
         'ELEANOR', 'PEARL', 'RUTH', 'VERNE', 'MYRNA', 'KATHERINE',
         'SYLVIA', 'NORA', 'HELEN', 'DOROTHY', 'OLIVIA', 'FLORA', 'E1',
         'E2', 'E3', 'E4', 'E5', 'E6', 'E7', 'E8', 'E9', 'E10', 'E11',
         'E12', 'E13', 'E14'
     ])
     self.assertEqual(davis.in_first_mode, 18)
Example #7
0
 def open_net_file(self, filename):
     """Read network from file."""
     self.Error.clear()
     self.Warning.clear()
     self.Information.clear()
     self.network = None
     self.original_nodes = None
     try:
         self.network = read_pajek(filename)
     except OSError as err:
         self.Error.io_error(
             filename,
             "".join(format_exception_only(type(err), err)).rstrip())
     except Exception:  # pylint: disable=broad-except
         self.Error.error_parsing_file(filename)
     else:
         self.original_nodes = self.network.nodes
         self.read_auto_data(filename)
     self.send_output()
        domain = self.net.nodes.domain
        # Tie a name for presenting clustering results to the widget instance
        if self.cluster_feature is None:
            self.cluster_feature = get_unique_names(domain, 'Cluster')
        cd.add_results_to_items(self.net, labels, self.cluster_feature)

        self.Outputs.items.send(self.net.nodes)
        self.Outputs.network.send(self.net)

        nclusters = len(set(labels.values()))
        self.info.set_output_summary(nclusters, f"{nclusters} clusters")

    @classmethod
    def migrate_settings(cls, settings, version):
        if version < 2:
            rename_setting(settings, "autoApply", "auto_apply")
            if hasattr(settings, "method"):
                rename_setting(settings, "method", "attenuate")


if __name__ == "__main__":
    from Orange.widgets.utils.widgetpreview import WidgetPreview
    from orangecontrib.network.network.readwrite \
        import read_pajek, transform_data_to_orange_table
    from os.path import join, dirname

    fname = join(dirname(dirname(__file__)), 'networks', 'leu_by_genesets.net')
    network = read_pajek(fname)
    transform_data_to_orange_table(network)
    WidgetPreview(OWNxClustering).run(set_network=network)
Example #9
0
                                            callbacks=[self._progress_updater])

        self._worker_thread = EmbedderThread(
            lambda: self.embedder(self.network))
        self._worker_thread.finished.connect(self.on_finished)
        self.progressBarInit()
        self.progressBarSet(1e-5)
        self._worker_thread.start()

    def on_finished(self):
        output = self._worker_thread.result
        self._worker_thread = None
        self._progress_updater = None
        self.progressBarFinished()
        self.Outputs.items.send(output)

    def onDeleteWidget(self):
        if self._worker_thread is not None:
            # prevent the callback from trying to access deleted widget object
            self._progress_updater.widget = None
            self._worker_thread.finished.disconnect()
            self._worker_thread.quit()
        super().onDeleteWidget()


if __name__ == "__main__":
    from os.path import join, dirname
    davis = join(dirname(__file__), "..", "networks", "davis.net")
    network = readwrite.read_pajek(davis)
    WidgetPreview(OWNxEmbedding).run(network)
Example #10
0
def main_without_annotation():
    net = readwrite.read_pajek("../networks/leu_by_genesets.net")
    WidgetPreview(OWNxSave).run(net)
 def test_write_pajek_multiple_edge_types(self):
     net = readwrite.read_pajek(
         _fullpath("../networks/leu_by_genesets.net"))
     net.edges.append(net.edges[0])
     with NamedTemporaryFile("wt", suffix=".net") as f:
         self.assertRaises(TypeError, readwrite.write_pajek, f, net)
Example #12
0
        isDirected = 0
        for edge in edges:
            es = edge.edges
            if edge.directed:
                isDirected = 1
            for i in range(es.shape[0]):
                matrix = es[i].tocoo()
                weight += matrix.data.tolist()
                source += [i]*matrix.nnz
                target += [r+c for r,c in zip(matrix.row, matrix.col)]
        directed = np.array([isDirected]*len(source))
        X =np.array([source,target,weight,directed]).T
        domain = Domain([ContinuousVariable("source"),ContinuousVariable("target"),\
                          ContinuousVariable("weight"),ContinuousVariable("isDirected")],\
                        None, None)
        edges = Table.from_numpy(domain,X,None,None,None)
        self.edges = edges


    # send the vertices & edges data table created to output signal    
    def send_output(self):
        self.Outputs.vertices.send(self.vertices)
        self.Outputs.edges.send(self.edges)


if __name__ == "__main__":
    # Just for widget debugging
    WidgetPreview(OWNx2Table).run(
        read_pajek("D:/JetBrains/IdeaProjects/MyPyhton38/scripts/USAir97.net")
    )