diff --git a/supervisord.conf b/supervisord.conf index 00d6fbfa2666506f08786a1b8f94be779d24a872..dd85c22901dae9306a894946dd2ed4613dc39664 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 42950ec1b0821e46c749033796757a07222ef547..890c6a51ad808bc6dfe8df9fa54485696550e868 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 2749bc7ad84b19c12d5445f9b205f2b189055dcf..d86de27af963f8d01ba52174cff77c6fa1b8814e 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: