changeset 0:d4c2d5bc0524 draft default tip

planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/misc commit 94322884bede7ddb9f2a9166952dd0115bdb4e49
author recetox
date Thu, 26 Sep 2024 13:03:05 +0000
parents
children
files target_screen.py target_screen.xml test-data/input.msp test-data/output_only_annotated.msp test-data/output_plus_no_annotated.msp test-data/target_screen/markers.tsv test-data/target_screen/out.tsv test-data/target_screen/peaks.parquet
diffstat 8 files changed, 825 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/target_screen.py	Thu Sep 26 13:03:05 2024 +0000
@@ -0,0 +1,59 @@
+import argparse
+
+import numpy as np
+import pandas as pd
+
+
+def mz_match(marker, peak, ppm):
+    return np.abs(marker - peak) <= ((peak + marker) / 2) * ppm * 1e-06
+
+
+def rt_match(marker, peak, tol):
+    return np.abs(marker - peak) <= tol
+
+
+def find_matches(peaks, markers, ppm, rt_tol):
+    # Create a meshgrid of all combinations of mz and rt values
+    marker_mz = markers['mz'].values[:, np.newaxis]
+    peak_mz = peaks['mz'].values
+    marker_rt = markers['rt'].values[:, np.newaxis]
+    peak_rt = peaks['rt'].values
+
+    # Calculate mz and rt matches
+    mz_matches = mz_match(marker_mz, peak_mz, ppm)
+    rt_matches = rt_match(marker_rt, peak_rt, rt_tol)
+
+    # Find the indices where both mz and rt match
+    match_indices = np.where(mz_matches & rt_matches)
+
+    # Create a DataFrame of hits
+    matched_markers = markers.iloc[match_indices[0]].reset_index(drop=True)
+    matched_peaks = peaks.iloc[match_indices[1]].reset_index(drop=True)
+    hits = pd.concat([matched_markers[['formula']].reset_index(drop=True), matched_peaks], axis=1)
+
+    # Calculate mz and rt differences
+    hits['mz_diff'] = np.abs(matched_markers['mz'].values - matched_peaks['mz'].values)
+    hits['rt_diff'] = np.abs(matched_markers['rt'].values - matched_peaks['rt'].values)
+
+    return hits
+
+
+def main():
+    parser = argparse.ArgumentParser(description='Find matches between peaks and markers.')
+    parser.add_argument('--peaks', required=True, help='Path to the peaks parquet file.')
+    parser.add_argument('--markers', required=True, help='Path to the markers CSV file.')
+    parser.add_argument('--output', required=True, help='Path to the output TSV file.')
+    parser.add_argument('--ppm', type=int, default=5, help='PPM tolerance for mz matching.')
+    parser.add_argument('--rt_tol', type=int, default=10, help='RT tolerance for rt matching.')
+    args = parser.parse_args()
+
+    peaks = pd.read_parquet(args.peaks)
+    markers = pd.read_csv(args.markers, sep='\t')
+
+    hits = find_matches(peaks, markers, args.ppm, args.rt_tol)
+
+    hits.to_csv(args.output, sep='\t', index=False)
+
+
+if __name__ == "__main__":
+    main()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/target_screen.xml	Thu Sep 26 13:03:05 2024 +0000
@@ -0,0 +1,47 @@
+<tool id="target_screen" name="MS target screening" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01" license="MIT">
+    <description>Extract peaks from recetox-aplcms tables using a list of target ions</description>
+    <macros>
+        <token name="@TOOL_VERSION@">0.1.0</token>
+        <token name="@VERSION_SUFFIX@">0</token>
+    </macros>
+
+    <requirements>
+        <requirement type="package" version="2.2.3">pandas</requirement>
+        <requirement type="package" version="17.0.0">pyarrow</requirement>
+    </requirements>
+
+    <command detect_errors="exit_code"><![CDATA[
+        python3 '${__tool_directory__}/target_screen.py' --peaks '$peaks' --markers '$markers' --output '$hits' --ppm $ppm --rt_tol $rt
+    ]]></command>
+
+    <inputs>
+        <param name="peaks" type="data" format="parquet"/>
+        <param name="markers" type="data" format="tabular"/>
+        <param name="ppm" type="integer" min="0" max="1000" value="10" label="ppm" help="Tolerance for peak filtering in ppm." />
+        <param name="rt" type="integer" min="0" max="100" value="10" label="rt tolerance" help="Toelrance regarding retention time to filter out peaks" />
+    </inputs>
+
+    <outputs>
+        <data name="hits" format="tabular" label="${tool.name} on ${on_string}" />
+    </outputs>
+
+    <tests>
+        <test>
+            <param name="peaks" value="target_screen/peaks.parquet"/>
+            <param name="markers" value="target_screen/markers.tsv"/>
+            <output name="hits" value="target_screen/out.tsv"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+.. class:: infomark
+
+**What it does**
+
+This tool pulls out peaks from a table given a list of markers.
+The markers are matched based on m/z values with a specified ppm tolerance and matched based on retention time with a tolerance in units of retention time.
+    ]]></help>
+    <citations>
+        <citation type="doi">10.25080/Majora-92bf1922-00a</citation>
+    </citations>
+</tool>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input.msp	Thu Sep 26 13:03:05 2024 +0000
@@ -0,0 +1,270 @@
+NAME: 3-(4-Aminophenyl)-3-cyclohexylpiperidine-2,6-dione
+SCANNUMBER: -1
+RETENTIONTIME: 0
+RETENTIONINDEX: 0
+PRECURSORMZ: 286
+PRECURSORTYPE: [M]+.
+IONMODE: Positive
+SPECTRUMTYPE: Centroid
+FORMULA: C17H22N2O2
+INCHIKEY: 
+INCHI: InChI=1S/C17H22N2O2/c18-14-8-6-13(7-9-14)17(12-4-2-1-3-5-12)11-10-15(20)19-16(17)21/h6-9,12H,1-5,10-11,18H2,(H,19,20,21)
+SMILES: Nc1ccc(cc1)C2(CCC(=O)NC2=O)C3CCCCC3
+AUTHORS: 
+COLLISIONENERGY: 40
+INSTRUMENT: 
+INSTRUMENTTYPE: 
+IONIZATION: 
+LICENSE: 
+COMMENT: 
+Num Peaks: 72
+27	14.99
+29	15.99	"Theoretical m/z 29.002191, Mass diff 0.002 (75.56 ppm), SMILES O=C, Annotation [CH2O-H]+, Rule of HR True"
+39	34.97
+41	93.92	"Theoretical m/z 41.002191, Mass diff 0.002 (53.44 ppm), SMILES O=CC, Annotation [C2H4O-3H]+, Rule of HR True"
+42	14.99
+51	14.99
+52	10.99
+53	23.98	"Theoretical m/z 53.00274, Mass diff 0.002 (0 ppm), Formula C3HO"
+54	34.97	"Theoretical m/z 53.997989, Mass diff -0.003 (0 ppm), Formula C2NO"
+55	128.88
+63	9.99
+65	39.96	"Theoretical m/z 65.00274, Mass diff 0.002 (0 ppm), Formula C4HO"
+66	16.98
+67	33.97
+77	55.95	"Theoretical m/z 77.00274, Mass diff 0.002 (0 ppm), Formula C5HO"
+78	19.98
+79	29.97
+81	12.99	"Theoretical m/z 80.997654, Mass diff -0.003 (0 ppm), Formula C4HO2"
+82	25.98	"Theoretical m/z 81.992903, Mass diff -0.008 (0 ppm), Formula C3NO2"
+83	17.98
+89	18.98	"Theoretical m/z 89.00274, Mass diff 0.002 (0 ppm), Formula C6HO"
+90	12.99
+91	53.95
+92	17.98
+93	58.95	"Theoretical m/z 92.997654, Mass diff -0.003 (0 ppm), Formula C5HO2"
+94	48.96
+102	10.99	"Theoretical m/z 101.997989, Mass diff -0.003 (0 ppm), Formula C6NO"
+103	30.97
+104	43.96
+105	27.97
+106	77.93	"Theoretical m/z 105.992903, Mass diff -0.008 (0 ppm), Formula C5NO2"
+107	17.98
+115	77.93
+116	27.97
+117	117.89	"Theoretical m/z 116.997654, Mass diff -0.003 (0 ppm), Formula C7HO2"
+118	180.84	"Theoretical m/z 117.992903, Mass diff -0.008 (0 ppm), Formula C6NO2"
+119	63.94
+120	26.98
+127	15.99
+128	18.98
+129	11.99
+130	155.86	"Theoretical m/z 129.992903, Mass diff -0.008 (0 ppm), Formula C7NO2"
+131	77.93
+132	326.71	"Theoretical m/z 132, Mass diff -0.001 (0 ppm), Formula C11"
+133	82.93
+134	17.98
+135	14.99
+143	41.96
+144	45.96	"Theoretical m/z 144, Mass diff -0.001 (0 ppm), Formula C12"
+145	18.98
+146	16.98
+147	29.97
+148	25.98
+156	20.98	"Theoretical m/z 156.008, Mass diff 0.008 (51.28 ppm), SMILES O=CNC(=O)CC=1C=CC=CC=1, Annotation [C9H9NO2-7H]+, Rule of HR True"
+157	16.98
+158	25.98	"Theoretical m/z 158.003074, Mass diff 0.003 (0 ppm), Formula C12N"
+159	56.95
+160	24.98
+161	22.98
+162	84.92	"Theoretical m/z 161.997989, Mass diff -0.003 (0 ppm), Formula C11NO"
+163	56.95
+174	11.99	"Theoretical m/z 173.997989, Mass diff -0.003 (0 ppm), Formula C12NO"
+175	386.65
+176	101.91
+177	9.99
+186	17.98	"Theoretical m/z 185.997989, Mass diff -0.003 (0 ppm), Formula C13NO"
+202	17.98	"Theoretical m/z 201.992903, Mass diff -0.008 (0 ppm), Formula C13NO2"
+203	999
+204	803.28
+205	97.91
+286	168.85
+287	32.97
+
+NAME: 1-(5-Chloro-2-hydroxyphenyl)-3-(4-chlorophenyl)-2-propen-1-one
+SCANNUMBER: -1
+RETENTIONTIME: 0
+RETENTIONINDEX: 0
+PRECURSORMZ: 292
+PRECURSORTYPE: [M]+.
+IONMODE: Positive
+SPECTRUMTYPE: Centroid
+FORMULA: C15H10Cl2O2
+INCHIKEY: 
+INCHI: InChI=1S/C15H10Cl2O2/c16-11-4-1-10(2-5-11)3-7-14(18)13-9-12(17)6-8-15(13)19/h1-9,19H/b7-3+
+SMILES: Oc1ccc(Cl)cc1C(=O)\C=C\c2ccc(Cl)cc2
+AUTHORS: 
+COLLISIONENERGY: 40
+INSTRUMENT: 
+INSTRUMENTTYPE: 
+IONIZATION: 
+LICENSE: 
+COMMENT: 
+Num Peaks: 73
+38	10.99
+39	25.98
+50	56.95
+51	88.92	"Theoretical m/z 51.000153, Mass diff 0 (0 ppm), Formula CH4Cl"
+52	15.99
+53	26.98	"Theoretical m/z 53.002191, Mass diff 0.002 (41.34 ppm), SMILES O=CC=C, Annotation [C3H4O-3H]+, Rule of HR True"
+61	19.98	"Theoretical m/z 61.007825, Mass diff 0.007 (0 ppm), Formula C5H"
+62	69.94
+63	320.71	"Theoretical m/z 63.000153, Mass diff 0 (0 ppm), Formula C2H4Cl"
+64	21.98
+72	10.99	"Theoretical m/z 71.999453, Mass diff 0.001 (7.6 ppm), SMILES C=1C=CC=CC=1, Annotation [C6H6-6H]+, Rule of HR False"
+73	35.97	"Theoretical m/z 73.007278, Mass diff 0.007 (99.69 ppm), SMILES C=1C=CC=CC=1, Annotation [C6H6-5H]+, Rule of HR True"
+74	50.95
+75	128.88	"Theoretical m/z 75.000153, Mass diff 0 (0 ppm), Formula C3H4Cl"
+76	40.96
+77	150.86	"Theoretical m/z 77.00274, Mass diff 0.002 (0 ppm), Formula C5HO"
+78	13.99
+82	12.99
+85	10.99	"Theoretical m/z 85.007825, Mass diff 0.007 (0 ppm), Formula C7H"
+86	10.99
+87	13.99	"Theoretical m/z 87.000153, Mass diff 0 (0 ppm), Formula C4H4Cl"
+89	44.96	"Theoretical m/z 89.00274, Mass diff 0.002 (0 ppm), Formula C6HO"
+90	11.99
+91	22.98	"Theoretical m/z 90.995067, Mass diff -0.005 (0 ppm), Formula C3H4ClO"
+97	22.98	"Theoretical m/z 97.005632, Mass diff 0.005 (0 ppm), Formula C2H6ClO2"
+98	131.88
+99	62.94
+100	48.96
+101	136.88	"Theoretical m/z 101.002189, Mass diff 0.002 (21.67 ppm), SMILES O=CC=1C=CC=CC=1, Annotation [C7H6O-5H]+, Rule of HR True"
+102	150.86
+103	276.75	"Theoretical m/z 102.995067, Mass diff -0.005 (0 ppm), Formula C4H4ClO"
+104	23.98
+110	11.99
+111	32.97	"Theoretical m/z 110.999607, Mass diff 0 (3.54 ppm), SMILES C=1C=CC(=CC=1)Cl, Annotation [C6H5Cl-H]+, Rule of HR True"
+112	38.96	"Theoretical m/z 112.007432, Mass diff 0.007 (66.36 ppm), SMILES C=1C=CC(=CC=1)Cl, Annotation [C6H5Cl]+, Rule of HR False"
+113	14.99
+114	16.98
+125	63.94	"Theoretical m/z 125.00274, Mass diff 0.002 (0 ppm), Formula C9HO"
+126	404.64
+127	66.94
+128	133.88
+129	16.98
+136	16.98	"Theoretical m/z 136.007422, Mass diff 0.007 (54.57 ppm), SMILES C=CC=1C=CC(=CC=1)Cl, Annotation [C8H7Cl-2H]+, Rule of HR False"
+137	67.94	"Theoretical m/z 137.00274, Mass diff 0.002 (0 ppm), Formula C10HO"
+138	578.48
+139	91.92
+140	187.83
+141	20.98
+152	13.99
+154	999
+155	133.88
+156	320.71	"Theoretical m/z 155.997254, Mass diff 0.003 (17.6 ppm), SMILES O=CC=1C=C(C=CC=1(O))Cl, Annotation [C7H5ClO2]+, Rule of HR False"
+157	42.96
+163	10.99	"Theoretical m/z 162.994516, Mass diff 0.005 (33.65 ppm), SMILES O=C(C=C)C1=CC=CC(=C1)Cl, Annotation [C9H7ClO-3H]+, Rule of HR True"
+165	67.94	"Theoretical m/z 164.997654, Mass diff -0.003 (0 ppm), Formula C11HO2"
+166	15.99
+167	12.99
+176	9.99
+180	54.95	"Theoretical m/z 179.99726, Mass diff 0.003 (15.22 ppm), SMILES O=C(C=C)C=1C=C(C=CC=1(O))Cl, Annotation [C9H7ClO2-2H]+, Rule of HR False"
+181	204.82	"Theoretical m/z 181.005085, Mass diff 0.005 (28.09 ppm), SMILES O=C(C=C)C=1C=C(C=CC=1(O))Cl, Annotation [C9H7ClO2-H]+, Rule of HR True"
+182	37.97
+183	66.94	"Theoretical m/z 183.000153, Mass diff 0 (0 ppm), Formula C12H4Cl"
+194	9.99
+257	54.95	"Theoretical m/z 256.992481, Mass diff -0.008 (0 ppm), Formula C15H7Cl2"
+259	17.98	"Theoretical m/z 259.008131, Mass diff 0.008 (0 ppm), Formula C15H9Cl2"
+275	27.97	"Theoretical m/z 275.002491, Mass diff 0.002 (9.06 ppm), SMILES O=C(C=CC=1C=CC(=CC=1)Cl)C2=CC=CC(=C2)Cl, Annotation [C15H10Cl2O-H]+, Rule of HR True"
+277	17.98
+291	153.86	"Theoretical m/z 290.99796, Mass diff -0.003 (0 ppm), Formula C15H9Cl2O2"
+292	260.76	"Theoretical m/z 292.00525, Mass diff 0.005 (17.98 ppm), SMILES O=C(C=CC=1C=CC(=CC=1)Cl)C=2C=C(C=CC=2(O))Cl, Annotation [C15H10Cl2O2]+, Rule of HR False"
+293	135.88
+294	165.85
+295	41.96
+296	29.97
+
+NAME: 3-Benzoylbenzo[f]coumarin
+SCANNUMBER: -1
+RETENTIONTIME: 0
+RETENTIONINDEX: 0
+PRECURSORMZ: 300
+PRECURSORTYPE: [M]+.
+IONMODE: Positive
+SPECTRUMTYPE: Centroid
+FORMULA: C20H12O3
+INCHIKEY: 
+INCHI: InChI=1S/C20H12O3/c21-19(14-7-2-1-3-8-14)17-12-16-15-9-5-4-6-13(15)10-11-18(16)23-20(17)22/h1-12H
+SMILES: O=C1Oc2ccc3ccccc3c2C=C1C(=O)c4ccccc4
+AUTHORS: 
+COLLISIONENERGY: 40
+INSTRUMENT: 
+INSTRUMENTTYPE: 
+IONIZATION: 
+LICENSE: 
+COMMENT: 
+Num Peaks: 62
+39	18.98
+50	44.96
+51	202.82	"Theoretical m/z 51.008219, Mass diff 0.008 (0 ppm), Formula H3O3"
+52	12.99
+62	26.98
+63	80.93	"Theoretical m/z 63.008219, Mass diff 0.008 (0 ppm), Formula CH3O3"
+65	15.99
+74	28.97
+75	32.97	"Theoretical m/z 75.008219, Mass diff 0.008 (0 ppm), Formula C2H3O3"
+76	32.97	"Theoretical m/z 75.994915, Mass diff -0.006 (0 ppm), Formula C5O"
+77	986.11	"Theoretical m/z 77.00274, Mass diff 0.002 (0 ppm), Formula C5HO"
+78	67.94
+86	32.97
+87	47.96	"Theoretical m/z 87.007668, Mass diff 0.008 (88.14 ppm), SMILES O=CCC(=O)O, Annotation [C3H3O3]+, Rule of HR False"
+88	23.98
+89	62.94	"Theoretical m/z 89.00274, Mass diff 0.002 (0 ppm), Formula C6HO"
+94	13.99
+98	12.99
+99	12.99	"Theoretical m/z 99.007674, Mass diff 0.008 (77.51 ppm), SMILES O=CC(C(=O)O)C, Annotation [C4H5O3-2H]+, Rule of HR False"
+105	999	"Theoretical m/z 104.997654, Mass diff -0.003 (0 ppm), Formula C6HO2"
+106	76.93
+107	9.99
+110	10.99
+111	13.99	"Theoretical m/z 111.008219, Mass diff 0.008 (0 ppm), Formula C5H3O3"
+112	11.99
+113	68.94	"Theoretical m/z 113.00274, Mass diff 0.002 (0 ppm), Formula C8HO"
+114	11.99
+122	14.99	"Theoretical m/z 122.000394, Mass diff 0 (0 ppm), Formula C6H2O3"
+126	9.99
+137	54.95	"Theoretical m/z 137.00274, Mass diff 0.002 (0 ppm), Formula C10HO"
+138	69.94
+139	764.31
+140	89.92
+150	68.94
+151	24.98
+157	17.98	"Theoretical m/z 157.007825, Mass diff 0.007 (0 ppm), Formula C13H"
+187	10.99
+189	10.99	"Theoretical m/z 188.997654, Mass diff -0.003 (0 ppm), Formula C13HO2"
+195	198.82	"Theoretical m/z 195.008219, Mass diff 0.008 (0 ppm), Formula C12H3O3"
+196	27.97
+213	32.97	"Theoretical m/z 212.997654, Mass diff -0.003 (0 ppm), Formula C15HO2"
+215	53.95
+216	13.99
+223	199.82
+224	32.97
+226	10.99
+228	15.99	"Theoretical m/z 228, Mass diff -0.001 (0 ppm), Formula C19"
+243	23.98	"Theoretical m/z 243.008219, Mass diff 0.008 (0 ppm), Formula C16H3O3"
+244	90.92	"Theoretical m/z 243.994915, Mass diff -0.006 (0 ppm), Formula C19O"
+245	15.99
+254	11.99
+255	49.95	"Theoretical m/z 255.008219, Mass diff 0.008 (0 ppm), Formula C17H3O3"
+256	24.98
+271	407.63
+272	228.79
+273	38.96
+282	20.98
+283	34.97
+299	108.9
+300	684.38
+301	147.87
+302	18.98
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output_only_annotated.msp	Thu Sep 26 13:03:05 2024 +0000
@@ -0,0 +1,138 @@
+NAME: 3-(4-Aminophenyl)-3-cyclohexylpiperidine-2,6-dione
+SCANNUMBER: -1
+RETENTIONTIME: 0
+RETENTIONINDEX: 0
+PRECURSORMZ: 286
+PRECURSORTYPE: [M]+.
+IONMODE: Positive
+SPECTRUMTYPE: Centroid
+FORMULA: C17H22N2O2
+INCHIKEY: 
+INCHI: InChI=1S/C17H22N2O2/c18-14-8-6-13(7-9-14)17(12-4-2-1-3-5-12)11-10-15(20)19-16(17)21/h6-9,12H,1-5,10-11,18H2,(H,19,20,21)
+SMILES: Nc1ccc(cc1)C2(CCC(=O)NC2=O)C3CCCCC3
+AUTHORS: 
+COLLISIONENERGY: 40
+INSTRUMENT: 
+INSTRUMENTTYPE: 
+IONIZATION: 
+LICENSE: 
+COMMENT: 
+Num Peaks: 23
+29.002191	15.99	"Theoretical m/z 29.002191, Mass diff 0.002 (75.56 ppm), SMILES O=C, Annotation [CH2O-H]+, Rule of HR True"
+41.002191	93.92	"Theoretical m/z 41.002191, Mass diff 0.002 (53.44 ppm), SMILES O=CC, Annotation [C2H4O-3H]+, Rule of HR True"
+53.00274	23.98	"Theoretical m/z 53.00274, Mass diff 0.002 (0 ppm), Formula C3HO"
+53.997989	34.97	"Theoretical m/z 53.997989, Mass diff -0.003 (0 ppm), Formula C2NO"
+65.00274	39.96	"Theoretical m/z 65.00274, Mass diff 0.002 (0 ppm), Formula C4HO"
+77.00274	55.95	"Theoretical m/z 77.00274, Mass diff 0.002 (0 ppm), Formula C5HO"
+80.997654	12.99	"Theoretical m/z 80.997654, Mass diff -0.003 (0 ppm), Formula C4HO2"
+81.992903	25.98	"Theoretical m/z 81.992903, Mass diff -0.008 (0 ppm), Formula C3NO2"
+89.00274	18.98	"Theoretical m/z 89.00274, Mass diff 0.002 (0 ppm), Formula C6HO"
+92.997654	58.95	"Theoretical m/z 92.997654, Mass diff -0.003 (0 ppm), Formula C5HO2"
+101.997989	10.99	"Theoretical m/z 101.997989, Mass diff -0.003 (0 ppm), Formula C6NO"
+105.992903	77.93	"Theoretical m/z 105.992903, Mass diff -0.008 (0 ppm), Formula C5NO2"
+116.997654	117.89	"Theoretical m/z 116.997654, Mass diff -0.003 (0 ppm), Formula C7HO2"
+117.992903	180.84	"Theoretical m/z 117.992903, Mass diff -0.008 (0 ppm), Formula C6NO2"
+129.992903	155.86	"Theoretical m/z 129.992903, Mass diff -0.008 (0 ppm), Formula C7NO2"
+132.0	326.71	"Theoretical m/z 132, Mass diff -0.001 (0 ppm), Formula C11"
+144.0	45.96	"Theoretical m/z 144, Mass diff -0.001 (0 ppm), Formula C12"
+156.008	20.98	"Theoretical m/z 156.008, Mass diff 0.008 (51.28 ppm), SMILES O=CNC(=O)CC=1C=CC=CC=1, Annotation [C9H9NO2-7H]+, Rule of HR True"
+158.003074	25.98	"Theoretical m/z 158.003074, Mass diff 0.003 (0 ppm), Formula C12N"
+161.997989	84.92	"Theoretical m/z 161.997989, Mass diff -0.003 (0 ppm), Formula C11NO"
+173.997989	11.99	"Theoretical m/z 173.997989, Mass diff -0.003 (0 ppm), Formula C12NO"
+185.997989	17.98	"Theoretical m/z 185.997989, Mass diff -0.003 (0 ppm), Formula C13NO"
+201.992903	17.98	"Theoretical m/z 201.992903, Mass diff -0.008 (0 ppm), Formula C13NO2"
+
+NAME: 1-(5-Chloro-2-hydroxyphenyl)-3-(4-chlorophenyl)-2-propen-1-one
+SCANNUMBER: -1
+RETENTIONTIME: 0
+RETENTIONINDEX: 0
+PRECURSORMZ: 292
+PRECURSORTYPE: [M]+.
+IONMODE: Positive
+SPECTRUMTYPE: Centroid
+FORMULA: C15H10Cl2O2
+INCHIKEY: 
+INCHI: InChI=1S/C15H10Cl2O2/c16-11-4-1-10(2-5-11)3-7-14(18)13-9-12(17)6-8-15(13)19/h1-9,19H/b7-3+
+SMILES: Oc1ccc(Cl)cc1C(=O)\C=C\c2ccc(Cl)cc2
+AUTHORS: 
+COLLISIONENERGY: 40
+INSTRUMENT: 
+INSTRUMENTTYPE: 
+IONIZATION: 
+LICENSE: 
+COMMENT: 
+Num Peaks: 31
+51.000153	88.92	"Theoretical m/z 51.000153, Mass diff 0 (0 ppm), Formula CH4Cl"
+53.002191	26.98	"Theoretical m/z 53.002191, Mass diff 0.002 (41.34 ppm), SMILES O=CC=C, Annotation [C3H4O-3H]+, Rule of HR True"
+61.007825	19.98	"Theoretical m/z 61.007825, Mass diff 0.007 (0 ppm), Formula C5H"
+63.000153	320.71	"Theoretical m/z 63.000153, Mass diff 0 (0 ppm), Formula C2H4Cl"
+71.999453	10.99	"Theoretical m/z 71.999453, Mass diff 0.001 (7.6 ppm), SMILES C=1C=CC=CC=1, Annotation [C6H6-6H]+, Rule of HR False"
+73.007278	35.97	"Theoretical m/z 73.007278, Mass diff 0.007 (99.69 ppm), SMILES C=1C=CC=CC=1, Annotation [C6H6-5H]+, Rule of HR True"
+75.000153	128.88	"Theoretical m/z 75.000153, Mass diff 0 (0 ppm), Formula C3H4Cl"
+77.00274	150.86	"Theoretical m/z 77.00274, Mass diff 0.002 (0 ppm), Formula C5HO"
+85.007825	10.99	"Theoretical m/z 85.007825, Mass diff 0.007 (0 ppm), Formula C7H"
+87.000153	13.99	"Theoretical m/z 87.000153, Mass diff 0 (0 ppm), Formula C4H4Cl"
+89.00274	44.96	"Theoretical m/z 89.00274, Mass diff 0.002 (0 ppm), Formula C6HO"
+90.995067	22.98	"Theoretical m/z 90.995067, Mass diff -0.005 (0 ppm), Formula C3H4ClO"
+97.005632	22.98	"Theoretical m/z 97.005632, Mass diff 0.005 (0 ppm), Formula C2H6ClO2"
+101.002189	136.88	"Theoretical m/z 101.002189, Mass diff 0.002 (21.67 ppm), SMILES O=CC=1C=CC=CC=1, Annotation [C7H6O-5H]+, Rule of HR True"
+102.995067	276.75	"Theoretical m/z 102.995067, Mass diff -0.005 (0 ppm), Formula C4H4ClO"
+110.999607	32.97	"Theoretical m/z 110.999607, Mass diff 0 (3.54 ppm), SMILES C=1C=CC(=CC=1)Cl, Annotation [C6H5Cl-H]+, Rule of HR True"
+112.007432	38.96	"Theoretical m/z 112.007432, Mass diff 0.007 (66.36 ppm), SMILES C=1C=CC(=CC=1)Cl, Annotation [C6H5Cl]+, Rule of HR False"
+125.00274	63.94	"Theoretical m/z 125.00274, Mass diff 0.002 (0 ppm), Formula C9HO"
+136.007422	16.98	"Theoretical m/z 136.007422, Mass diff 0.007 (54.57 ppm), SMILES C=CC=1C=CC(=CC=1)Cl, Annotation [C8H7Cl-2H]+, Rule of HR False"
+137.00274	67.94	"Theoretical m/z 137.00274, Mass diff 0.002 (0 ppm), Formula C10HO"
+155.997254	320.71	"Theoretical m/z 155.997254, Mass diff 0.003 (17.6 ppm), SMILES O=CC=1C=C(C=CC=1(O))Cl, Annotation [C7H5ClO2]+, Rule of HR False"
+162.994516	10.99	"Theoretical m/z 162.994516, Mass diff 0.005 (33.65 ppm), SMILES O=C(C=C)C1=CC=CC(=C1)Cl, Annotation [C9H7ClO-3H]+, Rule of HR True"
+164.997654	67.94	"Theoretical m/z 164.997654, Mass diff -0.003 (0 ppm), Formula C11HO2"
+179.99726	54.95	"Theoretical m/z 179.99726, Mass diff 0.003 (15.22 ppm), SMILES O=C(C=C)C=1C=C(C=CC=1(O))Cl, Annotation [C9H7ClO2-2H]+, Rule of HR False"
+181.005085	204.82	"Theoretical m/z 181.005085, Mass diff 0.005 (28.09 ppm), SMILES O=C(C=C)C=1C=C(C=CC=1(O))Cl, Annotation [C9H7ClO2-H]+, Rule of HR True"
+183.000153	66.94	"Theoretical m/z 183.000153, Mass diff 0 (0 ppm), Formula C12H4Cl"
+256.992481	54.95	"Theoretical m/z 256.992481, Mass diff -0.008 (0 ppm), Formula C15H7Cl2"
+259.008131	17.98	"Theoretical m/z 259.008131, Mass diff 0.008 (0 ppm), Formula C15H9Cl2"
+275.002491	27.97	"Theoretical m/z 275.002491, Mass diff 0.002 (9.06 ppm), SMILES O=C(C=CC=1C=CC(=CC=1)Cl)C2=CC=CC(=C2)Cl, Annotation [C15H10Cl2O-H]+, Rule of HR True"
+290.99796	153.86	"Theoretical m/z 290.99796, Mass diff -0.003 (0 ppm), Formula C15H9Cl2O2"
+292.00525	260.76	"Theoretical m/z 292.00525, Mass diff 0.005 (17.98 ppm), SMILES O=C(C=CC=1C=CC(=CC=1)Cl)C=2C=C(C=CC=2(O))Cl, Annotation [C15H10Cl2O2]+, Rule of HR False"
+
+NAME: 3-Benzoylbenzo[f]coumarin
+SCANNUMBER: -1
+RETENTIONTIME: 0
+RETENTIONINDEX: 0
+PRECURSORMZ: 300
+PRECURSORTYPE: [M]+.
+IONMODE: Positive
+SPECTRUMTYPE: Centroid
+FORMULA: C20H12O3
+INCHIKEY: 
+INCHI: InChI=1S/C20H12O3/c21-19(14-7-2-1-3-8-14)17-12-16-15-9-5-4-6-13(15)10-11-18(16)23-20(17)22/h1-12H
+SMILES: O=C1Oc2ccc3ccccc3c2C=C1C(=O)c4ccccc4
+AUTHORS: 
+COLLISIONENERGY: 40
+INSTRUMENT: 
+INSTRUMENTTYPE: 
+IONIZATION: 
+LICENSE: 
+COMMENT: 
+Num Peaks: 21
+51.008219	202.82	"Theoretical m/z 51.008219, Mass diff 0.008 (0 ppm), Formula H3O3"
+63.008219	80.93	"Theoretical m/z 63.008219, Mass diff 0.008 (0 ppm), Formula CH3O3"
+75.008219	32.97	"Theoretical m/z 75.008219, Mass diff 0.008 (0 ppm), Formula C2H3O3"
+75.994915	32.97	"Theoretical m/z 75.994915, Mass diff -0.006 (0 ppm), Formula C5O"
+77.00274	986.11	"Theoretical m/z 77.00274, Mass diff 0.002 (0 ppm), Formula C5HO"
+87.007668	47.96	"Theoretical m/z 87.007668, Mass diff 0.008 (88.14 ppm), SMILES O=CCC(=O)O, Annotation [C3H3O3]+, Rule of HR False"
+89.00274	62.94	"Theoretical m/z 89.00274, Mass diff 0.002 (0 ppm), Formula C6HO"
+99.007674	12.99	"Theoretical m/z 99.007674, Mass diff 0.008 (77.51 ppm), SMILES O=CC(C(=O)O)C, Annotation [C4H5O3-2H]+, Rule of HR False"
+104.997654	999.0	"Theoretical m/z 104.997654, Mass diff -0.003 (0 ppm), Formula C6HO2"
+111.008219	13.99	"Theoretical m/z 111.008219, Mass diff 0.008 (0 ppm), Formula C5H3O3"
+113.00274	68.94	"Theoretical m/z 113.00274, Mass diff 0.002 (0 ppm), Formula C8HO"
+122.000394	14.99	"Theoretical m/z 122.000394, Mass diff 0 (0 ppm), Formula C6H2O3"
+137.00274	54.95	"Theoretical m/z 137.00274, Mass diff 0.002 (0 ppm), Formula C10HO"
+157.007825	17.98	"Theoretical m/z 157.007825, Mass diff 0.007 (0 ppm), Formula C13H"
+188.997654	10.99	"Theoretical m/z 188.997654, Mass diff -0.003 (0 ppm), Formula C13HO2"
+195.008219	198.82	"Theoretical m/z 195.008219, Mass diff 0.008 (0 ppm), Formula C12H3O3"
+212.997654	32.97	"Theoretical m/z 212.997654, Mass diff -0.003 (0 ppm), Formula C15HO2"
+228.0	15.99	"Theoretical m/z 228, Mass diff -0.001 (0 ppm), Formula C19"
+243.008219	23.98	"Theoretical m/z 243.008219, Mass diff 0.008 (0 ppm), Formula C16H3O3"
+243.994915	90.92	"Theoretical m/z 243.994915, Mass diff -0.006 (0 ppm), Formula C19O"
+255.008219	49.95	"Theoretical m/z 255.008219, Mass diff 0.008 (0 ppm), Formula C17H3O3"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output_plus_no_annotated.msp	Thu Sep 26 13:03:05 2024 +0000
@@ -0,0 +1,270 @@
+NAME: 3-(4-Aminophenyl)-3-cyclohexylpiperidine-2,6-dione
+SCANNUMBER: -1
+RETENTIONTIME: 0
+RETENTIONINDEX: 0
+PRECURSORMZ: 286
+PRECURSORTYPE: [M]+.
+IONMODE: Positive
+SPECTRUMTYPE: Centroid
+FORMULA: C17H22N2O2
+INCHIKEY: 
+INCHI: InChI=1S/C17H22N2O2/c18-14-8-6-13(7-9-14)17(12-4-2-1-3-5-12)11-10-15(20)19-16(17)21/h6-9,12H,1-5,10-11,18H2,(H,19,20,21)
+SMILES: Nc1ccc(cc1)C2(CCC(=O)NC2=O)C3CCCCC3
+AUTHORS: 
+COLLISIONENERGY: 40
+INSTRUMENT: 
+INSTRUMENTTYPE: 
+IONIZATION: 
+LICENSE: 
+COMMENT: 
+Num Peaks: 72
+27.0	14.99
+29.002191	15.99	"Theoretical m/z 29.002191, Mass diff 0.002 (75.56 ppm), SMILES O=C, Annotation [CH2O-H]+, Rule of HR True"
+39.0	34.97
+41.002191	93.92	"Theoretical m/z 41.002191, Mass diff 0.002 (53.44 ppm), SMILES O=CC, Annotation [C2H4O-3H]+, Rule of HR True"
+42.0	14.99
+51.0	14.99
+52.0	10.99
+53.00274	23.98	"Theoretical m/z 53.00274, Mass diff 0.002 (0 ppm), Formula C3HO"
+53.997989	34.97	"Theoretical m/z 53.997989, Mass diff -0.003 (0 ppm), Formula C2NO"
+55.0	128.88
+63.0	9.99
+65.00274	39.96	"Theoretical m/z 65.00274, Mass diff 0.002 (0 ppm), Formula C4HO"
+66.0	16.98
+67.0	33.97
+77.00274	55.95	"Theoretical m/z 77.00274, Mass diff 0.002 (0 ppm), Formula C5HO"
+78.0	19.98
+79.0	29.97
+80.997654	12.99	"Theoretical m/z 80.997654, Mass diff -0.003 (0 ppm), Formula C4HO2"
+81.992903	25.98	"Theoretical m/z 81.992903, Mass diff -0.008 (0 ppm), Formula C3NO2"
+83.0	17.98
+89.00274	18.98	"Theoretical m/z 89.00274, Mass diff 0.002 (0 ppm), Formula C6HO"
+90.0	12.99
+91.0	53.95
+92.0	17.98
+92.997654	58.95	"Theoretical m/z 92.997654, Mass diff -0.003 (0 ppm), Formula C5HO2"
+94.0	48.96
+101.997989	10.99	"Theoretical m/z 101.997989, Mass diff -0.003 (0 ppm), Formula C6NO"
+103.0	30.97
+104.0	43.96
+105.0	27.97
+105.992903	77.93	"Theoretical m/z 105.992903, Mass diff -0.008 (0 ppm), Formula C5NO2"
+107.0	17.98
+115.0	77.93
+116.0	27.97
+116.997654	117.89	"Theoretical m/z 116.997654, Mass diff -0.003 (0 ppm), Formula C7HO2"
+117.992903	180.84	"Theoretical m/z 117.992903, Mass diff -0.008 (0 ppm), Formula C6NO2"
+119.0	63.94
+120.0	26.98
+127.0	15.99
+128.0	18.98
+129.0	11.99
+129.992903	155.86	"Theoretical m/z 129.992903, Mass diff -0.008 (0 ppm), Formula C7NO2"
+131.0	77.93
+132.0	326.71	"Theoretical m/z 132, Mass diff -0.001 (0 ppm), Formula C11"
+133.0	82.93
+134.0	17.98
+135.0	14.99
+143.0	41.96
+144.0	45.96	"Theoretical m/z 144, Mass diff -0.001 (0 ppm), Formula C12"
+145.0	18.98
+146.0	16.98
+147.0	29.97
+148.0	25.98
+156.008	20.98	"Theoretical m/z 156.008, Mass diff 0.008 (51.28 ppm), SMILES O=CNC(=O)CC=1C=CC=CC=1, Annotation [C9H9NO2-7H]+, Rule of HR True"
+157.0	16.98
+158.003074	25.98	"Theoretical m/z 158.003074, Mass diff 0.003 (0 ppm), Formula C12N"
+159.0	56.95
+160.0	24.98
+161.0	22.98
+161.997989	84.92	"Theoretical m/z 161.997989, Mass diff -0.003 (0 ppm), Formula C11NO"
+163.0	56.95
+173.997989	11.99	"Theoretical m/z 173.997989, Mass diff -0.003 (0 ppm), Formula C12NO"
+175.0	386.65
+176.0	101.91
+177.0	9.99
+185.997989	17.98	"Theoretical m/z 185.997989, Mass diff -0.003 (0 ppm), Formula C13NO"
+201.992903	17.98	"Theoretical m/z 201.992903, Mass diff -0.008 (0 ppm), Formula C13NO2"
+203.0	999.0
+204.0	803.28
+205.0	97.91
+286.0	168.85
+287.0	32.97
+
+NAME: 1-(5-Chloro-2-hydroxyphenyl)-3-(4-chlorophenyl)-2-propen-1-one
+SCANNUMBER: -1
+RETENTIONTIME: 0
+RETENTIONINDEX: 0
+PRECURSORMZ: 292
+PRECURSORTYPE: [M]+.
+IONMODE: Positive
+SPECTRUMTYPE: Centroid
+FORMULA: C15H10Cl2O2
+INCHIKEY: 
+INCHI: InChI=1S/C15H10Cl2O2/c16-11-4-1-10(2-5-11)3-7-14(18)13-9-12(17)6-8-15(13)19/h1-9,19H/b7-3+
+SMILES: Oc1ccc(Cl)cc1C(=O)\C=C\c2ccc(Cl)cc2
+AUTHORS: 
+COLLISIONENERGY: 40
+INSTRUMENT: 
+INSTRUMENTTYPE: 
+IONIZATION: 
+LICENSE: 
+COMMENT: 
+Num Peaks: 73
+38.0	10.99
+39.0	25.98
+50.0	56.95
+51.000153	88.92	"Theoretical m/z 51.000153, Mass diff 0 (0 ppm), Formula CH4Cl"
+52.0	15.99
+53.002191	26.98	"Theoretical m/z 53.002191, Mass diff 0.002 (41.34 ppm), SMILES O=CC=C, Annotation [C3H4O-3H]+, Rule of HR True"
+61.007825	19.98	"Theoretical m/z 61.007825, Mass diff 0.007 (0 ppm), Formula C5H"
+62.0	69.94
+63.000153	320.71	"Theoretical m/z 63.000153, Mass diff 0 (0 ppm), Formula C2H4Cl"
+64.0	21.98
+71.999453	10.99	"Theoretical m/z 71.999453, Mass diff 0.001 (7.6 ppm), SMILES C=1C=CC=CC=1, Annotation [C6H6-6H]+, Rule of HR False"
+73.007278	35.97	"Theoretical m/z 73.007278, Mass diff 0.007 (99.69 ppm), SMILES C=1C=CC=CC=1, Annotation [C6H6-5H]+, Rule of HR True"
+74.0	50.95
+75.000153	128.88	"Theoretical m/z 75.000153, Mass diff 0 (0 ppm), Formula C3H4Cl"
+76.0	40.96
+77.00274	150.86	"Theoretical m/z 77.00274, Mass diff 0.002 (0 ppm), Formula C5HO"
+78.0	13.99
+82.0	12.99
+85.007825	10.99	"Theoretical m/z 85.007825, Mass diff 0.007 (0 ppm), Formula C7H"
+86.0	10.99
+87.000153	13.99	"Theoretical m/z 87.000153, Mass diff 0 (0 ppm), Formula C4H4Cl"
+89.00274	44.96	"Theoretical m/z 89.00274, Mass diff 0.002 (0 ppm), Formula C6HO"
+90.0	11.99
+90.995067	22.98	"Theoretical m/z 90.995067, Mass diff -0.005 (0 ppm), Formula C3H4ClO"
+97.005632	22.98	"Theoretical m/z 97.005632, Mass diff 0.005 (0 ppm), Formula C2H6ClO2"
+98.0	131.88
+99.0	62.94
+100.0	48.96
+101.002189	136.88	"Theoretical m/z 101.002189, Mass diff 0.002 (21.67 ppm), SMILES O=CC=1C=CC=CC=1, Annotation [C7H6O-5H]+, Rule of HR True"
+102.0	150.86
+102.995067	276.75	"Theoretical m/z 102.995067, Mass diff -0.005 (0 ppm), Formula C4H4ClO"
+104.0	23.98
+110.0	11.99
+110.999607	32.97	"Theoretical m/z 110.999607, Mass diff 0 (3.54 ppm), SMILES C=1C=CC(=CC=1)Cl, Annotation [C6H5Cl-H]+, Rule of HR True"
+112.007432	38.96	"Theoretical m/z 112.007432, Mass diff 0.007 (66.36 ppm), SMILES C=1C=CC(=CC=1)Cl, Annotation [C6H5Cl]+, Rule of HR False"
+113.0	14.99
+114.0	16.98
+125.00274	63.94	"Theoretical m/z 125.00274, Mass diff 0.002 (0 ppm), Formula C9HO"
+126.0	404.64
+127.0	66.94
+128.0	133.88
+129.0	16.98
+136.007422	16.98	"Theoretical m/z 136.007422, Mass diff 0.007 (54.57 ppm), SMILES C=CC=1C=CC(=CC=1)Cl, Annotation [C8H7Cl-2H]+, Rule of HR False"
+137.00274	67.94	"Theoretical m/z 137.00274, Mass diff 0.002 (0 ppm), Formula C10HO"
+138.0	578.48
+139.0	91.92
+140.0	187.83
+141.0	20.98
+152.0	13.99
+154.0	999.0
+155.0	133.88
+155.997254	320.71	"Theoretical m/z 155.997254, Mass diff 0.003 (17.6 ppm), SMILES O=CC=1C=C(C=CC=1(O))Cl, Annotation [C7H5ClO2]+, Rule of HR False"
+157.0	42.96
+162.994516	10.99	"Theoretical m/z 162.994516, Mass diff 0.005 (33.65 ppm), SMILES O=C(C=C)C1=CC=CC(=C1)Cl, Annotation [C9H7ClO-3H]+, Rule of HR True"
+164.997654	67.94	"Theoretical m/z 164.997654, Mass diff -0.003 (0 ppm), Formula C11HO2"
+166.0	15.99
+167.0	12.99
+176.0	9.99
+179.99726	54.95	"Theoretical m/z 179.99726, Mass diff 0.003 (15.22 ppm), SMILES O=C(C=C)C=1C=C(C=CC=1(O))Cl, Annotation [C9H7ClO2-2H]+, Rule of HR False"
+181.005085	204.82	"Theoretical m/z 181.005085, Mass diff 0.005 (28.09 ppm), SMILES O=C(C=C)C=1C=C(C=CC=1(O))Cl, Annotation [C9H7ClO2-H]+, Rule of HR True"
+182.0	37.97
+183.000153	66.94	"Theoretical m/z 183.000153, Mass diff 0 (0 ppm), Formula C12H4Cl"
+194.0	9.99
+256.992481	54.95	"Theoretical m/z 256.992481, Mass diff -0.008 (0 ppm), Formula C15H7Cl2"
+259.008131	17.98	"Theoretical m/z 259.008131, Mass diff 0.008 (0 ppm), Formula C15H9Cl2"
+275.002491	27.97	"Theoretical m/z 275.002491, Mass diff 0.002 (9.06 ppm), SMILES O=C(C=CC=1C=CC(=CC=1)Cl)C2=CC=CC(=C2)Cl, Annotation [C15H10Cl2O-H]+, Rule of HR True"
+277.0	17.98
+290.99796	153.86	"Theoretical m/z 290.99796, Mass diff -0.003 (0 ppm), Formula C15H9Cl2O2"
+292.00525	260.76	"Theoretical m/z 292.00525, Mass diff 0.005 (17.98 ppm), SMILES O=C(C=CC=1C=CC(=CC=1)Cl)C=2C=C(C=CC=2(O))Cl, Annotation [C15H10Cl2O2]+, Rule of HR False"
+293.0	135.88
+294.0	165.85
+295.0	41.96
+296.0	29.97
+
+NAME: 3-Benzoylbenzo[f]coumarin
+SCANNUMBER: -1
+RETENTIONTIME: 0
+RETENTIONINDEX: 0
+PRECURSORMZ: 300
+PRECURSORTYPE: [M]+.
+IONMODE: Positive
+SPECTRUMTYPE: Centroid
+FORMULA: C20H12O3
+INCHIKEY: 
+INCHI: InChI=1S/C20H12O3/c21-19(14-7-2-1-3-8-14)17-12-16-15-9-5-4-6-13(15)10-11-18(16)23-20(17)22/h1-12H
+SMILES: O=C1Oc2ccc3ccccc3c2C=C1C(=O)c4ccccc4
+AUTHORS: 
+COLLISIONENERGY: 40
+INSTRUMENT: 
+INSTRUMENTTYPE: 
+IONIZATION: 
+LICENSE: 
+COMMENT: 
+Num Peaks: 62
+39.0	18.98
+50.0	44.96
+51.008219	202.82	"Theoretical m/z 51.008219, Mass diff 0.008 (0 ppm), Formula H3O3"
+52.0	12.99
+62.0	26.98
+63.008219	80.93	"Theoretical m/z 63.008219, Mass diff 0.008 (0 ppm), Formula CH3O3"
+65.0	15.99
+74.0	28.97
+75.008219	32.97	"Theoretical m/z 75.008219, Mass diff 0.008 (0 ppm), Formula C2H3O3"
+75.994915	32.97	"Theoretical m/z 75.994915, Mass diff -0.006 (0 ppm), Formula C5O"
+77.00274	986.11	"Theoretical m/z 77.00274, Mass diff 0.002 (0 ppm), Formula C5HO"
+78.0	67.94
+86.0	32.97
+87.007668	47.96	"Theoretical m/z 87.007668, Mass diff 0.008 (88.14 ppm), SMILES O=CCC(=O)O, Annotation [C3H3O3]+, Rule of HR False"
+88.0	23.98
+89.00274	62.94	"Theoretical m/z 89.00274, Mass diff 0.002 (0 ppm), Formula C6HO"
+94.0	13.99
+98.0	12.99
+99.007674	12.99	"Theoretical m/z 99.007674, Mass diff 0.008 (77.51 ppm), SMILES O=CC(C(=O)O)C, Annotation [C4H5O3-2H]+, Rule of HR False"
+104.997654	999.0	"Theoretical m/z 104.997654, Mass diff -0.003 (0 ppm), Formula C6HO2"
+106.0	76.93
+107.0	9.99
+110.0	10.99
+111.008219	13.99	"Theoretical m/z 111.008219, Mass diff 0.008 (0 ppm), Formula C5H3O3"
+112.0	11.99
+113.00274	68.94	"Theoretical m/z 113.00274, Mass diff 0.002 (0 ppm), Formula C8HO"
+114.0	11.99
+122.000394	14.99	"Theoretical m/z 122.000394, Mass diff 0 (0 ppm), Formula C6H2O3"
+126.0	9.99
+137.00274	54.95	"Theoretical m/z 137.00274, Mass diff 0.002 (0 ppm), Formula C10HO"
+138.0	69.94
+139.0	764.31
+140.0	89.92
+150.0	68.94
+151.0	24.98
+157.007825	17.98	"Theoretical m/z 157.007825, Mass diff 0.007 (0 ppm), Formula C13H"
+187.0	10.99
+188.997654	10.99	"Theoretical m/z 188.997654, Mass diff -0.003 (0 ppm), Formula C13HO2"
+195.008219	198.82	"Theoretical m/z 195.008219, Mass diff 0.008 (0 ppm), Formula C12H3O3"
+196.0	27.97
+212.997654	32.97	"Theoretical m/z 212.997654, Mass diff -0.003 (0 ppm), Formula C15HO2"
+215.0	53.95
+216.0	13.99
+223.0	199.82
+224.0	32.97
+226.0	10.99
+228.0	15.99	"Theoretical m/z 228, Mass diff -0.001 (0 ppm), Formula C19"
+243.008219	23.98	"Theoretical m/z 243.008219, Mass diff 0.008 (0 ppm), Formula C16H3O3"
+243.994915	90.92	"Theoretical m/z 243.994915, Mass diff -0.006 (0 ppm), Formula C19O"
+245.0	15.99
+254.0	11.99
+255.008219	49.95	"Theoretical m/z 255.008219, Mass diff 0.008 (0 ppm), Formula C17H3O3"
+256.0	24.98
+271.0	407.63
+272.0	228.79
+273.0	38.96
+282.0	20.98
+283.0	34.97
+299.0	108.9
+300.0	684.38
+301.0	147.87
+302.0	18.98
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/target_screen/markers.tsv	Thu Sep 26 13:03:05 2024 +0000
@@ -0,0 +1,23 @@
+formula	mz	rt
+C8H6Cl2O3	218.9621	474.6
+C9H15N3O1	180.1142	458.23
+C5H2Cl3N1O1	195.9129	488.1
+C13H10O3	213.0557	508.40
+C13H9FO3	231.0463	521.48
+C6H5NO3	138.0197	166.56
+C6H4Cl1N1O2	155.9858	176.62
+C19H28N2O5S	395.1646	598.96
+C10H12N2O3S1	239.0496	312.55
+C4H11O3P1S1	169.0094	168.08
+C14H17Cl2NO2	300.0564	689.79
+C11H13ClO2	167.0633	572.93
+C12H4Cl2F6N4OS	434.9314	767.86
+C12H4Cl2F6N4O2S	450.9263	791.29
+C16H22ClN3O2	322.1328	706.5
+C16H11ClF6N2O	395.0391	741.93
+C10H11Cl1O3	213.0324	533.9
+C7H9NO2S	170.0281	363.59
+C12H7Cl3O2	286.9439	830.97
+C18H15Cl3O8	462.976	662.99
+C12H7Cl3O5S	366.9007	700.52
+C9H9N4Cl	207.0443	403.37
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/target_screen/out.tsv	Thu Sep 26 13:03:05 2024 +0000
@@ -0,0 +1,18 @@
+formula	mz	rt	sd1	sd2	area	mz_diff	rt_diff
+C8H6Cl2O3	218.9619738108278	473.4840709352675	0.6057217022739683	2.7706017478506073	1239147.63695882	0.00012618917219242576	1.1159290647325406
+C9H15N3O1	180.11422341297595	450.9460162486645	0.4692965104502825	4.727634916193644	1100073.3285644436	2.341297593488889e-05	7.2839837513355405
+C5H2Cl3N1O1	195.91267599889463	487.37949630118806	0.8695685392506757	2.8811688054510127	734461.0596300099	0.00022400110538001172	0.7205036988119673
+C13H10O3	213.05556658306853	508.4123751384482	2.9585968043814983	3.226731392934289	1787580.264815322	0.00013341693147594924	0.01237513844824889
+C13H9FO3	231.04576243564085	521.2436784813573	0.9930695671903609	2.469013097815558	1316270.081622402	0.0005375643591492008	0.23632151864273965
+C10H12N2O3S1	239.04945126090132	311.8317362000094	0.5578277726641567	3.57063615115722	3042462.634739455	0.0001487390986767423	0.7182637999906092
+C14H17Cl2NO2	300.0561299922103	685.3731548839577	0.8491884774374224	2.8491999009146074	1021277.4141378121	0.0002700077897088704	4.416845116042282
+C12H4Cl2F6N4OS	434.93037227267905	766.6610671335172	0.6265405149641161	3.55175113250731	43923382.478327975	0.0010277273209453597	1.198932866482778
+C12H4Cl2F6N4O2S	450.9259113906124	789.7479646306683	0.5765707513162325	3.4834377486718897	35843894.74749327	0.00038860938764173625	1.5420353693316429
+C16H22ClN3O2	322.13274143359513	705.9176130811956	0.765497607933695	2.9798451004946203	7686414.229962895	5.8566404845805664e-05	0.5823869188044455
+C16H11ClF6N2O	395.0387483584033	741.1840034426168	0.9150873601266857	2.396923077539685	692605.613740076	0.0003516415966942077	0.7459965573831369
+C10H11Cl1O3	213.03219616261535	532.8368925687558	0.8335128693984499	2.548404631638127	1231177.7029795102	0.00020383738464602175	1.0631074312441342
+C7H9NO2S	170.0280487596005	363.28514725405876	0.8844811055327363	2.7876246329523737	915161.3987675996	5.124039950032966e-05	0.3048527459412185
+C12H7Cl3O2	286.9434413572324	831.0018611928409	0.32058179843066653	1.7667251294853705	19934.364712896095	0.00045864276756901745	0.03186119284089273
+C18H15Cl3O8	462.97625391610677	662.6552310211961	0.9093786171678189	2.128435471267278	1209160.0005544876	0.00025391610677161225	0.3347689788039361
+C12H7Cl3O5S	366.90097256680355	699.9403505546061	0.8393755187990459	2.354260942300286	9578789.63215569	0.0002725668035736817	0.5796494453938976
+C9H9N4Cl	207.04420254367005	402.95120970553893	1.2647033563807812	2.594410018631832	40475158.16355405	9.74563299394049e-05	0.4187902944610755
Binary file test-data/target_screen/peaks.parquet has changed