From 1b2d5597b0bd66fad07a527b51bc0eee92e855b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20F=C3=B6rster?= Date: Wed, 10 Jul 2024 16:52:16 +0200 Subject: [PATCH] prepare usage of cytoscape API --- .gitignore | 6 + scripts/analyse_dataset.py | 26 +- scripts/lang_main_config.toml | 7 +- scripts/test.py | 13 +- src/lang_main/analysis/graphs.py | 117 +- src/lang_main/constants.py | 5 +- .../cytoscape_config/styles_template.xml | 123 ++ .../cytoscape_config/template_test.cys | Bin 0 -> 69296 bytes src/lang_main/errors.py | 2 + src/lang_main/io.py | 2 +- src/lang_main/lang_main_config.toml | 9 +- src/lang_main/lang_main_config_old.toml | 57 + src/lang_main/pipelines/predefined.py | 11 + src/lang_main/types.py | 1 + test-notebooks/image.png | Bin 13671 -> 34833 bytes test-notebooks/lang_main_config.toml | 22 +- test-notebooks/misc.ipynb | 1120 +++++++++++++---- 17 files changed, 1258 insertions(+), 263 deletions(-) create mode 100644 src/lang_main/cytoscape_config/styles_template.xml create mode 100644 src/lang_main/cytoscape_config/template_test.cys create mode 100644 src/lang_main/errors.py create mode 100644 src/lang_main/lang_main_config_old.toml diff --git a/.gitignore b/.gitignore index 9bf516c..c07bbdd 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,12 @@ __pycache__/ *.py[cod] *$py.class +# images +*.jog +*.png +*.svg +*.bmp + # C extensions *.so diff --git a/scripts/analyse_dataset.py b/scripts/analyse_dataset.py index 30202e8..2a9738d 100644 --- a/scripts/analyse_dataset.py +++ b/scripts/analyse_dataset.py @@ -1,13 +1,14 @@ import typing from typing import cast -from pandas import DataFrame, Series +from pandas import DataFrame -from lang_main.analysis.graphs import TokenGraph +from lang_main.analysis.graphs import Graph, TokenGraph, save_to_GraphML from lang_main.constants import ( PATH_TO_DATASET, SAVE_PATH_FOLDER, SKIP_GRAPH_POSTPROCESSING, + SKIP_GRAPH_RESCALING, SKIP_PREPROCESSING, SKIP_TIME_ANALYSIS, SKIP_TOKEN_ANALYSIS, @@ -20,6 +21,7 @@ from lang_main.pipelines.predefined import ( build_timeline_pipe, build_tk_graph_pipe, build_tk_graph_post_pipe, + build_tk_graph_rescaling, ) from lang_main.types import ( EntryPoints, @@ -34,6 +36,7 @@ pipe_target_feat = build_base_target_feature_pipe() pipe_merge = build_merge_duplicates_pipe() pipe_token_analysis = build_tk_graph_pipe() pipe_graph_postprocessing = build_tk_graph_post_pipe() +pipe_graph_rescaling = build_tk_graph_rescaling() pipe_timeline = build_timeline_pipe() @@ -81,6 +84,24 @@ def run_graph_postprocessing() -> None: ) +def run_graph_edge_rescaling() -> None: + entry_point_path = get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TK_GRAPH_ANALYSIS) + loaded_results = cast( + tuple[TokenGraph], + load_pickle(entry_point_path), + ) + tk_graph = loaded_results[0] + ret = cast( + tuple[TokenGraph, Graph], pipe_graph_rescaling.run(starting_values=(tk_graph,)) + ) + undirected_rescaled_graph = ret[1] + save_to_GraphML( + undirected_rescaled_graph, + saving_path=SAVE_PATH_FOLDER, + filename='TokenGraph-undirected-rescaled', + ) + + # ** time analysis def run_time_analysis() -> None: # load entry point @@ -101,6 +122,7 @@ def build_pipeline_container() -> PipelineContainer: container.add(run_preprocessing, skip=SKIP_PREPROCESSING) container.add(run_token_analysis, skip=SKIP_TOKEN_ANALYSIS) container.add(run_graph_postprocessing, skip=SKIP_GRAPH_POSTPROCESSING) + container.add(run_graph_edge_rescaling, skip=SKIP_GRAPH_RESCALING) container.add(run_time_analysis, skip=SKIP_TIME_ANALYSIS) return container diff --git a/scripts/lang_main_config.toml b/scripts/lang_main_config.toml index f5c2788..fbd99b0 100644 --- a/scripts/lang_main_config.toml +++ b/scripts/lang_main_config.toml @@ -13,9 +13,10 @@ dataset = '../data/02_202307/Export4.csv' # be fully executed [control] preprocessing_skip = true -token_analysis_skip = true -graph_postprocessing_skip = true -time_analysis_skip = false +token_analysis_skip = false +graph_postprocessing_skip = false +graph_rescaling_skip = false +time_analysis_skip = true #[export_filenames] #filename_cossim_filter_candidates = 'CosSim-FilterCandidates' diff --git a/scripts/test.py b/scripts/test.py index 62dc3f9..338b3f4 100644 --- a/scripts/test.py +++ b/scripts/test.py @@ -1,12 +1 @@ -from lang_main.analysis.preprocessing import clean_string_slim -from lang_main.constants import SAVE_PATH_FOLDER - -print(SAVE_PATH_FOLDER) -txt = """ -Wir feiern den Jahrestag am 23.11.2023, olé! -tel:::: !!!!???? +++49 123 456 789 - -Doch leben wir länger. -""" -print(txt) -print(clean_string_slim(txt)) +import py4cytoscape diff --git a/src/lang_main/analysis/graphs.py b/src/lang_main/analysis/graphs.py index e1ad50d..bcf1578 100644 --- a/src/lang_main/analysis/graphs.py +++ b/src/lang_main/analysis/graphs.py @@ -14,6 +14,7 @@ from networkx import DiGraph, Graph from pandas import DataFrame from lang_main.constants import EDGE_WEIGHT_DECIMALS +from lang_main.errors import EdgePropertyNotContainedError from lang_main.io import load_pickle, save_pickle from lang_main.loggers import logger_graphs as logger from lang_main.types import ( @@ -27,6 +28,18 @@ from lang_main.types import ( LOGGING_DEFAULT: Final[bool] = False +def save_to_GraphML( + graph: DiGraph | Graph, + saving_path: Path, + filename: str | None = None, +) -> None: + if filename is not None: + saving_path = saving_path.joinpath(filename) + saving_path = saving_path.with_suffix('.graphml') + nx.write_graphml(G=graph, path=saving_path) + logger.info('Successfully saved graph as GraphML file under %s.', saving_path) + + def get_graph_metadata( graph: Graph | DiGraph, logging: bool = LOGGING_DEFAULT, @@ -270,6 +283,24 @@ def filter_graph_by_node_degree( return filtered_graph +def apply_rescaling_to_graph( + graph: TokenGraph, +) -> tuple[TokenGraph, Graph]: + """helper function to allow calls in pipelines + + Parameters + ---------- + graph : TokenGraph + token graph pushed through pipeline + + Returns + ------- + tuple[TokenGraph, Graph] + token graph (directed) and undirected version with rescaled edge weights + """ + return graph.rescale_edge_weights() + + def normalise_array_linear( array: npt.NDArray[np.float_], ) -> npt.NDArray[np.float32]: @@ -323,22 +354,57 @@ def weight_scaling( return np.round(adjusted_weights, decimals=EDGE_WEIGHT_DECIMALS) +def verify_property( + graph: Graph | DiGraph, + property: str, +) -> None: + for idx, (node_1, node_2) in enumerate(graph.edges): + if property not in graph[node_1][node_2]: + raise EdgePropertyNotContainedError( + ( + f'Edge property >>{property}<< not ' + f'available for edge >>({node_1}, {node_2})<<' + ) + ) + + +@overload def rescale_edge_weights( graph: TokenGraph, -) -> TokenGraph: + weight_property: str = ..., +) -> TokenGraph: ... + + +@overload +def rescale_edge_weights( + graph: DiGraph, + weight_property: str = ..., +) -> DiGraph: ... + + +@overload +def rescale_edge_weights( + graph: Graph, + weight_property: str = ..., +) -> Graph: ... + + +def rescale_edge_weights( + graph: Graph | DiGraph | TokenGraph, + weight_property: str = 'weight', +) -> Graph | DiGraph | TokenGraph: graph = graph.copy() + # check if all edges contain weight property + verify_property(graph, property=weight_property) weights = cast(list[int], [data['weight'] for data in graph.edges.values()]) w_log = cast(npt.NDArray[np.float32], np.log(weights, dtype=np.float32)) weights_norm = normalise_array_linear(w_log) weights_adjusted = weight_scaling(weights_norm) # assign new weight values - for idx, (node_1, node_2) in enumerate(list(graph.edges)): + for idx, (node_1, node_2) in enumerate(graph.edges): graph[node_1][node_2]['weight'] = weights_adjusted[idx] - graph.rescaled_weights = True - graph.update_metadata(logging=False) - return graph @@ -405,7 +471,10 @@ class TokenGraph(DiGraph): return self._directed @property - def undirected(self) -> Graph | None: + def undirected(self) -> Graph: + if self._undirected is None: + self._undirected = self.to_undirected(inplace=False, logging=False) + return self._undirected @property @@ -464,6 +533,35 @@ class TokenGraph(DiGraph): graph=self._undirected, logging=logging ) + def rescale_edge_weights( + self, + ) -> tuple[TokenGraph, Graph]: + """generate new instances of the directed and undirected TokenGraph with + rescaled edge weights + Only this method ensures that undirected graphs are scaled properly. If + the underlying `to_undirected` method of the directed and rescaled + TokenGraph instance is called the weights are not rescaled again. Thus, + the maximum edge weight can exceed the theoretical maximum value of 1. To + ensure consistent behaviour across different application of the conversion to + undirected graphs new instances are returned, especially for the undirected + graph. + In contrast, the new directed TokenGraph contains an undirected version without + rescaling of the weights. Therefore, this undirected version differs from the version + returned by this method. + + Returns + ------- + tuple[TokenGraph, Graph] + directed and undirected instances + """ + token_graph = rescale_edge_weights(self.directed) + token_graph.rescaled_weights = True + token_graph.to_undirected(inplace=True, logging=False) + token_graph.update_metadata(logging=False) + undirected = rescale_edge_weights(self.undirected) + + return token_graph, undirected + def _save_prepare( self, path: Path, @@ -508,9 +606,10 @@ class TokenGraph(DiGraph): else: raise ValueError('No undirected graph available.') - saving_path = saving_path.with_suffix('.graphml') - nx.write_graphml(G=target_graph, path=saving_path) - logger.info('Successfully saved graph as GraphML file under %s.', saving_path) + save_to_GraphML(graph=target_graph, saving_path=saving_path) + # saving_path = saving_path.with_suffix('.graphml') + # nx.write_graphml(G=target_graph, path=saving_path) + # logger.info('Successfully saved graph as GraphML file under %s.', saving_path) def to_pickle( self, diff --git a/src/lang_main/constants.py b/src/lang_main/constants.py index 348bb46..f15dd4f 100644 --- a/src/lang_main/constants.py +++ b/src/lang_main/constants.py @@ -24,13 +24,10 @@ PATH_TO_DATASET: Final[Path] = path_dataset_conf.resolve() # if not PATH_TO_DATASET.exists(): # raise FileNotFoundError(f'Dataset path >>{PATH_TO_DATASET}<< does not exist.') # ** control -# DO_PREPROCESSING: Final[bool] = CONFIG['control']['preprocessing'] SKIP_PREPROCESSING: Final[bool] = CONFIG['control']['preprocessing_skip'] -# DO_TOKEN_ANALYSIS: Final[bool] = CONFIG['control']['token_analysis'] SKIP_TOKEN_ANALYSIS: Final[bool] = CONFIG['control']['token_analysis_skip'] -# DO_GRAPH_POSTPROCESSING: Final[bool] = CONFIG['control']['graph_postprocessing'] SKIP_GRAPH_POSTPROCESSING: Final[bool] = CONFIG['control']['graph_postprocessing_skip'] -# DO_TIME_ANALYSIS: Final[bool] = CONFIG['control']['time_analysis'] +SKIP_GRAPH_RESCALING: Final[bool] = CONFIG['control']['graph_rescaling_skip'] SKIP_TIME_ANALYSIS: Final[bool] = CONFIG['control']['time_analysis_skip'] # ** models diff --git a/src/lang_main/cytoscape_config/styles_template.xml b/src/lang_main/cytoscape_config/styles_template.xml new file mode 100644 index 0000000..a2090a9 --- /dev/null +++ b/src/lang_main/cytoscape_config/styles_template.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lang_main/cytoscape_config/template_test.cys b/src/lang_main/cytoscape_config/template_test.cys new file mode 100644 index 0000000000000000000000000000000000000000..e5e3b15eeb0b45df2dd88c546226a16c21c9a646 GIT binary patch literal 69296 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

