public Mbc_enrichment_pipeline_class() { Options = new Mbc_enrichment_pipeline_options_class(); Mbco_parentChild_nw = new MBCO_obo_network_class(); Leave_out_scp_network_for_dynamicEnrichment_analysis = new Leave_out_scp_scp_network_class(); Leave_out_scp_network_for_dynamicEnrichment_visualization = new Leave_out_scp_scp_network_class(); }
public void Add_ancestors_of_missing_levels(MBCO_obo_network_class mbco_obo_network_parent_child) { MBCO_obo_network_class mbco_obo_network_child_parent = mbco_obo_network_parent_child.Deep_copy_mbco_obo_nw(); mbco_obo_network_child_parent.Transform_into_child_parent_direction(); MBCO_obo_network_class current_mbco_obo_network; int[] levels_in_scp = this.Scp_nw.Nodes.Get_all_levels(); int levels_in_scp_length = levels_in_scp.Length; int level_in_scp; int max_level_in_scp = -1; for (int indexLevelScp = 0; indexLevelScp < levels_in_scp_length; indexLevelScp++) { level_in_scp = levels_in_scp[indexLevelScp]; if ((max_level_in_scp == -1) || (max_level_in_scp < level_in_scp)) { max_level_in_scp = level_in_scp; } } int[] levels_in_mbco = mbco_obo_network_child_parent.Nodes.Get_all_levels(); int[] add_levels_preliminary = Overlap_class.Get_part_of_list1_but_not_of_list2(levels_in_mbco, levels_in_scp); List <int> add_levels_list = new List <int>(); foreach (int add_level_preliminary in add_levels_preliminary) { if ((add_level_preliminary < max_level_in_scp) && (add_level_preliminary != 0)) { add_levels_list.Add(add_level_preliminary); } } int[] add_levels = add_levels_list.ToArray(); add_levels = add_levels.OrderByDescending(l => l).ToArray(); int add_length = add_levels.Length; int add_level; string[] add_parents; string[] children; string[] keep_nodes; for (int indexAdd = 0; indexAdd < add_length; indexAdd++) { add_level = add_levels[indexAdd]; level_in_scp = add_level + 1; children = this.Scp_nw.Nodes.Get_all_nodeNames_of_indicated_levels(level_in_scp); add_parents = mbco_obo_network_child_parent.Get_all_parents_if_direction_is_child_parent(children); current_mbco_obo_network = mbco_obo_network_parent_child.Deep_copy_mbco_obo_nw(); keep_nodes = Array_class.Get_ordered_union(add_parents, children); current_mbco_obo_network.Keep_only_input_nodeNames(keep_nodes); this.Scp_nw.Merge_this_network_with_other_network(current_mbco_obo_network); } }
private Dictionary <string, bool> Generate_dictionary_with_all_signaling_processes() { Dictionary <string, bool> signaling_processes_dict = new Dictionary <string, bool>(); MBCO_obo_network_class mbco_obo_nw = new MBCO_obo_network_class(); mbco_obo_nw.Generate_by_reading_safed_obo_file(); string[] signaling_processes = mbco_obo_nw.Get_all_offspring_if_direction_is_parent_child("Cellular communication"); signaling_processes = signaling_processes.OrderBy(l => l).ToArray(); foreach (string signaling_process in signaling_processes) { signaling_processes_dict.Add(signaling_process, true); } return(signaling_processes_dict); }
public void Generate(Network_class process_nw, Color_enum[] rotation_colors) { this.Process_nw = process_nw.Deep_copy(); this.Process_nw.Transform_into_undirected_double_network(); this.Rotation_colors = rotation_colors; this.Rotation_colors_length = this.Rotation_colors.Length; this.Already_considered_neighbors = new Dictionary <int, bool>(); NodeIndex_colorIndex_dict = new Dictionary <int, int>(); Color_lines_list = new List <yed_node_color_line_class>(); MBCO_obo_network_class mbc_obo_parent_child = new MBCO_obo_network_class(); mbc_obo_parent_child.Generate_by_reading_safed_obo_file(); ProcessName_siblingNames_dict = mbc_obo_parent_child.Get_processName_siblings_dictionary_if_direction_is_parent_child(); }