Skip to content

Commit 6f3b065

Browse files
committed
fix
1 parent e26f985 commit 6f3b065

File tree

2 files changed

+37
-20
lines changed

2 files changed

+37
-20
lines changed

pmultiqc/modules/common/stats.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,17 @@ def cal_delta_mass_dict(df, col):
6262

6363
def cal_hm_charge(df: pd.DataFrame, run_col: str, charge_col: str):
6464

65+
if run_col not in df.columns or charge_col not in df.columns:
66+
return {}
67+
6568
charge = dict()
6669

6770
for raw_file, group in df[[run_col, charge_col]].groupby(run_col):
6871
vc = group[charge_col].value_counts(dropna=True, normalize=True)
6972
charge[raw_file] = vc.get(2, 0)
7073
charge_median = np.median(list(charge.values())) if charge else 0
7174

72-
heatmap_charge = {
73-
k: float(max(0.0, 1.0 - abs(v - charge_median))) for k, v in charge.items()
75+
return {
76+
k: float(max(0.0, 1.0 - abs(v - charge_median)))
77+
for k, v in charge.items()
7478
}
75-
76-
return heatmap_charge

pmultiqc/modules/fragpipe/fragpipe.py

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)