Repository 'isolib'
hg clone https://toolshed.g2.bx.psu.edu/repos/recetox/isolib

Changeset 6:f0fe957df1cc (2025-06-12)
Previous changeset 5:964b4559eb1b (2025-05-15) Next changeset 7:06f2d0d6d107 (2025-07-01)
Commit message:
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/isolib commit 148c6b04fff1cedd890d33e98d4fd787026a8628
modified:
isolib.R
isolib.xml
added:
test-data/edge_case.tabular
test-data/test8.msp
b
diff -r 964b4559eb1b -r f0fe957df1cc isolib.R
--- a/isolib.R Thu May 15 16:42:56 2025 +0000
+++ b/isolib.R Thu Jun 12 09:17:20 2025 +0000
[
@@ -148,7 +148,7 @@
             # select all columns which describe the elemental composition
             # remove all 12C, 35Cl etc.
             # remove isotopes which don't occur
-            compositions <- as.data.frame(patterns[[i]][, -c(1, 2)]) |>
+            compositions <- as.data.frame(patterns[[i]][, -c(1, 2), drop = FALSE]) |>
                 dplyr::select(-tidyselect::any_of(monoisotopic$isotope)) |>
                 dplyr::select_if(~ !all(. == 0))
 
@@ -198,7 +198,11 @@
     if (append_isotopes) {
         result <- result |>
             dplyr::mutate(result,
-                full_formula = paste0(formula, " (", isotopes, ")")
+                full_formula = ifelse(
+                    is.na(isotopes) | isotopes == "",
+                    formula,
+                    paste0(formula, " (", isotopes, ")")
+                )
             ) |>
             dplyr::select(-all_of(c("formula", "isotopes"))) |>
             dplyr::rename(formula = full_formula) |>
b
diff -r 964b4559eb1b -r f0fe957df1cc isolib.xml
--- a/isolib.xml Thu May 15 16:42:56 2025 +0000
+++ b/isolib.xml Thu Jun 12 09:17:20 2025 +0000
[
@@ -1,4 +1,4 @@
-<tool id="isolib" name="isolib" version="2.6+galaxy1" profile="21.09">
+<tool id="isolib" name="isolib" version="2.6+galaxy2" profile="21.09">
     <description>create an isotopic pattern library for given compounds and adducts based on enviPat</description>
     <creator>
         <person
@@ -207,55 +207,72 @@
             </conditional>
             <output name="isotope_library" file="test7.msp"/>
         </test>
+        <!-- Test 9: Positive ionization mode with custom adducts -->
+        <test>
+            <param name="input_file" value="edge_case.tabular"/>
+            <conditional name="ionization">
+                <param name="ionization" value="positive"/>
+                <param name="adducts" value="M+H"/>
+            </conditional>
+            <conditional name="rel_to">
+                <param name="value" value="0"/>
+                <param name="threshold" value="10"/>
+            </conditional>
+            <output name="isotope_library" file="test8.msp"/>
+        </test>
     </tests>
     <help><![CDATA[
         This tool computes isotopic patterns for given compounds and adduct forms.
 
         The compound table input file should contain the following columns:
+
         - **name**: Compound name.
         - **formula**: Compound formula.
         - **rt** (optional): Retention time.
 
         The output is a spectral library in the MSP format.
 
-        ## Parameters:
+        Parameters:
 
-        ### **rel_to Modes**:
+        **rel_to Modes**:
+
         - **0**: Normalize to the most intense peak (threshold in percentage).
         - **1**: Normalize to the monoisotopic peak (threshold in percentage).
         - **2**: No normalization (threshold is an absolute probability).
         - **3**: Prune by percentage of most intense peak, output absolute intensities.
         - **4**: Prune by percentage of monoisotopic peak, output absolute intensities.
 
-        ### **Threshold Behavior**:
+        **Threshold Behavior**:
+
         The threshold's units and behavior change based on the selected **rel_to** mode. Use this to tailor output to your downstream needs.
 
-        #### **Threshold for Modes 0, 1, 3, 4 (Percentage of Peak Intensity)**:
+        **Threshold for Modes 0, 1, 3, 4 (Percentage of Peak Intensity)**:
+
         - The threshold is a **percentage** of the most intense or monoisotopic peak.
         - Example 1: To remove isotopes with a probability of less than 1% of the most intense peak, set the threshold to `1` and select **rel_to = 0**.
         - Example 2: To remove isotopes with a probability of less than 1% of the monoisotopic peak, set the threshold to `1` and select **rel_to = 1**.
         - Example 3: To remove isotopes with a probability of less than 1% of the most intense peak but output absolute intensities, set the threshold to `1` and select **rel_to = 3**.
         - Example 4: To remove isotopes with a probability of less than 1% of the monoisotopic peak but output absolute intensities, set the threshold to `1` and select **rel_to = 4**.
 
-        #### **Threshold for Mode 2 (Absolute Probability)**:
+        **Threshold for Mode 2 (Absolute Probability)**:
+
         - The threshold is an **absolute probability** (e.g., `0.01`, `0.0005`, etc.).
         - Example 1: To remove isotopes with a probability of less than `0.01`, set the threshold to `0.01` and select **rel_to = 2**.
         - **Important**: Be cautious with very small threshold values in **rel_to = 2**. If the threshold is too low (e.g., `0.0001`), it may prune almost all peaks, resulting in a sparse or empty output. Similarly, a threshold that is too high may result in no isotopes being removed.
         - Consider using threshold values like `0.01`, `0.1`, or `0.5` depending on your data.
 
-        ### **General Guidance**:
+        **General Guidance**:
+
         - **Threshold Selection**:
+
         - For **modes 0, 1, 3, and 4**: The threshold is **relative** to the most intense or monoisotopic peak, and a **percentage** threshold works well for most data sets.
         - For **mode 2**: The threshold is **absolute**, and users must be careful not to choose a value that’s too small or too large.
         
-        #### Example Scenarios:
+        Example Scenarios:
+
         1. **Scenario 1**: You have a dataset with peaks that vary significantly in intensity. You want to keep isotopes that are at least 1% of the most intense peak. Set the threshold to `1` and use **rel_to = 0** or **rel_to = 3**.
         2. **Scenario 2**: You want to remove isotopes with an absolute probability below `0.005` regardless of peak intensity. Set the threshold to `0.005` and use **rel_to = 2**.
 
-
-
-
-        @TOOL_VERSION@
     ]]></help>
     <citations>
         <citation type="doi">10.1021/acs.analchem.5b00941</citation>
b
diff -r 964b4559eb1b -r f0fe957df1cc test-data/edge_case.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/edge_case.tabular Thu Jun 12 09:17:20 2025 +0000
[
@@ -0,0 +1,176 @@
+name formula rt group
+Glyphosate C3H8NO5P QCmix+
+Chlormequat chloride C5H13NCl QCmix+
+(Aminomethyl)phosphonic acid CH6NO3P QCmix+
+alpha-Fluoro-beta-alanine C3H6NO2F QCmix+
+5-fluorouracil C4H3N2O2F QCmix+
+Gemcitabine C9H11N3O4F2 1.10 QCmix+
+Cyclophosphamide C7H15N2O2Cl2P 4.20 QCmix+
+Cytarabine C9H13N3O5 0.80 QCmix+
+Ifosfamide C7H15N2O2Cl2P 3.90 QCmix+
+Paraquat dichloride C12H14N2 QCmix+
+Acetaminophen sulfate C8H9NO5S 0.50 QCmix+
+Acetaminophen mercapturate C13H16N2O5S 2.30 QCmix+
+Resorcinol C6H6O2 QCmix+
+Caffeic acid 3-O-sulfate C9H8O7S QCmix+
+Omethoate C5H12NO4PS 1.30 QCmix+
+Malathion dicarboxylic Acid C6H11O6PS2 4.30 QCmix+
+4-Nitrophenol C6H5NO3 QCmix+
+2-(diethylamino)-6-methylpyrimidin-4-ol C9H15N3O 1.60 QCmix+
+"O,O-Dimethyldithiophosphate" C2H7O2PS2 4.30 QCmix+
+"1,3-Dichloro-2-propanol" C3H6OCl2 QCmix+
+Acetaminophen C8H9NO2 1.50 QCmix+
+Methylparaben C8H8O3 6.80 QCmix+
+Butylparaben C11H14O3 6.80 QCmix+
+Bentazone C10H12N2O3S QCmix+
+"2,4-Dihydroxybenzophenone" C13H10O3 7.20 QCmix+
+"2,6-Diethylaniline" C10H15N 5.10 QCmix+
+DEET C12H17NO 5.80 QCmix+
+"2,4-Dichlorophenol" C6H4OCl2 0.80 QCmix+
+3-Phenoxybenzoic acid C13H10O3 7.16 QCmix+
+"3,5,6-Trichloro-2-pyridinol" C5H2NOCl3 6.80 QCmix+
+Perfluorohexanesulfonic acid C6HO3F13S QCmix+
+"2,4-Dibromophenol" C6H4OBr2 QCmix+
+Bisphenol A C15H16O2 7.10 QCmix+
+Benzophenone C13H10O 7.20 QCmix+
+"Tris(1,3-dichloro-2-propyl) phosphate" C9H15O4Cl6P 7.40 QCmix+
+Ibuprofen C13H18O2 QCmix+
+Ipconazole C18H24N3OCl 7.60 QCmix+
+Chlorfenvinphos C12H14O4Cl3P 7.40 QCmix+
+Fipronil sulfone C12H4N4O2Cl2F6S 7.24 QCmix+
+"2,3,4,5-Tetrachlorophenol" C6H2OCl4 QCmix+
+"Tris(2,3-dibromopropyl) phosphate" C9H15O4Br6P QCmix+
+Mono-2-ethylhexyl phthalate C16H22O4 8.04 QCmix+
+Fipronil C12H4N4OCl2F6S 7.07 QCmix+
+Perfluorooctanesulfonic acid C8HO3F17S QCmix+
+"2,3,4,5-Tetrabromophenol" C6H2OBr4 QCmix+
+Perfluorooctanoic acid C8HO2F15 QCmix+
+Triclosan C12H7O2Cl3 5.65 QCmix+
+Perfluorononanoic acid C9HO2F17 QCmix+
+Paclitaxel C47H51NO14 8.00 QCmix+
+Acetaminophen glucuronide C14H17NO8 3.00 QCmix+
+Lidocaine C14H22N2O 1.70 QCmix+
+"Bis(1,3-dichloro-2-propyl) phosphate" C6H11O4Cl4P 6.30 QCmix+
+Irinotecan Hydrochloride Trihydrate C33H38N4O6 6.80 QCmix+
+5-Azacytidine C8H12N4O5 QCmix+
+Dacarbazine C6H10N6O 1.00 QCmix+
+"1,1,1,3,3,3-Hexafluoro-2-(fluoromethoxy)propane" C4H3OF7 QCmix+
+Tamoxifen Citrate C26H29NO 7.10 QCmix+
+Amoxicillin C16H19N3O5S 1.20 QCmix+
+Bisphenol S Bis-b-d-Glucuronide C24H26O16S QCmix+
+Pentafluoroethanesulfonic acid C2HO3F5S QCmix+
+Crotetamide C12H22N2O2 4.20 QCmix+
+Deoxynivalenol C15H20O6 2.20 QCmix+
+Cotinine C10H12N2O 1.00 QCmix+
+Hydroxycotinine C10H12N2O2 0.90 QCmix+
+Bisphenol A b-D-Glucuronide C21H24O8 QCmix+
+Fumonisin b1 C34H59NO15 6.00 QCmix+
+Vincristine C46H56N4O10 5.60 QCmix+
+alpha-Hexabromocyclododecane C12H18Br6 QCmix+
+Etoposide C29H32O13 7.30 QCmix+
+Methotrexate C20H22N8O5 3.30 QCmix+
+Aminopterin C19H20N8O5 2.60 QCmix+
+Bisphenol A sulfate C15H16O5S QCmix+
+Ciprofloxacin C17H18N3O3F 4.30 QCmix+
+Benzo[a]anthracene C18H12 QCmix+
+Dibutyl decanedioate C18H34O4 7.70 QCmix+
+Benzo[a]pyrene C20H12 QCmix+
+"Indeno[1,2,3-cd]pyrene" C22H12 QCmix+
+"2,2',4,4',5,5'-Hexachlorobiphenyl" C12H4Cl6 QCmix+
+Bis(2-ethylhexyl) terephthalate C24H38O4 8.00 QCmix+
+Bis(2-ethylhexyl) phthalate C24H38O4 8.04 QCmix+
+Tris(2-ethylhexyl) trimellitate C33H54O6 9.90 QCmix+
+Bis(2-ethylhexyl) tetrabromophthalate C24H34O4Br4 QCmix+
+Abamectin  C48H72O14 PM4+
+Acetamiprid  C10H11N4Cl 4.13 PM4+
+Ametryn  C9H17N5S 5.66 PM4+
+Amitraz  C19H23N3 7.97 PM4+
+Azoxystrobin  C22H17N3O5 7.51 PM4+
+Benalaxyl  C20H23NO3 7.60 PM4+
+Benzoximate  C18H18NO5Cl 7.68 PM4+
+Boscalid  C18H12N2OCl2 7.40 PM4+
+Butafenacil  C20H18N2O6ClF3 7.31 PM4+
+Carbetamide  C12H16N2O3 4.92 PM4+
+Carfentrazone ethyl  C15H14N3O3Cl2F3 7.43 PM4+
+Chlorantraniliprole  C18H14N5O2BrCl2 7.30 PM4+
+Clofentezine  C14H8N4Cl2 7.93 PM4+
+Cymoxanil  C7H10N4O3 3.61 PM4+
+Cyprodinil  C14H15N3 7.39 PM4+
+Cyromazine  C6H10N6 0.81 PM4+
+Dimoxystrobin  C19H22N2O3 7.58 PM4+
+Dinotefuran  C7H14N4O3 1.54 PM4+
+Doramectin  C50H74O14 PM4+
+Eprinomectin  C49H73NO14 PM4+
+Famoxadon  C22H18N2O4 PM4+
+Fenazaquin  C20H22N2O 9.68 PM4+
+Fenhexamid  C14H17NO2Cl2 7.28 PM4+
+Fenpyroximate  C24H27N3O4 8.51 PM4+
+Flonicamid  C9H6N3OF3 1.75 PM4+
+Fluazinam C13H4N4O4Cl2F6 PM4+
+Fludioxonil  C12H6N2O2F2 7.07 PM4+
+Fluoxastrobin  C21H16N4O5ClF 7.62 PM4+
+Flutolanil  C17H16NO2F3 7.01 PM4+
+Furalaxyl  C17H19NO4 7.04 PM4+
+Halofenozide  C18H19N2O2Cl 7.09 PM4+
+Imazalil  C14H14N2OCl2 5.14 PM4+
+Imidacloprid  C9H10N5O2Cl 3.88 PM4+
+Ivermectin  C48H74O14 PM4+
+Kresoxim methyl  C18H19NO4 7.60 PM4+
+Mandipropamid  C23H22NO4Cl 7.54 PM4+
+Mepanipyrim  C14H13N3 7.50 PM4+
+Mepronil  C17H19NO2 7.26 PM4+
+Metaflumizone  C24H16N4O2F6 7.64 PM4+
+Metalaxyl  C15H21NO4 6.64 PM4+
+Methoxyfenozide  C22H28N2O3 7.21 PM4+
+Moxidectin  C37H53NO8 8.67 PM4+
+Myclobutanil  C15H17N4Cl 7.08 PM4+
+Nitenpyram  C11H15N4O2Cl 1.69 PM4+
+Oxadixyl  C14H18N2O4 5.40 PM4+
+Picoxystrobin  C18H16NO4F3 7.33 PM4+
+Piperonyl butoxide  C19H30O5 PM4+
+Prochloraz  C15H16N3O2Cl3 7.67 PM4+
+Prometon  C10H19N5O 4.22 PM4+
+Pymetrozine  C10H11N5O 1.47 PM4+
+Pyracarbolid  C13H15NO2 5.83 PM4+
+Pyrimethanil  C12H13N3 6.88 PM4+
+Pyriproxyfen  C20H19NO3 8.01 PM4+
+Quinoxyfen  C15H8NOCl2F 8.34 PM4+
+Rotenone  C23H22O6 8.44 PM4+
+Secbumeton  C10H19N5O 4.22 PM4+
+Spiroxamine  C18H35NO2 5.76 PM4+
+Tebufenozide  C22H28N2O2 7.29 PM4+
+Tebufenpyrad  C18H24N3OCl 7.71 PM4+
+Terbumeton  C10H19N5O 4.22 PM4+
+Triadimefon  C14H16N3O2Cl 7.19 PM4+
+Trifloxystrobin  C20H19N2O4F3 7.58 PM4+
+Zoxamide  C14H16NO2Cl3 7.57 PM4+
+Acibenzolar-S-methyl  C8H6N2OS2 7.84 PM5+
+Bupirimate  C13H24N4O3S 7.10 PM5+
+Buprofezin  C16H23N3OS 7.55 PM5+
+Carboxin  C12H13NO2S 6.69 PM5+
+Clethodim  C17H26NO3ClS 7.81 PM5+
+Clothianidin  C6H8N5O2ClS 3.50 PM5+
+Cyazofamid  C13H13N4O2ClS 7.40 PM5+
+Ethiprole  C13H9N4OCl2F3S 6.87 PM5+
+Ethofumesate  C13H18O5S 6.95 PM5+
+Fenamidone  C17H17N3OS 7.28 PM5+
+Fipronil  C12H4N4OCl2F6S 7.08 PM5+
+Flubendiamide  C23H22N2O4F7IS 7.31 PM5+
+Flufenacet  C14H13N3O2F4S 7.14 PM5+
+Hexythiazox  C17H21N2O2ClS 8.01 PM5+
+Mefenacet  C16H14N2O2S 7.73 PM5+
+Mesotrione  C14H13NO7S PM5+
+Methoprotryne  C11H21N5OS 6.34 PM5+
+Metribuzin  C8H14N4OS 5.56 PM5+
+Prometryne  C10H19N5S 6.31 PM5+
+Propargite  C19H26O4S 7.69 PM5+
+Prothioconazole  C14H15N3OCl2S PM5+
+Pyridaben  C19H25N2OClS 8.08 PM5+
+Simetryn  C8H15N5S 4.97 PM5+
+Sulfentrazone  C11H10N4O3Cl2F2S 5.92 PM5+
+Terbutryn  C10H19N5S 6.31 PM5+
+Thiabendazole  C10H7N3S 3.30 PM5+
+Thiacloprid  C10H9N4ClS 5.32 PM5+
+Thiamethoxam  C8H10N5O3ClS 2.88 PM5+
+Thiofanox  C9H18N2O2S PM5+
+Tricyclazole  C9H7N3S PM5+
b
diff -r 964b4559eb1b -r f0fe957df1cc test-data/test8.msp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test8.msp Thu Jun 12 09:17:20 2025 +0000
[
b'@@ -0,0 +1,2126 @@\n+NAME: Glyphosate (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C3H8N1O5P1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 170.021284986\n+Num Peaks: 1\n+170.021285308091 100\n+\n+NAME: Chlormequat chloride (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C5H13N1Cl1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 123.080928096\n+Num Peaks: 2\n+123.080928588091 100\n+125.077978478091 31.9957761351637\n+\n+NAME: (Aminomethyl)phosphonic acid (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C1H6N1O3P1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 112.015805682\n+Num Peaks: 1\n+112.015806004091 100\n+\n+NAME: alpha-Fluoro-beta-alanine (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C3H6N1O2F1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 108.045532652\n+Num Peaks: 1\n+108.045533094091 100\n+\n+NAME: 5-fluorouracil (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C4H3N2O2F1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 131.025131556\n+Num Peaks: 1\n+131.025132008091 100\n+\n+NAME: Gemcitabine (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C9H11N3O4F2\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 264.079038272\n+retention_time: 1.1\n+Num Peaks: 1\n+264.079038714091 100\n+\n+NAME: Cyclophosphamide (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C7H15N2O2Cl2P1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 261.03209571\n+retention_time: 4.2\n+Num Peaks: 3\n+261.032096102091 100\n+263.029145992091 63.9915522703273\n+265.026195882091 10.2372969049151\n+\n+NAME: Cytarabine (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C9H13N3O5\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 244.092796516\n+retention_time: 0.8\n+Num Peaks: 1\n+244.092796998091 100\n+\n+NAME: Ifosfamide (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C7H15N2O2Cl2P1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 261.03209571\n+retention_time: 3.9\n+Num Peaks: 3\n+261.032096102091 100\n+263.029145992091 63.9915522703273\n+265.026195882091 10.2372969049151\n+\n+NAME: Paraquat dichloride (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C12H14N2\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 187.122974448\n+Num Peaks: 2\n+187.122974920091 100\n+188.126329760091 12.9788739512787\n+\n+NAME: Acetaminophen sulfate (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C8H9N1O5S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 232.027419388\n+retention_time: 0.5\n+Num Peaks: 1\n+232.027419580091 100\n+\n+NAME: Acetaminophen mercapturate (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C13H16N2O5S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 313.085268612\n+retention_time: 2.3\n+Num Peaks: 2\n+313.085268814091 100\n+314.088623654091 14.0604467805519\n+\n+NAME: Resorcinol (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C6H6O2\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 111.044055432\n+Num Peaks: 1\n+111.044055884091 100\n+\n+NAME: Caffeic acid 3-O-sulfate (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C9H8O7S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 261.006349596\n+Num Peaks: 1\n+261.006349778091 100\n+\n+NAME: Omethoate (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C5H12N1O4P1S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 214.029741494\n+retention_time: 1.3\n+Num Peaks: 1\n+214.029741546091 100\n+\n+NAME: Malathion dicarboxylic Acid (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C6H11O6P1S2\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 274.980742702\n+retention_time: 4.3\n+Num Peaks: 1\n+274.980742474091 100\n+\n+NAME: 4-Nitrophenol (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C6H5N1O3\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 140.03421902\n+Num Peaks: 1\n+140.034219482091 100\n+\n+NAME: 2-(diethylamino)-6-methylpyrimidin-4-ol (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C9H15N3O1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 182.1287881\n+retention_time: 1.6\n+Num Peaks: 1\n+182.128788582091 100\n+\n+NAME: O,O-Dimethyldithiophosp'..b'091 100\n+354.111857664091 18.3867380976448\n+355.105552714091 31.9957761351637\n+\n+NAME: Mefenacet (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C16H14N2O2S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 299.084874688\n+retention_time: 7.73\n+Num Peaks: 2\n+299.084874890091 100\n+300.088229730091 17.3051652683716\n+\n+NAME: Mesotrione (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C14H13N1O7S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 340.048548756\n+Num Peaks: 2\n+340.048548948091 100\n+341.051903788091 15.1420196098251\n+\n+NAME: Methoprotryne (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C11H21N5O1S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 272.153957292\n+retention_time: 6.34\n+Num Peaks: 2\n+272.153957524091 100\n+273.157312364091 11.8973011220055\n+\n+NAME: Metribuzin (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C8H14N4O1S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 215.096108068\n+retention_time: 5.56\n+Num Peaks: 1\n+215.096108290091 100\n+\n+NAME: Prometryne (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C10H19N5S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 242.143392608\n+retention_time: 6.31\n+Num Peaks: 2\n+242.143392840091 100\n+243.146747680091 10.8157282927322\n+\n+NAME: Propargite (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C19H26O4S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 351.162456312\n+retention_time: 7.69\n+Num Peaks: 2\n+351.162456494091 100\n+352.165811334091 20.5498837561912\n+\n+NAME: Prothioconazole (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C14H15N3O1Cl2S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 344.03856446\n+Num Peaks: 4\n+344.038564732091 100\n+345.041919572091 15.1420196098251\n+346.035614622091 63.9915522703273\n+348.032664512091 10.2372969049151\n+\n+NAME: Pyridaben (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C19H25N2O1Cl1S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 365.1448881\n+retention_time: 8.08\n+Num Peaks: 3\n+365.144888332091 100\n+366.148243172091 20.5498837561912\n+367.141938222091 31.9957761351637\n+\n+NAME: Simetryn (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C8H15N5S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 214.11209248\n+retention_time: 4.97\n+Num Peaks: 1\n+214.112092712091 100\n+\n+NAME: Sulfentrazone (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C11H10N4O3Cl2F2S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 386.98914898\n+retention_time: 5.92\n+Num Peaks: 4\n+386.989149222091 100\n+387.992504062091 11.8973011220055\n+388.986199112091 63.9915522703273\n+390.983249002091 10.2372969049151\n+\n+NAME: Terbutryn (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C10H19N5S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 242.143392608\n+retention_time: 6.31\n+Num Peaks: 2\n+242.143392840091 100\n+243.146747680091 10.8157282927322\n+\n+NAME: Thiabendazole (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C10H7N3S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 202.043344224\n+retention_time: 3.3\n+Num Peaks: 2\n+202.043344436091 100\n+203.046699276091 10.8157282927322\n+\n+NAME: Thiacloprid (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C10H9N4Cl1S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 253.030920968\n+retention_time: 5.32\n+Num Peaks: 3\n+253.030921220091 100\n+254.034276060091 10.8157282927322\n+255.027971110091 31.9957761351637\n+\n+NAME: Thiamethoxam (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C8H10N5O3Cl1S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 292.02656386\n+retention_time: 2.88\n+Num Peaks: 2\n+292.026564122091 100\n+294.023614012091 31.9957761351637\n+\n+NAME: Thiofanox (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C9H18N2O2S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 219.116174816\n+Num Peaks: 1\n+219.116175018091 100\n+\n+NAME: Tricyclazole (M+H)\n+msLevel: MS1\n+PRECURSORTYPE: [M+H]+\n+FORMULA: C9H7N3S1\n+charge: 1\n+ionization_mode: positive\n+precursor_mz: 190.043344224\n+Num Peaks: 1\n+190.043344436091 100\n+\n'