Mercurial > repos > tomnl > metfrag
diff metfrag.py @ 4:eb581a101672 draft
planemo upload for repository https://github.com/computational-metabolomics/metfrag-galaxy commit 28da8cdf5f9cc45575b614a329da5790803e59c4
| author | tomnl |
|---|---|
| date | Thu, 01 Aug 2019 09:02:47 -0400 |
| parents | 5ee936e570a7 |
| children | c53ed894d736 |
line wrap: on
line diff
--- a/metfrag.py Tue Jun 25 06:02:26 2019 -0400 +++ b/metfrag.py Thu Aug 01 09:02:47 2019 -0400 @@ -50,14 +50,20 @@ parser.add_argument('--cores_top_level', default=1) parser.add_argument('--chunks', default=1) parser.add_argument('--meta_select_col', default='name') +parser.add_argument('--skip_invalid_adducts', action='store_true') parser.add_argument('--ScoreSuspectLists', default='') parser.add_argument('--MetFragScoreTypes', default="FragmenterScore,OfflineMetFusionScore") parser.add_argument('--MetFragScoreWeights', default="1.0,1.0") + args = parser.parse_args() print(args) +if os.stat(args.input_pth).st_size == 0: + exit('Input file empty') + + # Create temporary working directory if args.temp_dir: wd = args.temp_dir @@ -119,6 +125,10 @@ '[M+2ACN+H]+': 83.06037, '[M-H]-': -1.007276, '[M+Cl]-': 34.969402, + '[M+HCOO]-': 44.99819, + '[M-H+HCOOH]-': 44.99819, # same as above but different style of writing adduct + '[M+CH3COO]-': 59.01385, + '[M-H+CH3COOH]-': 59.01385 # same as above but different style of writing adduct } # function to extract the meta data using the regular expressions @@ -262,13 +272,14 @@ # =============== Update param based on MSP metadata ====================== # Replace param details with details from MSP if required if 'precursor_type' in meta_info and meta_info['precursor_type'] in adduct_types: - - nm = float(meta_info['precursor_mz']) + adduct_types[meta_info['precursor_type']] + nm = float(meta_info['precursor_mz']) - adduct_types[meta_info['precursor_type']] paramd["PrecursorIonMode"] = int(round(adduct_types[meta_info['precursor_type']], 0)) + elif not args.skip_invalid_adducts: + paramd["PrecursorIonMode"] = paramd['PrecursorIonModeDefault'] + nm = float(meta_info['precursor_mz']) - paramd['nm_mass_diff_default'] else: - - paramd["PrecursorIonMode"] = paramd['PrecursorIonModeDefault'] - nm = float(meta_info['precursor_mz']) + paramd['nm_mass_diff_default'] + print('Skipping {}'.format(paramd["SampleName"])) + return '', '' paramd["NeutralPrecursorMass"] = nm @@ -279,6 +290,7 @@ cmd += " {}={}".format(str(k), str(v)) # =============== Run metfrag ============================================== + print(cmd) # Filter before process with a minimum number of MS/MS peaks if plinesread >= float(args.minMSMSpeaks): @@ -336,8 +348,9 @@ spectrac += 1 paramd, cmd = run_metfrag(meta_info, peaklist, args, wd, spectrac, adduct_types) - paramds[paramd["SampleName"]] = paramd - cmds.append(cmd) + if paramd: + paramds[paramd["SampleName"]] = paramd + cmds.append(cmd) meta_info = {} pnumlines = 0 @@ -348,9 +361,9 @@ paramd, cmd = run_metfrag(meta_info, peaklist, args, wd, spectrac+1, adduct_types) - paramds[paramd["SampleName"]] = paramd - cmds.append(cmd) - + if paramd: + paramds[paramd["SampleName"]] = paramd + cmds.append(cmd)
