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)
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)
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)
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)
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)
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)
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") )