@@ -191,7 +191,10 @@ def get_formulas(nominal_overlay: float = 0.1):
191191
192192 def run_worker_mass_spectrum (self ):
193193 """Run the molecular formula search on the mass spectrum object."""
194- self .run_molecular_formula (self .mass_spectrum_obj .sort_by_abundance ())
194+ self .run_molecular_formula (
195+ self .mass_spectrum_obj .sort_by_abundance (),
196+ print_time = self .mass_spectrum_obj .molecular_search_settings .verbose_processing
197+ )
195198
196199 def run_worker_ms_peaks (self , ms_peaks ):
197200 """Run the molecular formula search on the given list of mass spectrum peaks.
@@ -201,7 +204,10 @@ def run_worker_ms_peaks(self, ms_peaks):
201204 ms_peaks : list of MSPeak
202205 The list of mass spectrum peaks.
203206 """
204- self .run_molecular_formula (ms_peaks )
207+ self .run_molecular_formula (
208+ ms_peaks ,
209+ print_time = self .mass_spectrum_obj .molecular_search_settings .verbose_processing
210+ )
205211
206212 @staticmethod
207213 def database_to_dict (classe_str_list , nominal_mzs , mf_search_settings , ion_charge ):
@@ -262,14 +268,18 @@ def database_to_dict(classe_str_list, nominal_mzs, mf_search_settings, ion_charg
262268
263269 return dict_res
264270
265- @timeit
266- def run_molecular_formula (self , ms_peaks ):
271+ @timeit ( print_time = True )
272+ def run_molecular_formula (self , ms_peaks , ** kwargs ):
267273 """Run the molecular formula search on the given list of mass spectrum peaks.
268274
269275 Parameters
270276 ----------
271277 ms_peaks : list of MSPeak
272278 The list of mass spectrum peaks.
279+ **kwargs
280+ Additional keyword arguments.
281+ Most notably, print_time, which is a boolean flag to indicate whether to print the time
282+ and passed to the timeit decorator.
273283 """
274284 # number_of_process = multiprocessing.cpu_count()
275285
@@ -288,14 +298,16 @@ def run_molecular_formula(self, ms_peaks):
288298 # needs to improve to bin by mass defect instead, faster db creation and faster search execution time
289299 nominal_mzs = self .mass_spectrum_obj .nominal_mz
290300
301+ verbose = self .mass_spectrum_obj .molecular_search_settings .verbose_processing
291302 # reset average error, only relevant is average mass error method is being used
292303 SearchMolecularFormulaWorker (
293304 find_isotopologues = self .find_isotopologues
294305 ).reset_error (self .mass_spectrum_obj )
295306
296307 # check database for all possible molecular formula combinations based on the setting passed to self.mass_spectrum_obj.molecular_search_settings
297308 classes = MolecularCombinations (self .sql_db ).runworker (
298- self .mass_spectrum_obj .molecular_search_settings
309+ self .mass_spectrum_obj .molecular_search_settings ,
310+ print_time = self .mass_spectrum_obj .molecular_search_settings .verbose_processing
299311 )
300312
301313 # split the database load to not blowout the memory
@@ -315,22 +327,20 @@ def run():
315327 self .mass_spectrum_obj .molecular_search_settings ,
316328 ion_charge ,
317329 )
318-
319- pbar = tqdm .tqdm (classe_chunk )
320-
330+ pbar = tqdm .tqdm (classe_chunk , disable = not verbose )
321331 for classe_tuple in pbar :
322332 # class string is a json serialized dict
323333 classe_str = classe_tuple [0 ]
324334 classe_dict = classe_tuple [1 ]
325335
326336 if self .mass_spectrum_obj .molecular_search_settings .isProtonated :
327337 ion_type = Labels .protonated_de_ion
328-
329- pbar .set_description_str (
330- desc = "Started molecular formula search for class %s, (de)protonated "
331- % classe_str ,
332- refresh = True ,
333- )
338+ if verbose :
339+ pbar .set_description_str (
340+ desc = "Started molecular formula search for class %s, (de)protonated "
341+ % classe_str ,
342+ refresh = True ,
343+ )
334344
335345 candidate_formulas = dict_res .get (ion_type ).get (classe_str )
336346
@@ -344,11 +354,12 @@ def run():
344354 )
345355
346356 if self .mass_spectrum_obj .molecular_search_settings .isRadical :
347- pbar .set_description_str (
348- desc = "Started molecular formula search for class %s, radical "
349- % classe_str ,
350- refresh = True ,
351- )
357+ if verbose :
358+ pbar .set_description_str (
359+ desc = "Started molecular formula search for class %s, radical "
360+ % classe_str ,
361+ refresh = True ,
362+ )
352363
353364 ion_type = Labels .radical_ion
354365
@@ -365,11 +376,12 @@ def run():
365376 # looks for adduct, used_atom_valences should be 0
366377 # this code does not support H exchance by halogen atoms
367378 if self .mass_spectrum_obj .molecular_search_settings .isAdduct :
368- pbar .set_description_str (
369- desc = "Started molecular formula search for class %s, adduct "
370- % classe_str ,
371- refresh = True ,
372- )
379+ if verbose :
380+ pbar .set_description_str (
381+ desc = "Started molecular formula search for class %s, adduct "
382+ % classe_str ,
383+ refresh = True ,
384+ )
373385
374386 ion_type = Labels .adduct_ion
375387 dict_atoms_formulas = dict_res .get (ion_type )
@@ -904,18 +916,24 @@ def run_untargeted_worker_ms1(self):
904916 # do molecular formula based on the parameters set for ms1 search
905917 for peak in self .lcms_obj :
906918 self .mass_spectrum_obj = peak .mass_spectrum
907- self .run_molecular_formula (peak .mass_spectrum .sort_by_abundance ())
919+ self .run_molecular_formula (
920+ peak .mass_spectrum .sort_by_abundance (),
921+ print_time = self .lcms_obj .parameters .lc_ms .verbose_processing
922+ )
908923
909924 def run_target_worker_ms1 (self ):
910925 """Run targeted molecular formula search on the ms1 mass spectrum."""
911926 # do molecular formula based on the external molecular reference list
912- pbar = tqdm .tqdm (self .lcms_obj )
927+ verbose = self .lcms_obj .parameters .lc_ms .verbose_processing
928+ if verbose :
929+ pbar = tqdm .tqdm (self .lcms_obj )
913930
914931 for peak in self .lcms_obj :
915- pbar .set_description_str (
916- desc = f"Started molecular formulae search for mass spectrum at RT { peak .retention_time } s" ,
917- refresh = True ,
918- )
932+ if verbose :
933+ pbar .set_description_str (
934+ desc = f"Started molecular formulae search for mass spectrum at RT { peak .retention_time } s" ,
935+ refresh = True ,
936+ )
919937
920938 self .mass_spectrum_obj = peak .mass_spectrum
921939
@@ -924,7 +942,7 @@ def run_target_worker_ms1(self):
924942 candidate_formulas = peak .targeted_molecular_formulas
925943
926944 for i in candidate_formulas :
927- if self . lcms_obj . parameters . lc_ms . verbose_processing :
945+ if verbose :
928946 print (i )
929947 if self .mass_spectrum_obj .molecular_search_settings .isProtonated :
930948 ion_type = Labels .protonated_de_ion
0 commit comments