corems.mass_spectra.calc.GC_RI_Calibration
1from corems.molecular_id.search.compoundSearch import LowResMassSpectralMatch 2 3 4def get_rt_ri_pairs(gcms_ref_obj, sql_obj=None): 5 lowResSearch = LowResMassSpectralMatch( 6 gcms_ref_obj, sql_obj=sql_obj, calibration=True 7 ) 8 9 lowResSearch.run() 10 11 dict_ri_rt = {} 12 13 list_of_compound_obj = {} 14 15 for gcms_peak in gcms_ref_obj: 16 # has a compound matched 17 if gcms_peak: 18 compound_obj = gcms_peak.highest_ss_compound 19 20 if not compound_obj.ri in dict_ri_rt.keys(): 21 dict_ri_rt[compound_obj.ri] = [ 22 (gcms_peak.mass_spectrum.retention_time, compound_obj) 23 ] 24 25 else: 26 dict_ri_rt[compound_obj.ri].append( 27 (gcms_peak.mass_spectrum.retention_time, compound_obj) 28 ) 29 if gcms_ref_obj.parameters.gc_ms.verbose_processing: 30 print( 31 compound_obj.name, 32 gcms_peak.mass_spectrum.retention_time, 33 compound_obj.spectral_similarity_score, 34 ) 35 36 ris = [i for i in dict_ri_rt.keys()] 37 rts = [ 38 max(i, key=lambda c: c[1].spectral_similarity_score)[0] 39 for i in dict_ri_rt.values() 40 ] 41 42 rt_ri_pairs = list(zip(rts, ris)) 43 44 return rt_ri_pairs
def
get_rt_ri_pairs(gcms_ref_obj, sql_obj=None):
5def get_rt_ri_pairs(gcms_ref_obj, sql_obj=None): 6 lowResSearch = LowResMassSpectralMatch( 7 gcms_ref_obj, sql_obj=sql_obj, calibration=True 8 ) 9 10 lowResSearch.run() 11 12 dict_ri_rt = {} 13 14 list_of_compound_obj = {} 15 16 for gcms_peak in gcms_ref_obj: 17 # has a compound matched 18 if gcms_peak: 19 compound_obj = gcms_peak.highest_ss_compound 20 21 if not compound_obj.ri in dict_ri_rt.keys(): 22 dict_ri_rt[compound_obj.ri] = [ 23 (gcms_peak.mass_spectrum.retention_time, compound_obj) 24 ] 25 26 else: 27 dict_ri_rt[compound_obj.ri].append( 28 (gcms_peak.mass_spectrum.retention_time, compound_obj) 29 ) 30 if gcms_ref_obj.parameters.gc_ms.verbose_processing: 31 print( 32 compound_obj.name, 33 gcms_peak.mass_spectrum.retention_time, 34 compound_obj.spectral_similarity_score, 35 ) 36 37 ris = [i for i in dict_ri_rt.keys()] 38 rts = [ 39 max(i, key=lambda c: c[1].spectral_similarity_score)[0] 40 for i in dict_ri_rt.values() 41 ] 42 43 rt_ri_pairs = list(zip(rts, ris)) 44 45 return rt_ri_pairs