Skip to content
Snippets Groups Projects
Commit 22713704 authored by AndiMajore's avatar AndiMajore
Browse files

trying to fix read_graph_tool_graph.py

Former-commit-id: 83be1a42848236fee006cbe97f474e412fb0f325 [formerly 8dc1a3c2c508a55c357c13d39bc02a22169ddfdf]
Former-commit-id: 67e318f196be47c48e19bab15942eef563bb80dd
parent 258aa361
No related branches found
No related tags found
No related merge requests found
...@@ -20,3 +20,5 @@ autostart=true ...@@ -20,3 +20,5 @@ autostart=true
autorestart=true autorestart=true
stdout_logfile=/dev/stdout stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0 stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
...@@ -200,6 +200,8 @@ def trust_rank(task_hook: TaskHook): ...@@ -200,6 +200,8 @@ def trust_rank(task_hook: TaskHook):
task_hook.set_progress(0 / 4.0, "Parsing input.") task_hook.set_progress(0 / 4.0, "Parsing input.")
file_path = os.path.join(task_hook.data_directory, f"internal_{ppi_dataset['name']}_{pdi_dataset['name']}.gt") file_path = os.path.join(task_hook.data_directory, f"internal_{ppi_dataset['name']}_{pdi_dataset['name']}.gt")
g, seed_ids, drug_ids = read_graph_tool_graph(file_path, seeds, max_deg, include_indirect_drugs, include_non_approved_drugs, search_target) g, seed_ids, drug_ids = read_graph_tool_graph(file_path, seeds, max_deg, include_indirect_drugs, include_non_approved_drugs, search_target)
print(seed_ids)
print(drug_ids)
task_hook.set_progress(1 / 4.0, "Computing edge weights.") task_hook.set_progress(1 / 4.0, "Computing edge weights.")
weights = edge_weights(g, hub_penalty, inverse=True) weights = edge_weights(g, hub_penalty, inverse=True)
......
...@@ -68,7 +68,7 @@ def read_graph_tool_graph(file_path, seeds, max_deg, include_indirect_drugs=Fals ...@@ -68,7 +68,7 @@ def read_graph_tool_graph(file_path, seeds, max_deg, include_indirect_drugs=Fals
if node_type == d_type: if node_type == d_type:
if include_non_approved_drugs: if include_non_approved_drugs:
drug_ids.append(node) drug_ids.append(node)
elif not include_non_approved_drugs: else:
drug_groups = g.vertex_properties["status"][node].split(', ') drug_groups = g.vertex_properties["status"][node].split(', ')
if "approved" in drug_groups: if "approved" in drug_groups:
drug_ids.append(node) drug_ids.append(node)
...@@ -81,17 +81,24 @@ def read_graph_tool_graph(file_path, seeds, max_deg, include_indirect_drugs=Fals ...@@ -81,17 +81,24 @@ def read_graph_tool_graph(file_path, seeds, max_deg, include_indirect_drugs=Fals
# Delete edges that should be ignored or are not contained in the selected dataset. # Delete edges that should be ignored or are not contained in the selected dataset.
deleted_edges = [] deleted_edges = []
if (drug_ids and not include_indirect_drugs): # If only_direct_drugs should be included, remove any drug-protein edges that the drug is not a direct neighbor of any seeds if (drug_ids and not include_indirect_drugs): # If only_direct_drugs should be included, remove any drug-protein edges that the drug is not a direct neighbor of any seeds
direct_drugs = [] direct_drugs = set()
for edge in g.edges(): for edge in g.edges():
# if g.edge_properties["type"][edge] == drug_protein and (edge.target() in seed_ids or edge.source() in seed_ids): if g.vertex_properties["type"][edge.target()] == d_type and edge.source() in seed_ids:
if edge.target() in seed_ids or edge.source() in seed_ids: direct_drugs.add(edge.target())
if g.vertex_properties["type"][edge.target()] == d_type: elif g.vertex_properties["type"][edge.source()] == d_type and edge.target() in seed_ids:
direct_drugs.append(edge.target()) direct_drugs.add(edge.source())
elif g.vertex_properties["type"][edge.source()] == d_type: for drug in direct_drugs:
direct_drugs.append(edge.source()) print(int(drug))
for edge in g.edges(): for edge in g.edges():
if g.edge_properties["type"][edge] == 'drug-protein' and (edge.target() not in direct_drugs and edge.source() not in direct_drugs): if g.edge_properties["type"][edge] == 'drug-protein':
if g.vertex_properties["type"][edge.target()] == d_type and edge.target() not in direct_drugs:
deleted_edges.append(edge) deleted_edges.append(edge)
if int(edge.target()) in drug_ids:
drug_ids.remove(int(edge.target()))
elif g.vertex_properties["type"][edge.source()] == d_type and edge.source() not in direct_drugs:
deleted_edges.append(edge)
if int(edge.source()) in drug_ids:
drug_ids.remove(int(edge.source()))
g.set_fast_edge_removal(fast=True) g.set_fast_edge_removal(fast=True)
for edge in deleted_edges: for edge in deleted_edges:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment