Newer
Older
def run_closeness(parameters, network, original_seeds=None):
from .closeness_centrality import closeness_centrality
def closeness_progress(progress, status):
task_hook.set_progress(2 / 3 + 1 / 3 * progress, status)
def closeness_set_result(result):
result["network"]["edges"].extend(network["edges"])
if original_seeds is not None:
result['node_attributes']['is_seed'] = original_seeds
task_hook.set_results(result)
# Prepare intermediate hook
closeness_task_hook = TaskHook(parameters,
task_hook.data_directory,
closeness_progress,
closeness_set_result)
# Run closeness centrality
closeness_centrality(closeness_task_hook)
def run_multi_steiner(parameters):
from .multi_steiner import multi_steiner
def ms_progress(progress, status):
task_hook.set_progress(0 + 2 / 3 * progress, status)
def ms_set_result(result):
node_attributes = result.get("node_attributes", {})
node_types = node_attributes.get("node_types", {})
seeds = [seed for seed in result["network"]["nodes"] if node_types.get(seed) == 'protein']
if len(seeds) == 0:
task_hook.set_results({"network": {"nodes": [], "edges": []}})
return
parameters.update({
"seeds": seeds,
"result_size": 10,
"hub_penalty": 1,
"target": "drug",
"include_non_approved_drugs": True
})
is_seed = result.get('node_attributes')
run_closeness(parameters, result["network"], result['node_attributes']['is_seed'])
# parameters.update({
# "seeds": og_seeds
# })
parameters["num_trees"] = 1
parameters["hub_penalty"] = 1
# Prepare intermediate hook
ms_task_hook = TaskHook(parameters,
task_hook.data_directory,
ms_progress,
ms_set_result)
# Run multi_steiner
multi_steiner(ms_task_hook)
run_multi_steiner(task_hook.parameters)