def check_if_the_top1_fragment_is_good_in_ref_sample(pg, ref_pg): # check the top1 fragment is a good one, otherwise, remove it top1 = find_top_n_fragment(1, ref_pg) # ref_pg_rt_apex = ref_pg['peak_rt'] ref_pg_rt_left = ref_pg['rt_left'] ref_pg_rt_right = ref_pg['rt_right'] top1_rt_list = ref_pg['ms2']['rt_list'][top1] top1_i_list = ref_pg['ms2']['i_list'][top1] top1_rt_list_in_range, top1_i_list_in_range = \ chrom.get_chrom_range(ref_pg_rt_left, ref_pg_rt_right, top1_rt_list, top1_i_list) if_ref_good = dia_quant.check_if_displayed_peak_a_good_one(top1_rt_list, top1_i_list, 1, 3) return if_ref_good
def check_if_top1_fragment_good_in_this_pg(pg, ref_pg, if_top1_fragment_good_in_ref_sample, rt): if_top1_fragment_good_in_this_pg = 1 if if_top1_fragment_good_in_ref_sample == 0: if_top1_fragment_good_in_this_pg = 0 else: top1 = find_top_n_fragment(1, ref_pg) top1_rt_list = pg[rt]['ms2']['rt_list'][top1] top1_i_list = pg[rt]['ms2']['i_list'][top1] ref_pg_width = ref_pg['rt_right'] - ref_pg['rt_left'] pg_rt_left, pg_rt_right = get_boundary_for_pg_best(pg, rt, ref_pg_width) top1_rt_list_in_range, top1_i_list_in_range = \ chrom.get_chrom_range(pg_rt_left, pg_rt_right, top1_rt_list, top1_i_list) if_top1_fragment_good_in_this_pg = dia_quant.check_if_displayed_peak_a_good_one( top1_rt_list, top1_i_list, 1, 3) return if_top1_fragment_good_in_this_pg
def further_refine_ref_sample_fragments(display_data, peak_group_candidates, tg, reference_sample, chrom_data): # sometimes, some fragment in the ref sample is too broad # it shows a broad peak group in chrom # but in the defined boundary, it is not good # remove these fragments in all samples for fragment in display_data[tg][reference_sample]['ms2']['rt_list'].keys(): this_rt_list = display_data[tg][reference_sample]['ms2']['rt_list'][fragment] this_i_list = display_data[tg][reference_sample]['ms2']['i_list'][fragment] if_good_fragment = dia_quant.check_if_displayed_peak_a_good_one(this_rt_list, this_i_list, 1, 3) if if_good_fragment == 0: # if not good, then remove the fragment del display_data[tg][reference_sample]['ms2']['i_list'][fragment] del display_data[tg][reference_sample]['ms2']['rt_list'][fragment] peak_group_candidates = delete_fragment_from_peak_group_candidate(peak_group_candidates, fragment) chrom_data = delete_fragment_from_chrom_data(chrom_data, tg, fragment) return display_data, peak_group_candidates, chrom_data