From 5da128cc92fb4ab3e6ae8688af9d4bd6da490f59 Mon Sep 17 00:00:00 2001 From: bay9355 <mia.le@studium.uni-hamburg.de> Date: Thu, 13 Apr 2023 21:46:02 +0200 Subject: [PATCH] added functional relevance to seed_var result table --- cami_src/cami_suite.py | 50 +++++++++++-------- .../seed_variation_script.py | 11 ++++ 2 files changed, 40 insertions(+), 21 deletions(-) diff --git a/cami_src/cami_suite.py b/cami_src/cami_suite.py index c7554d2..e1ed51a 100644 --- a/cami_src/cami_suite.py +++ b/cami_src/cami_suite.py @@ -239,27 +239,35 @@ class cami(): prefix=f'{result_set}_{self.uid}', file_type='png') - sub_validation_results = biodigest.single_validation.single_validation( - tar=set(self.result_module_sets[result_set]), - tar_id='entrez', - mode='subnetwork-set', - distance='jaccard', - network_data={"network_file":ppi_graph_file, - "prop_name":"name", - "id_type":"entrez"}, - ref=set(seed_gene_lst), - ref_id='entrez' - ) - if sub_validation_results['status'] == 'ok': - biodigest.single_validation.save_results(sub_validation_results, f'{result_set}_{self.uid}', - self.output_dir) - biodigest.evaluation.d_utils.plotting_utils.create_plots(results=sub_validation_results, - mode='subnetwork-set', - tar=set(self.result_module_sets[result_set]), - tar_id='entrez', - out_dir=self.output_dir, - prefix=f'{result_set}_{self.uid}', - file_type='png') + with open(os.path.join(self.tmp_dir, f'{result_set}_{self.uid}_relevance_scores.tsv'), 'w') as f: + rel_score_name = list(set_validation_results['input_values']['values'].keys())[0] + f.write(f'value\t{rel_score_name}\n') + val_res_dct = set_validation_results['input_values']['values'][rel_score_name] + for val in val_res_dct: + f.write(f'{val}\t{val_res_dct[val]}\n') + + # sub_validation_results = biodigest.single_validation.single_validation( + # tar=set(self.result_module_sets[result_set]), + # tar_id='entrez', + # mode='subnetwork-set', + # distance='jaccard', + # network_data={"network_file":ppi_graph_file, + # "prop_name":"name", + # "id_type":"entrez"}, + # ref=set(seed_gene_lst), + # ref_id='entrez' + # ) + # if sub_validation_results['status'] == 'ok': + # biodigest.single_validation.save_results(sub_validation_results, f'{result_set}_{self.uid}', + # self.output_dir) + # biodigest.evaluation.d_utils.plotting_utils.create_plots(results=sub_validation_results, + # mode='subnetwork-set', + # tar=set(self.result_module_sets[result_set]), + # tar_id='entrez', + # out_dir=self.output_dir, + # prefix=f'{result_set}_{self.uid}', + # file_type='png') + def run_threaded_tool(self, tool, pred_sets): """run a tool in one thread and save the results into a dictionary pred_sets diff --git a/cami_src/evaluation_scripts/seed_variation_script.py b/cami_src/evaluation_scripts/seed_variation_script.py index 7724205..aecc9cb 100644 --- a/cami_src/evaluation_scripts/seed_variation_script.py +++ b/cami_src/evaluation_scripts/seed_variation_script.py @@ -51,6 +51,11 @@ def make_seedvariation(cami, n_iterations, removal_frac=0.2, vis=False, plot=Tru res_table.write(f'\t{tool}_rdr_ks_pvalue') for tool in prediction_tools: res_table.write(f'\t{tool}_msr_ks_pvalue') + + with open(os.path.join(cami.tmp_dir, f'{used_tools[0]}_{cami.uid}_relevance_scores.tsv)'), 'r') as f: + for line in f: + val_name = line.split('\t')[0] + redisc_table.write(f'\t{val_name}') res_table.write('\n') # result dictionaries of the form {tool:list(value for each iteration)} @@ -135,6 +140,12 @@ def make_seedvariation(cami, n_iterations, removal_frac=0.2, vis=False, plot=Tru for pred_tool in prediction_tools: p_val = kolmogorov_smirnoff.calculate_ks_p_value(list(module_size_dict[tool]), list(module_size_dict[pred_tool])) + res_table.write(f'\t{p_val}') + + with open(os.path.join(cami.tmp_dir, f'{tool}_{cami.uid}_relevance_scores.tsv)'), 'r') as f: + for line in f: + rel_score = line.split('\t')[1].strip() + res_table.write(f'\t{rel_score}') res_table.write('\n') print(f'Result tables are saved in the following locations:') -- GitLab