diff --git a/bin/create_library/main.py b/bin/create_library/main.py index 20967f1..0845c42 100755 --- a/bin/create_library/main.py +++ b/bin/create_library/main.py @@ -29,7 +29,7 @@ def create_library(compound_df, feature_df, if df is None or df.empty: return None, None - if filter_library: + if filter_library and ms2_explanation_cutoff > 0: # Filter the merged dataframe df = filter_df(df, ion_mode, ms2_explanation_cutoff=ms2_explanation_cutoff) diff --git a/bin/create_library/ms2_explanation_filter.py b/bin/create_library/ms2_explanation_filter.py index 67b0314..f2dd7d2 100755 --- a/bin/create_library/ms2_explanation_filter.py +++ b/bin/create_library/ms2_explanation_filter.py @@ -11,6 +11,11 @@ def filter_by_ms2_explanation(row, explanation_cutoff=0.60): precursor_formula=row['neutralized_formula'], adduct=row['t_adduct'], ms2_tol=0.01, ppm=False) + + if subformla_list is None: # formula elements outside common elements + row['ms2_explained_intensity'] = 1.0 + return row + for subformula in subformla_list: explained_intensity += row['MS2'][:, 1][subformula.idx] if subformula.subform_list else 0.0 row['ms2_explained_intensity'] = explained_intensity / row['MS2'][:, 1].sum()