private void Write_scp_network_for_results_of_dynamic_enrichment_analsyis(Ontology_enrichment_class dynamic_onto_enrichment_filtered, Ontology_enrichment_class standard_onto_enrichment_filtered) { if (Options.Report) { Report_class.WriteLine("{0}: Visualize SCP relationships of dynamic enrichment results", typeof(Mbc_enrichment_pipeline_class).Name); } string subdirectory = Get_results_subdirectory_for_indicated_ontology(Ontology_type_enum.Molecular_biology_cell); dynamic_onto_enrichment_filtered.Order_by_complete_sample_pvalue(); standard_onto_enrichment_filtered.Order_by_complete_sample_pvalue(); Leave_out_class leave_out = new Leave_out_class(); leave_out.Generate_by_reading_safed_file(); List <Ontology_enrichment_line_class> sameSample_ontology_enrichment = new List <Ontology_enrichment_line_class>(); int dynamic_onto_enrich_length = dynamic_onto_enrichment_filtered.Enrich.Length; Ontology_enrichment_line_class enrichment_line; Leave_out_scp_scp_network_class current_scp_network; List <string> current_scpNames = new List <string>(); string complete_sampleName; string[] standard_enriched_scps; Dictionary <string, Shape_enum> nodeLable_shape_dict = new Dictionary <string, Shape_enum>(); for (int indexE = 0; indexE < dynamic_onto_enrich_length; indexE++) { enrichment_line = dynamic_onto_enrichment_filtered.Enrich[indexE]; if ((indexE == 0) || (!enrichment_line.Equal_complete_sample(dynamic_onto_enrichment_filtered.Enrich[indexE - 1]))) { sameSample_ontology_enrichment.Clear(); } sameSample_ontology_enrichment.Add(enrichment_line); if ((indexE == dynamic_onto_enrich_length - 1) || (!enrichment_line.Equal_complete_sample(dynamic_onto_enrichment_filtered.Enrich[indexE + 1]))) { current_scpNames.Clear(); foreach (Ontology_enrichment_line_class sameSample_enrichment_line in sameSample_ontology_enrichment) { current_scpNames.AddRange(sameSample_enrichment_line.Scp_name.Split(Global_class.Scp_delimiter)); } complete_sampleName = enrichment_line.Complete_sample_name; current_scp_network = Leave_out_scp_network_for_dynamicEnrichment_visualization.Deep_copy_scp_network(); current_scp_network.Scp_nw.Keep_only_input_nodeNames(current_scpNames.ToArray()); current_scp_network.Add_ancestors_of_missing_levels(this.Mbco_parentChild_nw); standard_enriched_scps = standard_onto_enrichment_filtered.Get_all_scps_of_completeSample(complete_sampleName); nodeLable_shape_dict.Clear(); foreach (string standard_enriched_scp in standard_enriched_scps) { nodeLable_shape_dict.Add(standard_enriched_scp, Shape_enum.Rectangle); } current_scp_network.Scp_nw.Write_yED_nw_in_results_directory_with_nodes_colored_by_level_and_sameLevel_processes_grouped(subdirectory + complete_sampleName + "_dynamicEnrichment_nw", Shape_enum.Diamond, nodeLable_shape_dict); } } }
private void Generate_leave_out_scp_network() { if (Options.Report) { Report_class.WriteLine("{0}: Generate SCP networks", typeof(Mbc_enrichment_pipeline_class).Name); } Dictionary <string, int> processName_processLevel_dict = Mbco_parentChild_nw.Get_processName_level_dictionary_after_setting_process_level(); Leave_out_class leave_out = new Leave_out_class(); leave_out.Generate_by_reading_safed_file(); Leave_out_scp_network_for_dynamicEnrichment_analysis.Options.Consider_scp_interactions_between_signaling_processes = this.Options.Consider_interactions_between_signalingSCPs_for_dyanmicEnrichment; Leave_out_scp_network_for_dynamicEnrichment_analysis.Options.Top_quantile_of_considered_SCP_interactions_per_level = this.Options.Top_quantile_of_scp_interactions_for_dynamicEnrichment_per_level; Leave_out_scp_network_for_dynamicEnrichment_analysis.Generate_scp_scp_network_from_leave_out(leave_out); Leave_out_scp_network_for_dynamicEnrichment_analysis.Scp_nw.Nodes.Set_processLevel_for_all_nodes_based_on_dictionary(processName_processLevel_dict); Leave_out_scp_network_for_dynamicEnrichment_visualization.Options.Consider_scp_interactions_between_signaling_processes = this.Options.Consider_interactions_between_signalingSCPs_for_dyanmicEnrichment; Leave_out_scp_network_for_dynamicEnrichment_visualization.Options.Top_quantile_of_considered_SCP_interactions_per_level = this.Options.Top_quantile_of_scp_interactions_for_visualization_of_dynamicEnrichment_per_level; Leave_out_scp_network_for_dynamicEnrichment_visualization.Generate_scp_scp_network_from_leave_out(leave_out); Leave_out_scp_network_for_dynamicEnrichment_visualization.Scp_nw.Transform_into_undirected_single_network_and_set_all_widths_to_one(); Leave_out_scp_network_for_dynamicEnrichment_visualization.Scp_nw.Nodes.Set_processLevel_for_all_nodes_based_on_dictionary(processName_processLevel_dict); }