d`{~T8z6nIdNyanm%m}<*6}50FdnjyEIT* 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 Cr?-Xx literal 0 HcmV?d00001 diff --git a/src/lang_main/errors.py b/src/lang_main/errors.py new file mode 100644 index 0000000..ada6563 --- /dev/null +++ b/src/lang_main/errors.py @@ -0,0 +1,2 @@ +class EdgePropertyNotContainedError(Exception): + """Error raised if a needed edge property is not contained in graph edges""" diff --git a/src/lang_main/io.py b/src/lang_main/io.py index ca8933d..3ad9b0a 100644 --- a/src/lang_main/io.py +++ b/src/lang_main/io.py @@ -1,5 +1,5 @@ -import pickle import base64 +import pickle import shutil import tomllib from pathlib import Path diff --git a/src/lang_main/lang_main_config.toml b/src/lang_main/lang_main_config.toml index ef7dbbc..fbd99b0 100644 --- a/src/lang_main/lang_main_config.toml +++ b/src/lang_main/lang_main_config.toml @@ -2,8 +2,8 @@ [paths] inputs = './inputs/' -results = './results/test_new2/' -dataset = './01_2_Rohdaten_neu/Export4.csv' +results = './results/test_20240619/' +dataset = '../data/02_202307/Export4.csv' #results = './results/Export7/' #dataset = './01_03_Rohdaten_202403/Export7_59499_Zeilen.csv' #results = './results/Export7_trunc/' @@ -12,10 +12,11 @@ dataset = './01_2_Rohdaten_neu/Export4.csv' # only debugging features, production-ready pipelines should always # be fully executed [control] -preprocessing_skip = false +preprocessing_skip = true token_analysis_skip = false graph_postprocessing_skip = false -time_analysis_skip = false +graph_rescaling_skip = false +time_analysis_skip = true #[export_filenames] #filename_cossim_filter_candidates = 'CosSim-FilterCandidates' diff --git a/src/lang_main/lang_main_config_old.toml b/src/lang_main/lang_main_config_old.toml new file mode 100644 index 0000000..ef7dbbc --- /dev/null +++ b/src/lang_main/lang_main_config_old.toml @@ -0,0 +1,57 @@ +# lang_main: Config file + +[paths] +inputs = './inputs/' +results = './results/test_new2/' +dataset = './01_2_Rohdaten_neu/Export4.csv' +#results = './results/Export7/' +#dataset = './01_03_Rohdaten_202403/Export7_59499_Zeilen.csv' +#results = './results/Export7_trunc/' +#dataset = './01_03_Rohdaten_202403/Export7_trunc.csv' + +# only debugging features, production-ready pipelines should always +# be fully executed +[control] +preprocessing_skip = false +token_analysis_skip = false +graph_postprocessing_skip = false +time_analysis_skip = false + +#[export_filenames] +#filename_cossim_filter_candidates = 'CosSim-FilterCandidates' + +[preprocess] +filename_cossim_filter_candidates = 'CosSim-FilterCandidates' +date_cols = [ + "VorgangsDatum", + "ErledigungsDatum", + "Arbeitsbeginn", + "ErstellungsDatum", +] +threshold_amount_characters = 5 +threshold_similarity = 0.8 + +[graph_postprocessing] +threshold_edge_weight = 150 + +[time_analysis.uniqueness] +threshold_unique_texts = 4 +criterion_feature = 'HObjektText' +feature_name_obj_id = 'ObjektID' + +[time_analysis.model_input] +# input_features = [ +# 'VorgangsTypName', +# 'VorgangsArtText', +# 'VorgangsBeschreibung', +# ] +input_features = [ + 'VorgangsBeschreibung', +] +activity_feature = 'VorgangsTypName' +activity_types = [ + 'Reparaturauftrag (Portal)', + 'Störungsmeldung', +] +threshold_num_acitivities = 1 +threshold_similarity = 0.8 \ No newline at end of file diff --git a/src/lang_main/pipelines/predefined.py b/src/lang_main/pipelines/predefined.py index a130532..86ec4e8 100644 --- a/src/lang_main/pipelines/predefined.py +++ b/src/lang_main/pipelines/predefined.py @@ -163,6 +163,17 @@ def build_tk_graph_post_pipe() -> Pipeline: return pipe_graph_postprocessing +def build_tk_graph_rescaling() -> Pipeline: + pipe_graph_rescaling = Pipeline(name='Graph_Rescaling', working_dir=SAVE_PATH_FOLDER) + pipe_graph_rescaling.add( + graphs.apply_rescaling_to_graph, + save_result=True, + filename=EntryPoints.TK_GRAPH_ANALYSIS_RESCALED, + ) + + return pipe_graph_rescaling + + # ** timeline analysis def build_timeline_pipe() -> Pipeline: pipe_timeline = Pipeline(name='Timeline_Analysis', working_dir=SAVE_PATH_FOLDER) diff --git a/src/lang_main/types.py b/src/lang_main/types.py index baf2dc1..69130b0 100644 --- a/src/lang_main/types.py +++ b/src/lang_main/types.py @@ -30,6 +30,7 @@ class EntryPoints(enum.StrEnum): TIMELINE_POST = 'TIMELINE_POSTPROCESSING' TK_GRAPH_POST = 'TK-GRAPH_POSTPROCESSING' TK_GRAPH_ANALYSIS = 'TK-GRAPH_ANALYSIS' + TK_GRAPH_ANALYSIS_RESCALED = 'TK-GRAPH_ANALYSIS_RESCALED' TOKEN_ANALYSIS = 'TOKEN_ANALYSIS' diff --git a/test-notebooks/image.png b/test-notebooks/image.png index 49903f34fe7a4712bf30667a91ead7502ca8b9cc..9bb2abf450642147fa95c74069f213ff953b8244 100644 GIT binary patch literal 34833 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 literal 13671 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 z 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 1\u001b[0m \u001b[43malph\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtkg\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43malph_params\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mconfigure_view(strokeWidth\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m)\n", - "File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\alph\\core.py:195\u001b[0m, in \u001b[0;36malph\u001b[1;34m(G, weight_attr, layout_fn, node_args, edge_args, combo_group_by, combo_node_additional_attrs, combo_layout_fn, combo_node_args, combo_edge_args, combo_empty_attr_action, combo_size_scale_domain, combo_size_scale_range, combo_inner_graph_scale_factor, combo_edge_weight_agg_attr, combo_edge_agg_attrs, combo_edge_weight_threshold, include_edgeless_combo_nodes, non_serializable_datetime_format, width, height, prop_kwargs, padding, nodes_layer_params)\u001b[0m\n\u001b[0;32m 193\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 194\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m layout_fn:\n\u001b[1;32m--> 195\u001b[0m pos \u001b[38;5;241m=\u001b[39m \u001b[43mlayout_fn\u001b[49m\u001b[43m(\u001b[49m\u001b[43mG\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 196\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 197\u001b[0m pos \u001b[38;5;241m=\u001b[39m layout\u001b[38;5;241m.\u001b[39mdefault_network_layout(G, weight_attr\u001b[38;5;241m=\u001b[39mweight_attr)\n", - "Cell \u001b[1;32mIn[66], line 3\u001b[0m, in \u001b[0;36m\u001b[1;34m(g)\u001b[0m\n\u001b[0;32m 1\u001b[0m alph_params \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mdict\u001b[39m(\n\u001b[0;32m 2\u001b[0m weight_attr\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mweight\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m----> 3\u001b[0m layout_fn\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mlambda\u001b[39;00m g: \u001b[43mnx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnx_agraph\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpygraphviz_layout\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 4\u001b[0m \u001b[43m \u001b[49m\u001b[43mg\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5\u001b[0m \u001b[43m \u001b[49m\u001b[43mprog\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43msfdp\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m-GK=5 -Gbeautify=true -Goverlap=true\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\n\u001b[0;32m 7\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m,\n\u001b[0;32m 8\u001b[0m node_args\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mdict\u001b[39m(\n\u001b[0;32m 9\u001b[0m size\u001b[38;5;241m=\u001b[39malt\u001b[38;5;241m.\u001b[39mSize(\n\u001b[0;32m 10\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdegree_centrality\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 11\u001b[0m scale\u001b[38;5;241m=\u001b[39malt\u001b[38;5;241m.\u001b[39mScale(domain\u001b[38;5;241m=\u001b[39m[\u001b[38;5;241m0\u001b[39m,\u001b[38;5;241m1\u001b[39m], \u001b[38;5;28mrange\u001b[39m\u001b[38;5;241m=\u001b[39m[\u001b[38;5;241m12\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m, \u001b[38;5;241m40\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m]),\n\u001b[0;32m 12\u001b[0m legend\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 13\u001b[0m ),\n\u001b[0;32m 14\u001b[0m \u001b[38;5;66;03m#fill=alt.Color(\u001b[39;00m\n\u001b[0;32m 15\u001b[0m \u001b[38;5;66;03m# \"degree_centrality\",\u001b[39;00m\n\u001b[0;32m 16\u001b[0m \u001b[38;5;66;03m# scale=alt.Scale(domain=companies, range=palette),\u001b[39;00m\n\u001b[0;32m 17\u001b[0m \u001b[38;5;66;03m#),\u001b[39;00m\n\u001b[0;32m 18\u001b[0m stroke\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m#333\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 19\u001b[0m strokeWidth\u001b[38;5;241m=\u001b[39malt\u001b[38;5;241m.\u001b[39mSize(\n\u001b[0;32m 20\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdegree_centrality\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 21\u001b[0m scale\u001b[38;5;241m=\u001b[39malt\u001b[38;5;241m.\u001b[39mScale(domain\u001b[38;5;241m=\u001b[39m[\u001b[38;5;241m0\u001b[39m,\u001b[38;5;241m1\u001b[39m], \u001b[38;5;28mrange\u001b[39m\u001b[38;5;241m=\u001b[39m[\u001b[38;5;241m2\u001b[39m, \u001b[38;5;241m5\u001b[39m]),\n\u001b[0;32m 22\u001b[0m legend\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m 23\u001b[0m ),\n\u001b[0;32m 24\u001b[0m tooltip_attrs\u001b[38;5;241m=\u001b[39m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mid\u001b[39m\u001b[38;5;124m\"\u001b[39m],\n\u001b[0;32m 25\u001b[0m label_attr\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mid\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 26\u001b[0m ),\n\u001b[0;32m 27\u001b[0m edge_args\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mdict\u001b[39m(\n\u001b[0;32m 28\u001b[0m color\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m#000\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 29\u001b[0m ),\n\u001b[0;32m 30\u001b[0m width\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m800\u001b[39m,\n\u001b[0;32m 31\u001b[0m height\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m600\u001b[39m,\n\u001b[0;32m 32\u001b[0m )\n", - "File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\networkx\\drawing\\nx_agraph.py:307\u001b[0m, in \u001b[0;36mpygraphviz_layout\u001b[1;34m(G, prog, root, args)\u001b[0m\n\u001b[0;32m 305\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m root \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 306\u001b[0m args \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m-Groot=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mroot\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m--> 307\u001b[0m A \u001b[38;5;241m=\u001b[39m \u001b[43mto_agraph\u001b[49m\u001b[43m(\u001b[49m\u001b[43mG\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 308\u001b[0m A\u001b[38;5;241m.\u001b[39mlayout(prog\u001b[38;5;241m=\u001b[39mprog, args\u001b[38;5;241m=\u001b[39margs)\n\u001b[0;32m 309\u001b[0m node_pos \u001b[38;5;241m=\u001b[39m {}\n", - "File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\networkx\\drawing\\nx_agraph.py:159\u001b[0m, in \u001b[0;36mto_agraph\u001b[1;34m(N)\u001b[0m\n\u001b[0;32m 157\u001b[0m \u001b[38;5;66;03m# add nodes\u001b[39;00m\n\u001b[0;32m 158\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m n, nodedata \u001b[38;5;129;01min\u001b[39;00m N\u001b[38;5;241m.\u001b[39mnodes(data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m):\n\u001b[1;32m--> 159\u001b[0m \u001b[43mA\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43madd_node\u001b[49m\u001b[43m(\u001b[49m\u001b[43mn\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 160\u001b[0m \u001b[38;5;66;03m# Add node data\u001b[39;00m\n\u001b[0;32m 161\u001b[0m a \u001b[38;5;241m=\u001b[39m A\u001b[38;5;241m.\u001b[39mget_node(n)\n", - "File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\pygraphviz\\agraph.py:338\u001b[0m, in \u001b[0;36mAGraph.add_node\u001b[1;34m(self, n, **attr)\u001b[0m\n\u001b[0;32m 336\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[0;32m 337\u001b[0m nh \u001b[38;5;241m=\u001b[39m gv\u001b[38;5;241m.\u001b[39magnode(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle, n, _Action\u001b[38;5;241m.\u001b[39mcreate)\n\u001b[1;32m--> 338\u001b[0m node \u001b[38;5;241m=\u001b[39m \u001b[43mNode\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnh\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnh\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 339\u001b[0m node\u001b[38;5;241m.\u001b[39mattr\u001b[38;5;241m.\u001b[39mupdate(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mattr)\n", - "File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\pygraphviz\\agraph.py:1861\u001b[0m, in \u001b[0;36mNode.__new__\u001b[1;34m(self, graph, name, nh)\u001b[0m\n\u001b[0;32m 1859\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__new__\u001b[39m(\u001b[38;5;28mself\u001b[39m, graph, name\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, nh\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m 1860\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m nh \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m-> 1861\u001b[0m n \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__new__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgv\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43magnameof\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnh\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgraph\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mencoding\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 1862\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 1863\u001b[0m n \u001b[38;5;241m=\u001b[39m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__new__\u001b[39m(\u001b[38;5;28mself\u001b[39m, name)\n", - "\u001b[1;31mTypeError\u001b[0m: decoding to str: need a bytes-like object, NoneType found" - ] - } - ], - "source": [ - "alph(tkg, **alph_params).configure_view(strokeWidth=0)" - ] - }, - { - "cell_type": "code", - "execution_count": 65, + "execution_count": 20, "id": "842e01fa-29cd-4028-9461-c7af24e01c33", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'id': 'Wartungstätigkeit', 'degree_centrality': 0.04225352112676056}" + "{}" ] }, - "execution_count": 65, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -294,26 +164,9 @@ "outputs": [], "source": [] }, - { - "cell_type": "markdown", - "id": "14efa0e8-0937-44da-a76c-160829a7e9bf", - "metadata": {}, - "source": [ - "**additional info:**\n", - "- overlap removal for sfdp Graphviz algorithm not available because of missing triangulation library (only available on Linux)" - ] - }, { "cell_type": "code", - "execution_count": null, - "id": "bfc0f3a7-8865-4b44-bd9c-2c3f4ff9e70e", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 8, + "execution_count": 21, "id": "1e61aca3-efea-4e38-8174-5ca4b2585256", "metadata": {}, "outputs": [], @@ -326,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 22, "id": "5d83c04c-03ab-4086-a4e9-ae430e4c6090", "metadata": {}, "outputs": [ @@ -334,7 +187,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "2024-07-03 14:30:35 +0000 | io:INFO | Loaded file successfully.\n" + "2024-07-10 08:16:41 +0000 | io:INFO | Loaded file successfully.\n" ] } ], @@ -344,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 23, "id": "4718b54e-0891-4f70-8c67-90c439bc8bfd", "metadata": {}, "outputs": [], @@ -354,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 24, "id": "ddcb4ff0-eac4-45ba-9c6e-83ada4b0276c", "metadata": {}, "outputs": [ @@ -364,7 +217,7 @@ "TokenGraph(name: TokenGraph, number of nodes: 6028, number of edges: 17950)" ] }, - "execution_count": 11, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -375,10 +228,111 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "97c46ca7-ca9f-4d11-8d86-cfbd819b7573", "metadata": {}, "outputs": [], + "source": [ + "tkg.rescaled_weights = False" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "b73844e0-4242-4a8c-b552-48f10df34cc0", + "metadata": {}, + "outputs": [], + "source": [ + "directed, undirected = tkg.rescale_edge_weights()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "593b9f87-4e9f-45e4-9367-55347924357b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'num_nodes': 6028,\n", + " 'num_edges': 17950,\n", + " 'min_edge_weight': 0.0952,\n", + " 'max_edge_weight': 1.0,\n", + " 'node_memory': 382321,\n", + " 'edge_memory': 1005200,\n", + " 'total_memory': 1387521}" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "directed.metadata_directed" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "aed4354a-69e4-4215-bd4b-a6c7c37c3ac5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'num_nodes': 6028,\n", + " 'num_edges': 17554,\n", + " 'min_edge_weight': 0.09520000219345093,\n", + " 'max_edge_weight': 1.7527999877929688,\n", + " 'node_memory': 382321,\n", + " 'edge_memory': 983024,\n", + " 'total_memory': 1365345}" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "directed.metadata_undirected" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "587de2ae-26ed-42f5-a8bd-104f9cbf1490", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'num_nodes': 6028,\n", + " 'num_edges': 17554,\n", + " 'min_edge_weight': 0.0952,\n", + " 'max_edge_weight': 1.0,\n", + " 'node_memory': 382321,\n", + " 'edge_memory': 983024,\n", + " 'total_memory': 1365345}" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "get_graph_metadata(undirected)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5c2934c5-2e19-4a33-b7bf-262993e3fabc", + "metadata": {}, + "outputs": [], "source": [] }, { @@ -447,14 +401,15 @@ "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "2024-07-03 14:30:39 +0000 | graphs:INFO | Successfully converted graph to one with undirected edges.\n", - "2024-07-03 14:30:39 +0000 | graphs:INFO | Graph properties: 6028 Nodes, 17554 Edges\n", - "2024-07-03 14:30:39 +0000 | graphs:INFO | Node memory: 373.36 KB\n", - "2024-07-03 14:30:39 +0000 | graphs:INFO | Edge memory: 959.98 KB\n", - "2024-07-03 14:30:39 +0000 | graphs:INFO | Total memory: 1333.34 KB\n" + "ename": "AttributeError", + "evalue": "'TokenGraph' object has no attribute 'rescaled_weights'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[14], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mGtest\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto_undirected\u001b[49m\u001b[43m(\u001b[49m\u001b[43minplace\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n", + "File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\src\\lang_main\\analysis\\graphs.py:481\u001b[0m, in \u001b[0;36mTokenGraph.to_undirected\u001b[1;34m(self, inplace, logging)\u001b[0m\n\u001b[0;32m 479\u001b[0m \u001b[38;5;66;03m# cast to integer edge weights only if edges were not rescaled previously\u001b[39;00m\n\u001b[0;32m 480\u001b[0m cast_int: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m--> 481\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrescaled_weights\u001b[49m:\n\u001b[0;32m 482\u001b[0m cast_int \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[0;32m 484\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_undirected \u001b[38;5;241m=\u001b[39m convert_graph_to_undirected(\n\u001b[0;32m 485\u001b[0m graph\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m,\n\u001b[0;32m 486\u001b[0m logging\u001b[38;5;241m=\u001b[39mlogging,\n\u001b[0;32m 487\u001b[0m cast_int\u001b[38;5;241m=\u001b[39mcast_int,\n\u001b[0;32m 488\u001b[0m )\n", + "\u001b[1;31mAttributeError\u001b[0m: 'TokenGraph' object has no attribute 'rescaled_weights'" ] } ], @@ -531,6 +486,53 @@ "Gtest.metadata_undirected" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "11b9a5b4-8319-44e8-b0eb-0434f952a28e", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c63770ed-5748-4484-816f-22d0e327af73", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "'weight' not in Gtest['Wartungstätigkeit']['Vorgabe']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62e5d9f4-69c8-4990-9a64-6e2f40031d6f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ca7c4578-c9bb-4b0b-b261-e0208d6cb970", + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": 17, @@ -581,6 +583,10 @@ "execution_count": 22, "id": "abf5603d-dab9-49a0-8c86-d2429a36d24d", "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, "scrolled": true }, "outputs": [ @@ -755,18 +761,94 @@ }, { "cell_type": "markdown", - "id": "c8cba3d9-0145-4b37-9ebf-07f0e3c61815", + "id": "55665c2f-9a86-47f4-9125-557666e1f541", "metadata": {}, "source": [ "---\n", "\n", - "# Py4Cytoscape" + "# Load re-scaled Token Graph" ] }, { "cell_type": "code", - "execution_count": 10, - "id": "fcd9247f-c4f9-4f73-9fd3-2ab56700073f", + "execution_count": 3, + "id": "2a3be1eb-b289-46ab-8d70-53110ad2806c", + "metadata": {}, + "outputs": [], + "source": [ + "#obj = 'TK-GRAPH_POSTPROCESSING.pkl'\n", + "obj = 'TK-GRAPH_ANALYSIS_RESCALED.pkl'\n", + "load_pth = res_path / obj\n", + "assert load_pth.exists()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "64d8ba18-b1e2-470d-8bf5-9dd7cfec31de", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-07-10 11:42:39 +0000 | io:INFO | Loaded file successfully.\n" + ] + } + ], + "source": [ + "ret = io.load_pickle(load_pth)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d80522a0-c13a-42d3-af9d-8e10914c7831", + "metadata": {}, + "outputs": [], + "source": [ + "tk_resc = ret[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4a19d096-27f8-4626-97ee-31c0f84a294f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'num_nodes': 158,\n", + " 'num_edges': 189,\n", + " 'min_edge_weight': 0.0952,\n", + " 'max_edge_weight': 1.0,\n", + " 'node_memory': 9908,\n", + " 'edge_memory': 10584,\n", + " 'total_memory': 20492}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "get_graph_metadata(tk_resc)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2272d230-6fe0-4ade-9a09-9f4277d9b58c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "781d2906-f2cb-447a-b8b9-c82d9ae7e29f", "metadata": {}, "outputs": [ { @@ -776,6 +858,268 @@ "You are connected to Cytoscape!\n" ] }, + { + "data": { + "text/plain": [ + "'You are connected to Cytoscape!'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#import py4cytoscape as p4c\n", + "p4c.cytoscape_ping()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "28b25e27-ed77-4c23-84d5-e3dec004e4fe", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Applying default style...\n", + "Applying preferred layout\n" + ] + }, + { + "data": { + "text/plain": [ + "17998" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.create_network_from_networkx(tk_resc, title='test', collection='lang_main')" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "697647da-3b8b-4029-bec9-af2e2bb6984a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Attribute Grid Layout': 'attribute-grid',\n", + " 'Degree Sorted Circle Layout': 'degree-circle',\n", + " 'Group Attributes Layout': 'attributes-layout',\n", + " 'Edge-weighted Spring Embedded Layout': 'kamada-kawai',\n", + " 'Prefuse Force Directed Layout': 'force-directed',\n", + " 'Compound Spring Embedder (CoSE)': 'cose',\n", + " 'Hierarchical Layout': 'hierarchical',\n", + " 'Attribute Circle Layout': 'attribute-circle',\n", + " 'Stacked Node Layout': 'stacked-node-layout',\n", + " 'Circular Layout': 'circular',\n", + " 'Grid Layout': 'grid',\n", + " 'Edge-weighted Force directed (BioLayout)': 'fruchterman-rheingold',\n", + " 'Inverted Self-Organizing Map Layout': 'isom',\n", + " 'Prefuse Force Directed OpenCL Layout': 'force-directed-cl'}" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.get_layout_name_mapping()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "fa15c057-d453-4c7e-8af2-18220ea90651", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['numIterations',\n", + " 'defaultSpringCoefficient',\n", + " 'defaultSpringLength',\n", + " 'defaultNodeMass',\n", + " 'isDeterministic',\n", + " 'singlePartition']" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.get_layout_property_names('force-directed')" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "6f48d9cc-f527-4b33-9477-60636a480371", + "metadata": {}, + "outputs": [], + "source": [ + "layout_props = {\n", + " 'numIterations': 1000,\n", + " 'defaultSpringCoefficient': 1e-4,\n", + " 'defaultSpringLength': 45,\n", + " 'defaultNodeMass': 12,\n", + " 'isDeterministic': True,\n", + " 'singlePartition': False,\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "d542b2ea-11d5-4802-b1b9-65e5e12f6d38", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "''" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.set_layout_properties('force-directed', layout_props)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "514e3f07-061e-4488-a770-02ef13b56dcd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'boolean'" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.get_layout_property_type('kamada-kawai', 'randomize')" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c1069996-b638-4bfa-8ad4-f750a33022d6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{}" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.layout_network('force-directed', 'test')" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "d972ff5a-e695-43b6-b8c5-ab295fd5de3d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.notebook_export_show_image()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2209508-dd98-4d10-8efc-099e2cd0ab50", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3796359f-3112-4bbf-ae76-e52b3602c9f0", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "c8cba3d9-0145-4b37-9ebf-07f0e3c61815", + "metadata": {}, + "source": [ + "---\n", + "\n", + "# Py4Cytoscape" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "fcd9247f-c4f9-4f73-9fd3-2ab56700073f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | Calling cytoscape_ping()\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀCalling cytoscape_version_info(base_url='http://127.0.0.1:1234/v1')\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀǀCalling cyrest_get('version', base_url='http://127.0.0.1:1234/v1')\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀǀHTTP GET(http://127.0.0.1:1234/v1/version)\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀǀOK[200], content: {\"apiVersion\":\"v1\",\"cytoscapeVersion\":\"3.10.2\"}\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀǀReturning 'cyrest_get': {'apiVersion': 'v1', 'cytoscapeVersion': '3.10.2'}\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀReturning 'cytoscape_version_info': {'apiVersion': 'v1', 'cytoscapeVersion': '3.10.2', 'automationAPIVersion': '1.9.0', 'py4cytoscapeVersion': '1.9.0'}\n", + "You are connected to Cytoscape!\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | Returning 'cytoscape_ping': 'You are connected to Cytoscape!'\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | --------------------\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | Calling cytoscape_version_info()\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀCalling cyrest_get('version', base_url='http://127.0.0.1:1234/v1')\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀHTTP GET(http://127.0.0.1:1234/v1/version)\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀOK[200], content: {\"apiVersion\":\"v1\",\"cytoscapeVersion\":\"3.10.2\"}\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀReturning 'cyrest_get': {'apiVersion': 'v1', 'cytoscapeVersion': '3.10.2'}\n", + "2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | Returning 'cytoscape_version_info': {'apiVersion': 'v1', 'cytoscapeVersion': '3.10.2', 'automationAPIVersion': '1.9.0', 'py4cytoscapeVersion': '1.9.0'}\n", + "2024-07-10 11:19:16 +0000 | py4cytoscape_logger:DEBUG | --------------------\n" + ] + }, { "data": { "text/plain": [ @@ -785,21 +1129,21 @@ " 'py4cytoscapeVersion': '1.9.0'}" ] }, - "execution_count": 10, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import py4cytoscape as p4c\n", - "dir(py4)\n", - "py4.cytoscape_ping()\n", - "py4.cytoscape_version_info()" + "dir(p4c)\n", + "p4c.cytoscape_ping()\n", + "p4c.cytoscape_version_info()" ] }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 5, "id": "b9290659-e33c-47fc-8d89-7aa3dd6e843a", "metadata": {}, "outputs": [], @@ -811,7 +1155,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 6, "id": "979d6def-83ac-47f6-ac6f-0d20ddf48d48", "metadata": {}, "outputs": [ @@ -878,7 +1222,7 @@ "3 node 3 B 5" ] }, - "execution_count": 21, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -889,7 +1233,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 7, "id": "81702429-5735-48de-96a4-1f32c7c7d68c", "metadata": {}, "outputs": [ @@ -961,7 +1305,7 @@ "3 node 2 node 3 interacts 9.9" ] }, - "execution_count": 22, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -972,7 +1316,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 8, "id": "6b29d561-fffd-4a5b-91c1-8fb6a075ae4f", "metadata": {}, "outputs": [ @@ -987,10 +1331,10 @@ { "data": { "text/plain": [ - "344" + "128" ] }, - "execution_count": 23, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -1001,18 +1345,18 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 10, "id": "2e6878db-40c0-4ae6-89d6-9b1a5e50baaf", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "" ] }, - "execution_count": 24, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -1023,7 +1367,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 11, "id": "66128f17-16eb-43d3-9d63-bbac3f8f803a", "metadata": {}, "outputs": [ @@ -1033,7 +1377,7 @@ "{'message': 'Visual Style applied.'}" ] }, - "execution_count": 25, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -1044,18 +1388,18 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 13, "id": "ca0cc760-74e4-4c4a-b78a-c932ab16ab06", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "" ] }, - "execution_count": 26, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1066,7 +1410,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 14, "id": "24c29cb3-cf64-4fad-8b1a-b0962f1005b4", "metadata": {}, "outputs": [ @@ -1076,7 +1420,7 @@ "{'message': 'Visual Style applied.'}" ] }, - "execution_count": 27, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -1092,18 +1436,18 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 15, "id": "1dfb553a-2367-463e-8a3d-0d232c2aedd0", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxsAAAFwCAYAAADQcmZ5AAA1LklEQVR4Xu3dDbz+9Xw/8JNUv9C/pFamlGQphiSslMYoKSy5K4uNlfvN3dxtmhn71ewGY24ahiWhFrWmaZVuJjLMUmERSUNUVkTb99/rm8/V93zPdZ1znZvvOdfN8/l4vB91ru91nXM6N53P6/t5fz6fmQoAAKADM+0HAAAAVoKwAQAAdELYAAAAOiFsAAAAnRA2AACATggbAABAJ4QNAACgE8IGAADQCWEDAADohLABAAB0QtgAAAA6IWwAAACdEDYAAIBOCBsAAEAnhA0AAKATwgYAANAJYQMAAOiEsAEAAHRC2AAAADohbAAAAJ0QNgAAgE4IGwAAQCeEDQAAoBPCBgAA0AlhAwAA6ISwAQAAdELYAAAAOiFsAAAAnRA2AACATggbAABAJ4QNAACgE8IGAADQCWEDAADohLABAAB0QtgAAAA6IWwAAACdEDYAAIBOCBsAAEAnhA0AAKATwgYAANAJYQMAAOiEsAEAAHRC2AAAADohbAAAAJ0QNgAAgE4IGwAAQCeEDQAAoBPCBgAA0AlhAwAA6ISwAQAAdELYAAAAOiFsAAAAnRA2AACATggbAABAJ4QNAACgE8IGAADQCWEDAADohLABAAB0QtgAAAA6IWwAAACdEDYAAIBOCBsAAEAnhA0AAKATwgYAANAJYQMAAOiEsAEAAHRC2AAAADohbAAAAJ0QNgAAgE4IGwAAQCeEDQAAoBPCBgAA0AlhAwAA6ISwAQAAdELYAAAAOiFsAAAAnRA2AACATggbAABAJ4QNAACgE8IGAADQCWEDAADohLABAAB0QtgAAAA6IWwAAACdEDYAAIBOCBsAAEAnhA0AAKATwgYAANAJYQMAAOiEsAEAAHRC2AAAADohbAAAAJ0QNgAAgE4IGwAAQCeEDQAAoBPCBgAA0AlhAwAA6ISwAQAAdELYAAAAOiFsAAAAnRA2AACATggbAABAJ4QNAACgE8IGAADQCWEDAADohLABAAB0QtgAAAA6IWwAAACdEDYAAIBOCBsAAEAnhA0AAKATwgYAANAJYQMAAOiEsAEAAHRC2AAAADohbAAAAJ0QNgAAgE4IGwAAQCeEjY783//9X3XsscdWP/rRj9qXAABgKggbHUjQeM5znlPNzMxUe+65p8ABAMBUEjZWWDNolBI4AACYRsLGCmoGjQ1uqcNuqTsJHAAATClhY4W0g8bLb6nP3FLvETgAAJhSwsYKGBQ0SgkcAABMI2FjmRYKGgIHAADTSthYhmGDhsABAMA0EjaWaLFBQ+AAAGDaCBtLsNSgIXAAADBNhI1FWm7QEDgAAJgWwsYirFTQEDgAAJgGwsaQVjpolBI4AACYVMLGELoKGqUEDgAAJpGwsYCug0YpgQMAgEkjbMxjtYJGKYEDAIBJImwMsNpBo5TAAQDApBA2+liroFFK4AAAYBIIGy1rHTRKCRwAAIw7YaNhVIJGKYEDAIBxJmz8wqgFjVICBwAA40rYqEY3aJQSOAAAGEdTHzZGPWiUEjgAABg3Ux02xiVolBI4AAAYJ8sKGxdccEF11llnVd/73vfalzqTgPCf//mf1T/90z9V5513XvXDH/6w/ZShjFvQKCVwAAAwLpYVNu52t7vVg96PfOQj7UudOOmkk6qddtqp/pilNt544+qwww6r/vu//7v99IHGNWiUageO/Ld/97vfrb7yla9U//Ef/1FdfPHF1X/913/Vj19//fXVz372s/aXAFik0047rfrf//3f9sMAwDzGJmz83d/9XS9g7LrrrtVRRx1Vh4wtttiifuzud797dfXVV7dfNse4B41SzcBxz3ves3r3u99d/cM//MPA+vCHP1x94hOfqP7lX/6l+rd/+7fqC1/4QnXppZdWV1xxRT0z9T//8z/11waY69hjj61/14444giBAwAWYSzCRu7a3+EOd6g/1pFHHln9/Oc/71276qqr6sF2rj396U9vvGquSQkapZqBIzM+CwWOYepjH/tY3aL2r//6r3UoyUzJ17/+9eo73/lOdc0111Q33nhj+8sKE60EjVICBwAMbyzCxvr16+uPs+2221Y//elP25er97///fX1tFTdfPPN7cu1SQsapboIHMPUP/7jP1af/OQnq09/+tPV5z73uXodTVq3Mrt03XXXad1iIjSDxq/dUrf7xb8LHAAwnJkf/OAH7cfm+MY3vlG95z3vqf70T/+0et/73tdblLxQ2Ljhhhuqj3/84/Uf7De84Q3Vhz70ofru+GJlYPuMZzyj+uM//uP2pVruwJcBQb+1G5MaNEqtVeBYqNK6dcopp9StW9lMIK1bl1xySfXNb36z/j5p3WKUNYPG4b/4XXvtjMABAIsxs27d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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxsAAAFwCAYAAADQcmZ5AAAzjElEQVR4Xu3de2xcZX7w8VBQaCAhC0lY2Fe0Eu2ibRsQUgGJf9oVUlVahFoFFqmif2yLigR/AOUF9CJCAVG20W7/WMGCFihbLbub+H6N41tsx46d2HEc20kcx4nj2I7t+BrfHcce53n9e7TnaOY5nrHPeMYzc873I/2k9cyZ4xsr+Zs5z3k2KQAAAACIg03mAwAAAAAQC8QGAAAAgLggNgAAAADEBbEBAAAAIC6IDQAAEFOBQMB8CIBPERsAACBm+vv71e7du1VBQYH5FAAfIjYAAEBMSGg89NBD6m82bVJ3bd5McAAgNgAAwPpZofHicmjUL88vCA4AitgAAADrZIaGNQQHAGIDAABELVxoEBwABLEBAACislpoEBwAiA0AAODaWkOD4AD8jdgAAACuuA0NggPwL2IDAACsWbShQXAA/kRsAACANVlvaBAcgP8QGwAAYFWxCg1rCA7AH4gNAABS3OjoqFpaWjIfXrObN2+qkZER82FbrEPDGoID8D5iAwCAFHf77bery5cvmw+v2c9//nP1t3/7t+bDWrxCwxqCA/A2YgMAgBQXbWzMzs6qf//3f1e33nrrirER79CwhuAAvIvYAAAgAQYGBtTHH3+sSkpK1AsvvKBefvlldebMGfv54eFh9e6776rnnntOvffee2psbMx+rqurS7366qvqxRdfVBUVFSGxMTk5qT744AP1/PPPq71796qJiQn7dSb5nHL+n/zkJ47Y2KjQsIbgALyJ2AAAIAEkLO644w719NNP6z+wX3nlFbVr1y41Pz+vxsfH1QMPPKDeeOMNVVlZqV577TX14IMP6nciJB7uv/9+9f7776uysjL11FNPqVtuuUXHxuLionr44Yd1iFRVVam33npLfyyPr0Q+j/j6669DYmOjQ8MaggPwHmIDAIAEkNjYtPzH9eDgoP44EAjodyja29vV559/rp544omQ4x9//HEdBTJPPvmk/Xhvb68+j8RGZmamjotgjz32mMrOzg55zGTGRmFhofrD225TX60QBPGc8uX5k+X5t3/7t6CvDkAqIzYAAEgAiY0tW7aEPLZ9+3b9+JtvvqkvcQomH7/99tvqnXfeUS+99FLIc3fffbeODbksa/PmzWrHjh32yMeffPJJyPEmMzZEVlaW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", "text/plain": [ "" ] }, - "execution_count": 28, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1112,10 +1456,350 @@ "p4c.notebook_export_show_image()" ] }, + { + "cell_type": "code", + "execution_count": 20, + "id": "5d535abb-83f0-40c8-b781-5b3129183ebf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Applying default style...\n", + "Applying preferred layout\n" + ] + }, + { + "data": { + "text/plain": [ + "397" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nodes = pd.DataFrame(data={'id': [\"A\", \"B\", \"C\", \"D\"]})\n", + "edges = pd.DataFrame(data={'source': [\"C\", \"B\", \"B\", \"B\"], 'target': [\"D\", \"A\", \"D\", \"C\"]})\n", + "\n", + "p4c.create_network_from_data_frames(nodes, edges, title=\"simple network\", collection=\"Biological Example\")" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "bb8bf383-7760-434e-ab3d-71b976024006", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.notebook_export_show_image()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "1c4ab4f0-1f4d-4b9e-8b56-ec0f648531cb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SUIDshared nameidnameselected
427427AAAFalse
430430BBBFalse
433433CCCFalse
436436DDDFalse
\n", + "
" + ], + "text/plain": [ + " SUID shared name id name selected\n", + "427 427 A A A False\n", + "430 430 B B B False\n", + "433 433 C C C False\n", + "436 436 D D D False" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.get_table_columns()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "0a7b318d-b4e1-4eef-ab13-14e9b7bfa80e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['SUID', 'shared name', 'id', 'name', 'selected']" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.get_table_column_names()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "29ba0973-1bc8-4987-b4ff-f3e50f9df573", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Attribute Circle Layout': 'attribute-circle',\n", + " 'Stacked Node Layout': 'stacked-node-layout',\n", + " 'Attribute Grid Layout': 'attribute-grid',\n", + " 'Degree Sorted Circle Layout': 'degree-circle',\n", + " 'Circular Layout': 'circular',\n", + " 'Group Attributes Layout': 'attributes-layout',\n", + " 'Edge-weighted Spring Embedded Layout': 'kamada-kawai',\n", + " 'Prefuse Force Directed Layout': 'force-directed',\n", + " 'Compound Spring Embedder (CoSE)': 'cose',\n", + " 'Grid Layout': 'grid',\n", + " 'Hierarchical Layout': 'hierarchical',\n", + " 'Edge-weighted Force directed (BioLayout)': 'fruchterman-rheingold',\n", + " 'Inverted Self-Organizing Map Layout': 'isom',\n", + " 'Prefuse Force Directed OpenCL Layout': 'force-directed-cl'}" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.get_layout_name_mapping()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "63aba4a3-f53f-4eb0-ab6b-17bbd1b58e78", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['m_averageIterationsPerNode',\n", + " 'm_nodeDistanceStrengthConstant',\n", + " 'm_nodeDistanceRestLengthConstant',\n", + " 'm_disconnectedNodeDistanceSpringStrength',\n", + " 'm_disconnectedNodeDistanceSpringRestLength',\n", + " 'm_anticollisionSpringStrength',\n", + " 'm_layoutPass',\n", + " 'singlePartition',\n", + " 'unweighted',\n", + " 'randomize']" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.get_layout_property_names('kamada-kawai')" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "eec4f428-3abd-40da-a291-112b3e0d6f65", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'boolean'" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.get_layout_property_type('kamada-kawai', 'randomize')" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "98eb2412-5f24-4180-beac-2cadac9bb35e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.get_layout_property_value('kamada-kawai', 'randomize')" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "3492ec28-71e4-4366-855b-44238c12bf88", + "id": "3bdb2b5f-609b-4bbf-8e42-a8ec07e5bda2", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "fc3d4dd1-a132-4f08-adc3-add2eb25cc27", + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "11beffb4-a21e-4b73-9c0c-a0ec57513ebd", + "metadata": {}, + "outputs": [], + "source": [ + "tp = Path.cwd()\n", + "file = tp / 'test.svg'" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "03696e83-9c87-4ec3-bba2-024f4747385a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'file': 'A:\\\\Arbeitsaufgaben\\\\lang-main\\\\test-notebooks.xml'}" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.export_visual_styles(str(tp))" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "0e4068b3-7bf9-4093-8887-02b677a76fc1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'file': 'A:\\\\Arbeitsaufgaben\\\\lang-main\\\\test-notebooks\\\\test.svg'}" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.export_image(str(file), type='SVG')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "be448cd8-022c-446b-9294-2d00bc445054", "metadata": {}, "outputs": [], "source": []