Mercurial > repos > recetox > matchms_formatter
annotate matchms_filtering_wrapper.py @ 24:c55da3d77c95 draft
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 2a2f69962f84b4ff91c9739bdf7749c5097a33ed
author | recetox |
---|---|
date | Thu, 22 Feb 2024 12:34:00 +0000 |
parents | f76a397afbe1 |
children | 8bd942dcf1ad |
rev | line source |
---|---|
10
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
1 import argparse |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
2 import sys |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
3 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
4 from matchms.exporting import save_as_mgf, save_as_msp |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
5 from matchms.filtering import add_compound_name, add_fingerprint, add_losses, add_parent_mass, add_precursor_mz,\ |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
6 add_retention_index, add_retention_time, clean_compound_name |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
7 from matchms.filtering import default_filters, normalize_intensities, reduce_to_number_of_peaks, select_by_mz, \ |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
8 select_by_relative_intensity |
21
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
9 from matchms.filtering.filter_utils.derive_precursor_mz_and_parent_mass import derive_precursor_mz_from_parent_mass |
22
f76a397afbe1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b797ce0fea5cb3d9a0cf0ec31a21f9b73f112b4e
recetox
parents:
21
diff
changeset
|
10 from matchms.filtering.filter_utils.smile_inchi_inchikey_conversions import is_valid_inchi, is_valid_smiles |
10
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
11 from matchms.importing import load_from_mgf, load_from_msp |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
12 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
13 |
22
f76a397afbe1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b797ce0fea5cb3d9a0cf0ec31a21f9b73f112b4e
recetox
parents:
21
diff
changeset
|
14 def require_key(spectrum, key, function): |
f76a397afbe1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b797ce0fea5cb3d9a0cf0ec31a21f9b73f112b4e
recetox
parents:
21
diff
changeset
|
15 value = spectrum.get(key) |
f76a397afbe1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b797ce0fea5cb3d9a0cf0ec31a21f9b73f112b4e
recetox
parents:
21
diff
changeset
|
16 if function(value): |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
17 return spectrum |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
18 |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
19 return None |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
20 |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
21 |
10
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
22 def main(argv): |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
23 parser = argparse.ArgumentParser(description="Compute MSP similarity scores") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
24 parser.add_argument("--spectra", type=str, required=True, help="Mass spectra file to be filtered.") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
25 parser.add_argument("--spectra_format", type=str, required=True, help="Format of spectra file.") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
26 parser.add_argument("--output", type=str, required=True, help="Filtered mass spectra file.") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
27 parser.add_argument("-normalise_intensities", action='store_true', |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
28 help="Normalize intensities of peaks (and losses) to unit height.") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
29 parser.add_argument("-default_filters", action='store_true', |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
30 help="Collection of filters that are considered default and that do no require any (factory) arguments.") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
31 parser.add_argument("-clean_metadata", action='store_true', |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
32 help="Apply all adding and cleaning filters if possible, so that the spectra have canonical metadata.") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
33 parser.add_argument("-relative_intensity", action='store_true', |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
34 help="Keep only peaks within set relative intensity range (keep if to_intensity >= intensity >= from_intensity).") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
35 parser.add_argument("--from_intensity", type=float, help="Lower bound for intensity filter") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
36 parser.add_argument("--to_intensity", type=float, help="Upper bound for intensity filter") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
37 parser.add_argument("-mz_range", action='store_true', |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
38 help="Keep only peaks between set m/z range (keep if to_mz >= m/z >= from_mz).") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
39 parser.add_argument("--from_mz", type=float, help="Lower bound for m/z filter") |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
40 parser.add_argument("--to_mz", type=float, help="Upper bound for m/z filter") |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
41 parser.add_argument("-require_smiles", action='store_true', |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
42 help="Remove spectra that does not contain SMILES.") |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
43 parser.add_argument("-require_inchi", action='store_true', |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
44 help="Remove spectra that does not contain INCHI.") |
21
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
45 parser.add_argument("-derive_precursor_mz_from_parent_mass", action='store_true', |
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
46 help="Derives the precursor_mz from the parent mass and adduct or charge.") |
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
47 parser.add_argument("--estimate_from_adduct", type=str, help="estimate from adduct.") |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
48 parser.add_argument("-reduce_to_top_n_peaks", action='store_true', |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
49 help="reduce to top n peaks filter.") |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
50 parser.add_argument("--n_max", type=int, help="Maximum number of peaks. Remove peaks if more peaks are found.") |
10
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
51 args = parser.parse_args() |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
52 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
53 if not (args.normalise_intensities |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
54 or args.default_filters |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
55 or args.clean_metadata |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
56 or args.relative_intensity |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
57 or args.mz_range |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
58 or args.require_smiles |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
59 or args.require_inchi |
21
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
60 or args.derive_precursor_mz_from_parent_mass |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
61 or args.reduce_to_top_n_peaks): |
10
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
62 raise ValueError('No filter selected.') |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
63 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
64 if args.spectra_format == 'msp': |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
65 spectra = list(load_from_msp(args.spectra)) |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
66 elif args.queries_format == 'mgf': |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
67 spectra = list(load_from_mgf(args.spectra)) |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
68 else: |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
69 raise ValueError(f'File format {args.spectra_format} not supported for mass spectra file.') |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
70 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
71 filtered_spectra = [] |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
72 for spectrum in spectra: |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
73 if args.normalise_intensities: |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
74 spectrum = normalize_intensities(spectrum) |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
75 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
76 if args.default_filters: |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
77 spectrum = default_filters(spectrum) |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
78 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
79 if args.clean_metadata: |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
80 filters = [add_compound_name, add_precursor_mz, add_fingerprint, add_losses, add_parent_mass, |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
81 add_retention_index, add_retention_time, clean_compound_name] |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
82 for metadata_filter in filters: |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
83 spectrum = metadata_filter(spectrum) |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
84 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
85 if args.relative_intensity: |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
86 spectrum = select_by_relative_intensity(spectrum, args.from_intensity, args.to_intensity) |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
87 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
88 if args.mz_range: |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
89 spectrum = select_by_mz(spectrum, args.from_mz, args.to_mz) |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
90 |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
91 if args.reduce_to_top_n_peaks: |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
92 spectrum = reduce_to_number_of_peaks(spectrum_in=spectrum, n_max=args.n_max) |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
93 |
21
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
94 if args.derive_precursor_mz_from_parent_mass: |
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
95 spectrum.set("parent_mass", float(spectrum.get('parent_mass'))) |
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
96 precursor_mz = derive_precursor_mz_from_parent_mass(spectrum, args.estimate_from_adduct) |
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
97 spectrum.set("precursor_mz", precursor_mz) |
23d4bc72c505
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit 98223db312c30b0e121a1422a9534a3db3fbf0c0
recetox
parents:
11
diff
changeset
|
98 |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
99 if args.require_smiles and spectrum is not None: |
22
f76a397afbe1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b797ce0fea5cb3d9a0cf0ec31a21f9b73f112b4e
recetox
parents:
21
diff
changeset
|
100 spectrum = require_key(spectrum, "smiles", is_valid_smiles) |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
101 |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
102 if args.require_inchi and spectrum is not None: |
22
f76a397afbe1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b797ce0fea5cb3d9a0cf0ec31a21f9b73f112b4e
recetox
parents:
21
diff
changeset
|
103 spectrum = require_key(spectrum, "inchi", is_valid_inchi) |
11
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
104 |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
105 if spectrum is not None: |
ae45992f969e
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
recetox
parents:
10
diff
changeset
|
106 filtered_spectra.append(spectrum) |
10
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
107 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
108 if args.spectra_format == 'msp': |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
109 save_as_msp(filtered_spectra, args.output) |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
110 else: |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
111 save_as_mgf(filtered_spectra, args.output) |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
112 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
113 return 0 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
114 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
115 |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
116 if __name__ == "__main__": |
1b09315a3f87
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/matchms commit f79a5b51599254817727bc9028b9797ea994cb4e
recetox
parents:
diff
changeset
|
117 main(argv=sys.argv[1:]) |