diff --git a/massql/msql_engine_filters.py b/massql/msql_engine_filters.py index 127034c..7dbe0c5 100644 --- a/massql/msql_engine_filters.py +++ b/massql/msql_engine_filters.py @@ -195,6 +195,10 @@ def _merge_filter_cardinality(condition, ms_df_list): # Figuring out the scans ms_peak_df = pd.concat(ms_df_list) + if "mzenumeration" not in ms_peak_df.columns: + # MS1 data does not have per-peak enumeration — cardinality filtering is not applicable + return ms_peak_df + enumeration_df = ms_peak_df.groupby(["scan", "mzenumeration"]).first().reset_index() enumeration_df = enumeration_df.groupby(["scan"]).count() enumeration_df = enumeration_df[enumeration_df["mzenumeration"] >= min_cardinality]