@@ -165,6 +165,8 @@ def draw_plots(self):
165165 intensities = self .intensities
166166 )
167167
168+ mc_plot_data = {}
169+
168170 # Missed Cleavages
169171 if self .missed_cleavages :
170172 mc_plot_data = self .draw_missed_cleavages (
@@ -570,20 +572,28 @@ def draw_fragpipe_heatmap(sub_section, hm: list, hm_color: list, missed_cleavage
570572 charge_col = "Charge"
571573 )
572574
573- # Missed Cleavages
574- mc = {
575- key : value ["0" ] / 100
576- for key , value in missed_cleavages .items ()
577- }
575+ if missed_cleavages :
578576
579- # Missed Cleavages Var
580- mc_median = np .median (list (mc .values ()))
581- mc_var = dict (
582- zip (
583- mc .keys (),
584- list (map (lambda v : 1 - np .abs (v - mc_median ), mc .values ())),
577+ # Missed Cleavages
578+ mc = {
579+ key : value ["0" ] / 100
580+ for key , value in missed_cleavages .items ()
581+ }
582+
583+ # Missed Cleavages Var
584+ mc_median = np .median (list (mc .values ()))
585+ mc_var = dict (
586+ zip (
587+ mc .keys (),
588+ list (map (lambda v : 1 - np .abs (v - mc_median ), mc .values ())),
589+ )
585590 )
586- )
591+ else :
592+ heatmap_cols = [
593+ x
594+ for x in heatmap_cols
595+ if x not in ["Missed Cleavages" , "Missed Cleavages Var" ]
596+ ]
587597
588598 # 8. Pep Missing Values
589599 global_peps = df ["Modified Peptide" ].unique ()
@@ -638,10 +648,15 @@ def draw_fragpipe_heatmap(sub_section, hm: list, hm_color: list, missed_cleavage
638648
639649 # 7. Pep Missing Values
640650 if "Pep Missing Values" in heatmap_cols :
641- hm_pep_missing_values = np .minimum (
642- 1.0 ,
643- len (set (global_peps ) & set (group ["Modified Peptide" ].unique ())) / global_peps_count ,
644- )
651+
652+ if global_peps_count > 0 :
653+ hm_pep_missing_values = np .minimum (
654+ 1.0 ,
655+ len (set (global_peps ) & set (group ["Modified Peptide" ].unique ())) / global_peps_count ,
656+ )
657+ else :
658+ hm_pep_missing_values = 0
659+
645660 heatmap_plot [run ]["Pep Missing Values" ] = hm_pep_missing_values
646661
647662 draw_heatmap (
0 commit comments