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
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
......@@ -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)
......
......@@ -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:
......
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