risk-network 0.0.14b1__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.14b1/src/risk_network.egg-info → risk_network-0.0.14b2}/PKG-INFO +1 -1
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/__init__.py +1 -1
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_io.py +9 -15
- {risk_network-0.0.14b1 → risk_network-0.0.14b2/src/risk_network.egg-info}/PKG-INFO +1 -1
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/tests/test_load_network.py +2 -2
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/LICENSE +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/README.md +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/pyproject.toml +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/setup.cfg +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_annotation/__init__.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_annotation/_annotation.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_annotation/_io.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_annotation/_nltk_setup.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_log/__init__.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_log/_console.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_log/_parameters.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/__init__.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_api.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_community.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_domains.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_neighborhoods.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/__init__.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/_permutation/__init__.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/_permutation/_permutation.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/_permutation/_test_functions.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_neighborhoods/_stats/_tests.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/__init__.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_graph/__init__.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_graph/_api.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_graph/_graph.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_graph/_stats.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_graph/_summary.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/__init__.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_api.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_canvas.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_contour.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_labels.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_network.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_plotter.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/__init__.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/_colors.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/_layout.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_risk.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk_network.egg-info/SOURCES.txt +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk_network.egg-info/dependency_links.txt +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk_network.egg-info/requires.txt +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk_network.egg-info/top_level.txt +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/tests/test_load_annotation.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/tests/test_load_graph.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/tests/test_load_io_combinations.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/tests/test_load_neighborhoods.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/tests/test_load_plotter.py +0 -0
- {risk_network-0.0.14b1 → risk_network-0.0.14b2}/tests/test_log.py +0 -0
@@ -164,7 +164,7 @@ class NetworkIO:
|
|
164
164
|
Args:
|
165
165
|
compute_sphere (bool, optional): Whether to map nodes to a sphere. Defaults to True.
|
166
166
|
surface_depth (float, optional): Surface depth for the sphere. Defaults to 0.0.
|
167
|
-
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.
|
168
168
|
"""
|
169
169
|
self.compute_sphere = compute_sphere
|
170
170
|
self.surface_depth = surface_depth
|
@@ -440,20 +440,14 @@ class NetworkIO:
|
|
440
440
|
num_initial_edges = G.number_of_edges()
|
441
441
|
# Remove self-loops to ensure correct edge count
|
442
442
|
G.remove_edges_from(nx.selfloop_edges(G))
|
443
|
-
#
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
break # Exit loop if no nodes meet the condition
|
452
|
-
G.remove_nodes_from(nodes_to_remove)
|
453
|
-
|
454
|
-
# Remove isolated nodes
|
455
|
-
isolates = list(nx.isolates(G))
|
456
|
-
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))
|
457
451
|
|
458
452
|
# Log the number of nodes and edges before and after cleaning
|
459
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
|
File without changes
|
File without changes
|
File without changes
|
{risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/__init__.py
RENAMED
File without changes
|
{risk_network-0.0.14b1 → risk_network-0.0.14b2}/src/risk/_network/_plotter/_utils/_colors.py
RENAMED
File without changes
|
{risk_network-0.0.14b1 → 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.14b1 → 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
|