risk-network 0.0.14b0__tar.gz → 0.0.14b2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {risk_network-0.0.14b0/src/risk_network.egg-info → risk_network-0.0.14b2}/PKG-INFO +1 -1
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/__init__.py +1 -1
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_api.py +0 -3
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_graph/_api.py +0 -3
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_io.py +9 -33
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_api.py +0 -3
- {risk_network-0.0.14b0 → risk_network-0.0.14b2/src/risk_network.egg-info}/PKG-INFO +1 -1
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/tests/test_load_network.py +2 -2
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/LICENSE +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/README.md +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/pyproject.toml +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/setup.cfg +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_annotation/__init__.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_annotation/_annotation.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_annotation/_io.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_annotation/_nltk_setup.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_log/__init__.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_log/_console.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_log/_parameters.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/__init__.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_community.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_domains.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_neighborhoods.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/__init__.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/_permutation/__init__.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/_permutation/_permutation.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/_permutation/_test_functions.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/_tests.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/__init__.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_graph/__init__.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_graph/_graph.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_graph/_stats.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_graph/_summary.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/__init__.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_canvas.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_contour.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_labels.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_network.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_plotter.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/__init__.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/_colors.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/_layout.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_risk.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk_network.egg-info/SOURCES.txt +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk_network.egg-info/dependency_links.txt +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk_network.egg-info/requires.txt +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk_network.egg-info/top_level.txt +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/tests/test_load_annotation.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/tests/test_load_graph.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/tests/test_load_io_combinations.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/tests/test_load_neighborhoods.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/tests/test_load_plotter.py +0 -0
- {risk_network-0.0.14b0 → risk_network-0.0.14b2}/tests/test_log.py +0 -0
@@ -24,24 +24,6 @@ class NetworkAPI:
|
|
24
24
|
Delegates to the NetworkIO worker class for actual I/O and processing.
|
25
25
|
"""
|
26
26
|
|
27
|
-
def __init__(
|
28
|
-
self,
|
29
|
-
compute_sphere: bool = True,
|
30
|
-
surface_depth: float = 0.0,
|
31
|
-
min_edges_per_node: int = 0,
|
32
|
-
):
|
33
|
-
"""
|
34
|
-
Initialize the NetworkAPI.
|
35
|
-
|
36
|
-
Args:
|
37
|
-
compute_sphere (bool): Whether to map nodes to a sphere. Defaults to True.
|
38
|
-
surface_depth (float): Surface depth for the sphere. Defaults to 0.0.
|
39
|
-
min_edges_per_node (int): Minimum number of edges per node. Defaults to 0.
|
40
|
-
"""
|
41
|
-
self.compute_sphere = compute_sphere
|
42
|
-
self.surface_depth = surface_depth
|
43
|
-
self.min_edges_per_node = min_edges_per_node
|
44
|
-
|
45
27
|
def load_network_gpickle(
|
46
28
|
self,
|
47
29
|
filepath: str,
|
@@ -182,7 +164,7 @@ class NetworkIO:
|
|
182
164
|
Args:
|
183
165
|
compute_sphere (bool, optional): Whether to map nodes to a sphere. Defaults to True.
|
184
166
|
surface_depth (float, optional): Surface depth for the sphere. Defaults to 0.0.
|
185
|
-
min_edges_per_node (int, optional): Minimum number of edges per node. Defaults to 0.
|
167
|
+
min_edges_per_node (int, optional): Minimum number of edges per node (k-core threshold). Defaults to 0.
|
186
168
|
"""
|
187
169
|
self.compute_sphere = compute_sphere
|
188
170
|
self.surface_depth = surface_depth
|
@@ -458,20 +440,14 @@ class NetworkIO:
|
|
458
440
|
num_initial_edges = G.number_of_edges()
|
459
441
|
# Remove self-loops to ensure correct edge count
|
460
442
|
G.remove_edges_from(nx.selfloop_edges(G))
|
461
|
-
#
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
break # Exit loop if no nodes meet the condition
|
470
|
-
G.remove_nodes_from(nodes_to_remove)
|
471
|
-
|
472
|
-
# Remove isolated nodes
|
473
|
-
isolates = list(nx.isolates(G))
|
474
|
-
G.remove_nodes_from(isolates)
|
443
|
+
# Apply canonical node k-core pruning if requested
|
444
|
+
if self.min_edges_per_node > 0:
|
445
|
+
# networkx.k_core returns a subgraph; to preserve in-place behavior, copy back
|
446
|
+
core = nx.k_core(G, k=self.min_edges_per_node)
|
447
|
+
# Rebuild G in-place to keep external references valid
|
448
|
+
G.clear()
|
449
|
+
G.add_nodes_from(core.nodes(data=True))
|
450
|
+
G.add_edges_from(core.edges(data=True))
|
475
451
|
|
476
452
|
# Log the number of nodes and edges before and after cleaning
|
477
453
|
num_final_nodes = G.number_of_nodes()
|
@@ -251,7 +251,7 @@ def test_attribute_fallback_mechanism(risk_obj, data_path):
|
|
251
251
|
@pytest.mark.parametrize("min_edges", [1, 5, 10])
|
252
252
|
def test_load_network_min_edges(risk_obj, data_path, min_edges):
|
253
253
|
"""
|
254
|
-
Test loading a Cytoscape network with varying min_edges_per_node.
|
254
|
+
Test loading a Cytoscape network with varying min_edges_per_node using canonical k-core pruning.
|
255
255
|
|
256
256
|
Args:
|
257
257
|
risk_obj: The RISK object instance used for loading the network.
|
@@ -399,7 +399,7 @@ def test_missing_node_attributes(risk_obj, cytoscape_network):
|
|
399
399
|
|
400
400
|
def test_remove_isolates_does_not_raise(risk_obj, dummy_network):
|
401
401
|
"""
|
402
|
-
Test that
|
402
|
+
Test that canonical k-core removal (via min_edges_per_node) handles isolated nodes without error.
|
403
403
|
|
404
404
|
Args:
|
405
405
|
risk_obj: The RISK object instance used for loading the network.
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/__init__.py
RENAMED
File without changes
|
{risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/_colors.py
RENAMED
File without changes
|
{risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/_layout.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{risk_network-0.0.14b0 → risk_network-0.0.14b2}/src/risk_network.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|