From 9ddb9e9b3d8a8cc94666c1fbbe1f1fec3e5ef749 Mon Sep 17 00:00:00 2001 From: AndiMajore <andi.majore@googlemail.com> Date: Thu, 7 Jul 2022 20:44:42 +0200 Subject: [PATCH] trying to fix read_graph_tool_graph.py --- supervisord.conf | 2 ++ tasks/trust_rank.py | 2 ++ tasks/util/read_graph_tool_graph.py | 25 ++++++++++++++++--------- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/supervisord.conf b/supervisord.conf index 00d6fbf..dd85c22 100755 --- a/supervisord.conf +++ b/supervisord.conf @@ -20,3 +20,5 @@ autostart=true autorestart=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/tasks/trust_rank.py b/tasks/trust_rank.py index 42950ec..890c6a5 100755 --- a/tasks/trust_rank.py +++ b/tasks/trust_rank.py @@ -200,6 +200,8 @@ def trust_rank(task_hook: TaskHook): 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") 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.") weights = edge_weights(g, hub_penalty, inverse=True) diff --git a/tasks/util/read_graph_tool_graph.py b/tasks/util/read_graph_tool_graph.py index 2749bc7..d86de27 100755 --- a/tasks/util/read_graph_tool_graph.py +++ b/tasks/util/read_graph_tool_graph.py @@ -68,7 +68,7 @@ def read_graph_tool_graph(file_path, seeds, max_deg, include_indirect_drugs=Fals if node_type == d_type: if include_non_approved_drugs: drug_ids.append(node) - elif not include_non_approved_drugs: + else: drug_groups = g.vertex_properties["status"][node].split(', ') if "approved" in drug_groups: drug_ids.append(node) @@ -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. 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 - direct_drugs = [] + direct_drugs = set() 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 edge.target() in seed_ids or edge.source() in seed_ids: - if g.vertex_properties["type"][edge.target()] == d_type: - direct_drugs.append(edge.target()) - elif g.vertex_properties["type"][edge.source()] == d_type: - direct_drugs.append(edge.source()) + if g.vertex_properties["type"][edge.target()] == d_type and edge.source() in seed_ids: + direct_drugs.add(edge.target()) + elif g.vertex_properties["type"][edge.source()] == d_type and edge.target() in seed_ids: + direct_drugs.add(edge.source()) + for drug in direct_drugs: + print(int(drug)) 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) + 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) for edge in deleted_edges: -- GitLab