Repository 'ms2snoop'
hg clone https://toolshed.g2.bx.psu.edu/repos/workflow4metabolomics/ms2snoop

Changeset 6:77abacd33c31 (2022-09-30)
Previous changeset 5:78d5a12406c2 (2022-08-05) Next changeset 7:2a1f120a6874 (2023-01-10)
Commit message:
planemo upload commit 1f791337b9b8f08326c01bf4799f50493ef54f80
modified:
MS2snoop.R
MS2snoop.xml
README.md
macros.xml
test-data/compound_fragments_result.txt
test-data/smol/out-smol-base.tsv
test-data/smol/out-smol-delta-0.05mz.tsv
test-data/smol/out-smol-delta-8.542.tsv
b
diff -r 78d5a12406c2 -r 77abacd33c31 MS2snoop.R
--- a/MS2snoop.R Fri Aug 05 17:25:45 2022 +0000
+++ b/MS2snoop.R Fri Sep 30 16:18:56 2022 +0000
[
b'@@ -1,1236 +1,1233 @@\n-#\'\r\n-#\' read and process mspurity W4M files\r\n-#\' create a summary of fragment for each precursor and a graphics of peseudo\r\n-#\' spectra + correlation on which checking of fragment is based on\r\n-#\' V3 try to identify and process multiple files for 1 precursor which may\r\n-#\' occur if different collision energy are used\r\n-#\' V4 elimination of correlation = NA. Correlation is done with precursor, if\r\n-#\' precursor is not present correlation with most intense peak\r\n-#\' author: Jean-Francois Martin\r\n-#\' V5 is versionned, lintR-compliant, packaged, unit-tested, documented and\r\n-#\' tested against data from other labs.\r\n-#\' new maintainer: Lain Pavot - lain.pavot@inrae.fr\r\n-#\'\r\n-#\' @import optparse\r\n-#\'\r\n-\r\n-\r\n-get_version <- function() {\r\n-  cmd <- commandArgs(trailingOnly = FALSE)\r\n-  root <- dirname(gsub("--file=", "", cmd[grep("--file=", cmd)]))\r\n-  readme <- readLines(file.path(root, "README.md"))\r\n-  version_line <- readme[grepl(" * **@version**: ", readme, fixed = TRUE)]\r\n-  return(gsub(".*: ", "", version_line))\r\n-}\r\n-\r\n-defaults <- list(\r\n-  MS2SNOOP_VERSION = get_version(),\r\n-  MISSING_PARAMETER_ERROR = 1,\r\n-  BAD_PARAMETER_VALUE_ERROR = 2,\r\n-  MISSING_INPUT_FILE_ERROR = 3,\r\n-  NO_ANY_RESULT_ERROR = 255,\r\n-  DEFAULT_PRECURSOR_PATH = NULL,\r\n-  DEFAULT_FRAGMENTS_PATH = NULL,\r\n-  DEFAULT_COMPOUNDS_PATH = NULL,\r\n-  DEFAULT_OUTPUT_PATH = "compound_fragments_result.txt",\r\n-  DEFAULT_TOLMZ = 0.01,\r\n-  DEFAULT_TOLRT = 20,\r\n-  DEFAULT_MZDECIMAL = 3,\r\n-  DEFAULT_R_THRESHOLD = 0.85,\r\n-  DEFAULT_MINNUMBERSCAN = 8,\r\n-  DEFAULT_SEUIL_RA = 0.05,\r\n-  DEFAULT_FRAGMENTS_MATCH_DELTA = 10,\r\n-  DEFAULT_FRAGMENTS_MATCH_DELTA_UNIT = "ppm",\r\n-  DEFAULT_PDF_PATH = ""\r\n-)\r\n-env <- globalenv()\r\n-for (default in names(defaults)) {\r\n-  assign(default, defaults[[default]], envir = env)\r\n-  lockBinding(default, env)\r\n-}\r\n-\r\n-########################################################################\r\n-\r\n-get_formulas <- function(\r\n-  mzref,\r\n-  spectra,\r\n-  nominal_mz_list,\r\n-  processing_parameters,\r\n-  background = !TRUE\r\n-) {\r\n-  if (is.vector(mzref) && length(mzref) > 1) {\r\n-    return(lapply(\r\n-      mzref,\r\n-      function(mz) {\r\n-        return(get_formulas(\r\n-          mzref = mz,\r\n-          spectra = spectra,\r\n-          nominal_mz_list = nominal_mz_list,\r\n-          processing_parameters = processing_parameters,\r\n-          background = background\r\n-        ))\r\n-      }\r\n-    ))\r\n-  }\r\n-  input <- sprintf(\r\n-    "%s-%s.ms",\r\n-    gsub("[[:space:]]", "_", processing_parameters$c_name),\r\n-    mzref\r\n-  )\r\n-  create_ms_file(input, mzref, spectra, processing_parameters)\r\n-  output <- sprintf(\r\n-    "out/%s-%s.out",\r\n-    gsub("[[:space:]]", "_", processing_parameters$c_name),\r\n-    mzref\r\n-  )\r\n-  command <- sprintf(\r\n-    paste(\r\n-      "sirius",\r\n-      "--noCite",\r\n-      "--noSummaries",\r\n-      "--loglevel=WARNING",\r\n-      "-i=\'%s\'",\r\n-      "-o=\'%s\'",\r\n-      "tree",\r\n-      ## loglevel is not working taken into account during\r\n-      ## sirius startup, so we filter outputs...\r\n-      "2>&1 | grep \'^(WARNING|SEVERE)\'"\r\n-    ),\r\n-    input,\r\n-    output\r\n-  )\r\n-  verbose_catf(\r\n-    ">> Sirius is running %swith the command: %s\\n",\r\n-    if (background) "in the background " else "",\r\n-    command\r\n-  )\r\n-  system(\r\n-    command,\r\n-    wait = !background,\r\n-    ignore.stdout = background,\r\n-    ignore.stderr = background\r\n-  )\r\n-  return(extract_sirius_results(output, spectra$mz, processing_parameters))\r\n-}\r\n-\r\n-create_ms_file <- function(\r\n-  path,\r\n-  mzref,\r\n-  spectra,\r\n-  processing_parameters\r\n-) {\r\n-  file_content <- paste(\r\n-    sprintf(">compound %s", processing_parameters$c_name),\r\n-    sprintf(">ionization %s", processing_parameters$ionization),\r\n-    sprintf(">parentmass %s", mzref),\r\n-    sprintf(">formula %s", processing_parameters$elemcomposition),\r\n-    sep = "\\n"\r\n-  )\r\n-  displayed_file_content <- sprintf(\r\n-    "%s\\n>collision\\n%s",\r\n-    file_content,\r\n-    paste(\r\n-      sprintf(\r\n-        "%s %s",\r\n-   '..b'    file = path,\n+    sep = sep,\n+    header = header,\n+    quote = quote\n+  ))\n+}\n+\n+determine_csv_or_tsv_sep <- function(\n+  path,\n+  sep_stack = c("\\t", ",", ";"),\n+  header = TRUE,\n+  quote = "\\""\n+) {\n+  count <- -1\n+  best_sep <- sep_stack[1]\n+  for (sep in sep_stack) {\n+    tryCatch({\n+      table <- read.table(\n+        file = path,\n+        sep = sep,\n+        header = header,\n+        quote = quote,\n+        nrows = 1\n+      )\n+      if (ncol(table) > count) {\n+        count <- ncol(table)\n+        best_sep <- sep\n+      }\n+    })\n+  }\n+  return(best_sep)\n+}\n+\n+uniformize_columns <- function(df) {\n+  cols <- colnames(df)\n+  for (func in c(tolower)) {\n+    cols <- func(cols)\n+  }\n+  colnames(df) <- cols\n+  return(df)\n+}\n+\n+handle_galaxy_param <- function(args) {\n+  for (param in names(args)) {\n+    if (is.character(args[[param]])) {\n+      args[[param]] <- gsub("__ob__", "[", args[[param]])\n+      args[[param]] <- gsub("__cb__", "]", args[[param]])\n+    }\n+  }\n+  return(args)\n+}\n+\n+zip_pdfs <- function(processing_parameters) {\n+  if (processing_parameters$do_pdf) {\n+    if (zip <- Sys.getenv("R_ZIPCMD", "zip") == "") {\n+      catf("R could not fin the zip executable. Trying luck: zip = \\"zip\\"")\n+      zip <- "zip"\n+    } else {\n+      catf("Found zip executable at %s .", zip)\n+    }\n+    utils::zip(\n+      processing_parameters$pdf_zip_path,\n+      processing_parameters$pdf_path,\n+      zip = zip\n+    )\n+  }\n+}\n+\n+main <- function(args) {\n+  if (args$version) {\n+    catf("%s\\n", MS2SNOOP_VERSION)\n+    base::quit(status = 0)\n+  }\n+  if (in_galaxy_env()) {\n+    print(sessionInfo())\n+    cat("\\n\\n")\n+  }\n+  check_args_validity(args)\n+  args <- handle_galaxy_param(args)\n+  if (args$ionization == "None") {\n+    args$ionization <- NULL\n+  }\n+  if (args$debug) {\n+    set_debug()\n+  }\n+  if (args$verbose) {\n+    set_verbose()\n+  }\n+  precursors <- get_csv_or_tsv(args$precursors)\n+  fragments <- get_csv_or_tsv(args$fragments)\n+  compounds <- get_csv_or_tsv(args$compounds)\n+\n+  compounds <- uniformize_columns(compounds)\n+  mandatory_columns <- c(\n+    "compound_name",\n+    "mz",\n+    "rtsec",\n+    "inchikey"\n+  )\n+  presents <- mandatory_columns %in% colnames(compounds)\n+  if (!all(presents)) {\n+    stop_with_status(\n+      sprintf(\n+        "Some columns are missing: %s",\n+        paste(mandatory_columns[which(!presents)], collapse = ", ")\n+      ),\n+      BAD_PARAMETER_VALUE_ERROR\n+    )\n+  }\n+\n+  res_all <- data.frame()\n+  processing_parameters <- list(\n+    min_number_scan = args$min_number_scan,\n+    mzdecimal = args$mzdecimal,\n+    r_threshold = args$r_threshold,\n+    seuil_ra = args$seuil_ra,\n+    tolmz = args$tolmz,\n+    tolrt = args$tolrt,\n+    ionization = args$ionization,\n+    do_pdf = nchar(args$pdf_path) > 0,\n+    pdf_zip_path = args$pdf_path,\n+    pdf_path = tempdir(),\n+    fragment_match_delta = args$fragment_match_delta,\n+    fragment_match_delta_unit = args$fragment_match_delta_unit\n+  )\n+  for (i in seq_len(nrow(compounds))) {\n+    processing_parameters$mzref <- compounds[["mz"]][i]\n+    processing_parameters$rtref <- compounds[["rtsec"]][i]\n+    processing_parameters$c_name <- compounds[["compound_name"]][i]\n+    processing_parameters$inchikey <- compounds[["inchikey"]][i]\n+    processing_parameters$elemcomposition <- compounds[["elemcomposition"]][i]\n+    res_cor <- extract_fragments(\n+      precursors = precursors,\n+      fragments = fragments,\n+      processing_parameters = processing_parameters\n+    )\n+    if (!is.null(res_cor)) {\n+      res_all <- rbind(res_all, res_cor)\n+    }\n+  }\n+\n+  if (nrow(res_all) == 0) {\n+    stop_with_status("No result at all!", NO_ANY_RESULT_ERROR)\n+  }\n+\n+  write.table(\n+    x = res_all,\n+    file = args$output,\n+    sep = "\\t",\n+    row.names = FALSE\n+  )\n+  zip_pdfs(processing_parameters)\n+  unlink(processing_parameters$pdf_path, recursive = TRUE)\n+}\n+\n+global_debug <- FALSE\n+global_verbose <- FALSE\n+args <- optparse::parse_args(create_parser())\n+main(args)\n+\n+warnings()\n'
b
diff -r 78d5a12406c2 -r 77abacd33c31 MS2snoop.xml
--- a/MS2snoop.xml Fri Aug 05 17:25:45 2022 +0000
+++ b/MS2snoop.xml Fri Sep 30 16:18:56 2022 +0000
[
b'@@ -1,9 +1,4 @@\n-<tool\n-    id="ms2snoop"\n-    name="MS2 Snoop"\n-    version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"\n-    profile="21.09"\n->\n+<tool id="ms2snoop" name="MS2 Snoop" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09">\n     <description>\n         MS1/MS2 spectra and associated adducts extraction and cleaning\n     </description>\n@@ -33,11 +28,13 @@\n         <regex match="Error in\\s+.*:\\s+.*" />\n     </stdio>\n     <version_command>\n-        Rscript \'$__tool_directory__/MS2snoop.R\' --version | head -n 1\n+<![CDATA[\n+@COMMAND_RSCRIPT@ \'$__tool_directory__/MS2snoop.R\' --version | head -n 1\n+]]>\n     </version_command>\n     <command>\n-        <![CDATA[\n-Rscript \'$__tool_directory__/MS2snoop.R\'\n+<![CDATA[\n+@COMMAND_RSCRIPT@ \'$__tool_directory__/MS2snoop.R\'\n     --output \'$frag_result_txt\'\n     --compounds \'$compound_txt\'\n     --fragments \'$peaklist_frag_tsv\'\n@@ -54,77 +51,34 @@\n     $advenced.pdf\n     $advenced.debug\n     $advenced.verbose\n-        ]]>\n+]]>\n     </command>\n     <inputs>\n-        <param\n-            argument="--compound_txt"\n-            type="data"\n-            format="tabular,csv,tsv"\n+        <param argument="--compound_txt" type="data" format="tabular,csv,tsv"\n             label="list of compounds"\n-            help="\n-            The table must fit the format:\n-            compound_name [MANDATORY] ;\n-            inchikey [MANDATORY] ;\n-            elemcomposition [OPTIONAL] ;\n-            mz [MANDATORY] ;\n-            rtsec [MANDATORY].\n-            "\n+            help="The table must fit the format: compound_name, inchikey, [elemcomposition], mz, rtsec."\n         />\n-        <param\n-            argument="--peaklist_frag_tsv"\n-            type="data"\n-            format="tabular,csv,tsv"\n+        <param argument="--peaklist_frag_tsv" type="data" format="tabular,csv,tsv"\n             label="MSpurity fragments file"\n         />\n-        <param\n-            argument="--peaklist_preco_tsv"\n-            type="data"\n-            format="tabular,csv,tsv"\n+        <param argument="--peaklist_preco_tsv" type="data" format="tabular,csv,tsv"\n             label="MSpurity precursors file"\n         />\n-        <param\n-            argument="--tolmz"\n-            type="float"\n-            min="0.0001"\n-            max="10"\n-            value="0.01"\n+        <param argument="--tolmz" type="float" min="0.0001" max="10" value="0.01"\n             label="MZ Tolerence"\n             help="M/z tolerance to determine if a precursor matches a compound"\n         />\n-        <param\n-            argument="--tolrt"\n-            type="integer"\n-            min="0"\n-            max="30"\n-            value="20"\n+        <param argument="--tolrt" type="integer" min="0" max="30" value="20"\n             label="RT Tolerence (in seconds)"\n-            help="\n-                Retention time tolerance to determine if a\n-                precursor matches a compound\n-            "\n+            help="Retention time tolerance to determine if a precursor matches a compound"\n         />\n-        <param\n-            argument="--seuil_ra"\n-            type="float"\n-            min="0"\n-            max="1"\n-            value="0.05"\n+        <param argument="--seuil_ra" type="float" min="0" max="1" value="0.05"\n             label="R-Pearson correlation threshold used to filter fragments"\n         />\n-        <param\n-            argument="--mzdecimal"\n-            type="integer"\n-            min="0"\n-            max="5"\n-            value="0"\n+        <param argument="--mzdecimal" type="integer" min="0" max="5" value="3"\n             label="Number of decimal to output M/z values with"\n         />\n-        <param\n-            argument="--r_threshold"\n-            type="float"\n-            min="0"\n-            value="0.85"\n+        <param argument="--r_threshold" type="float" min="0" value="0.85"\n             label="\n                 Minimun correlation with absolute intensity value to reach\n                 for a fragment to be considered'..b'cursors.tsv" />\n             <param name="debug" value="--debug" />\n-            <output\n-                name="frag_result_txt"\n-                file="compound_fragments_result.txt"\n-            />\n+            <output name="frag_result_txt" file="compound_fragments_result.txt" />\n             <assert_stdout>\n                 <expand macro="has_smol_stdout"/>\n                 <expand macro="has_debug_stdout"/>\n@@ -319,24 +192,12 @@\n \n         <test>\n             <!-- Regular test with both verbose and debug outputs -->\n-            <param\n-                name="compound_txt"\n-                value="compounds_pos.txt"\n-            />\n-            <param\n-                name="peaklist_frag_tsv"\n-                value="peaklist_fragments.tsv"\n-            />\n-            <param\n-                name="peaklist_preco_tsv"\n-                value="peaklist_precursors.tsv"\n-            />\n+            <param name="compound_txt" value="compounds_pos.txt" />\n+            <param name="peaklist_frag_tsv" value="peaklist_fragments.tsv" />\n+            <param name="peaklist_preco_tsv" value="peaklist_precursors.tsv" />\n             <param name="debug" value="--debug" />\n             <param name="verbose" value="--verbose" />\n-            <output\n-                name="frag_result_txt"\n-                file="compound_fragments_result.txt"\n-            />\n+            <output name="frag_result_txt" file="compound_fragments_result.txt" />\n             <assert_stdout>\n                 <expand macro="has_smol_stdout"/>\n                 <expand macro="has_debug_stdout"/>\n@@ -349,23 +210,11 @@\n             This test mixes tsv, csv, and so, and ms2snoop is expected\n             handle them like usual.\n             -->\n-            <param\n-                name="compound_txt"\n-                value="compounds_pos.csv"\n-            />\n-            <param\n-                name="peaklist_frag_tsv"\n-                value="peaklist_fragments.tsv"\n-            />\n-            <param\n-                name="peaklist_preco_tsv"\n-                value="peaklist_precursors.csv"\n-            />\n+            <param name="compound_txt" value="compounds_pos.csv" />\n+            <param name="peaklist_frag_tsv" value="peaklist_fragments.tsv" />\n+            <param name="peaklist_preco_tsv" value="peaklist_precursors.csv" />\n             <param name="verbose" value="--verbose" />\n-            <output\n-                name="frag_result_txt"\n-                file="compound_fragments_result.txt"\n-            />\n+            <output name="frag_result_txt" file="compound_fragments_result.txt" />\n             <assert_stdout>\n                 <expand macro="has_regular_stdout"/>\n                 <expand macro="has_verbose_stdout"/>\n@@ -432,26 +281,17 @@\n             This test uses old format for molecules file.\n             Is is expected to fail\n             -->\n-            <param\n-                name="compound_txt"\n-                value="compounds_pos_old_format.txt"\n-            />\n-            <param\n-                name="peaklist_frag_tsv"\n-                value="peaklist_fragments.tsv"\n-            />\n-            <param\n-                name="peaklist_preco_tsv"\n-                value="peaklist_precursors.csv"\n-            />\n+            <param name="compound_txt" value="compounds_pos_old_format.txt" />\n+            <param name="peaklist_frag_tsv" value="peaklist_fragments.tsv" />\n+            <param name="peaklist_preco_tsv" value="peaklist_precursors.csv" />\n             <assert_stderr>\n                 <has_line line="Error: Some columns are missing: compound_name, rtsec, inchikey" />\n             </assert_stderr>\n         </test>\n \n     </tests>\n-    <help><![CDATA[\n-\n+    <help>\n+<![CDATA[\n @AUTHORS@\n \n ==============\n@@ -508,14 +348,9 @@\n | and fragment (Name + m/z + ret Time)         |   TSV,CSV  |\n +----------------------------------------------+------------+\n \n-\n @PARAMETERS@\n-\n-\n @OUTPUTS@\n-\n-\n @CHANGELOG@\n-\n-   ]]></help>\n+]]>\n+    </help>\n </tool>\n'
b
diff -r 78d5a12406c2 -r 77abacd33c31 README.md
--- a/README.md Fri Aug 05 17:25:45 2022 +0000
+++ b/README.md Fri Sep 30 16:18:56 2022 +0000
b
@@ -5,7 +5,7 @@
 -----------
 
  * **@name**: MS2 Snoop
- * **@version**: 2.1.0
+ * **@version**: 2.2.0
  * **@authors**: Jean François Martin (INRAE), Kevin Wagner (INRAE)
  * **@maintainers**: Lain Pavot (PFEM - INRAE - MetaboHUB)
  * **@init date**: 2022, April
b
diff -r 78d5a12406c2 -r 77abacd33c31 macros.xml
--- a/macros.xml Fri Aug 05 17:25:45 2022 +0000
+++ b/macros.xml Fri Sep 30 16:18:56 2022 +0000
[
b'@@ -1,18 +1,18 @@\n <macros>\n \n-  <token name="@AUTHORS@">\n+    <token name="@COMMAND_RSCRIPT@">LC_ALL=C Rscript</token>\n+\n+    <token name="@AUTHORS@">\n .. class:: infomark\n \n-**Authors** Jean-Francois Martin (jean-francois.martin@inrae.fr), Lain Pavot (lain.pavot@inrae.fr), Kevin Wagner (kevin.wagner@inrae.fr) \n+**Authors** Jean-Francois Martin (jean-francois.martin@inrae.fr), Kevin Wagner (kevin.wagner@inrae.fr), Lain Pavot (lain.pavot@inrae.fr)\n \n .. class:: infomark\n \n ---------------------------------------------------\n-\n-\n-  </token>\n-  <token name="@PARAMETERS@">\n-    <![CDATA[\n+    </token>\n+    <token name="@PARAMETERS@">\n+        <![CDATA[\n ----------\n Parameters\n ----------\n@@ -55,9 +55,9 @@\n   |   minNumberScan <- 8\n \n ]]>\n-  </token>\n-  <token name="@OUTPUTS@">\n-    <![CDATA[\n+    </token>\n+    <token name="@OUTPUTS@">\n+<![CDATA[\n ------------\n Output files\n ------------\n@@ -75,12 +75,16 @@\n     fragments. At the end the pdf file a graph of the spectra with\n     validated fragments.\n ]]>\n-  </token>\n-  <token name="@CHANGELOG@">\n+    </token>\n+    <token name="@CHANGELOG@">\n+<![CDATA[\n --------------\n Changelog/News\n --------------\n \n+2.2.0\n+  | Fix: Replace nominal values by real values in the M/z column of\n+    output files\n \n 2.1.0\n   | Adds support for sirius to match fragments with their formula\n@@ -122,7 +126,6 @@\n     input files.\n   | chore: add some tests in an external macro.xml file\n \n-\n 1.0.1\n   | Bug fix, new parameters and some improvement in the xml.\n   | fix: the program crashed when there were no result on the first\n@@ -132,105 +135,105 @@\n \n 1.0.0\n   | First version, published on the toolshed.\n-\n-  </token>\n+]]>\n+    </token>\n \n-  <token name="@TOOL_VERSION@">2.1.0</token>\n-  <token name="@VERSION_SUFFIX@">0</token>\n+    <token name="@TOOL_VERSION@">2.2.0</token>\n+    <token name="@VERSION_SUFFIX@">0</token>\n \n-  <xml name="has_smol_stdout">\n-    <has_line line="processing 2-diethylamino-6-methyl pyrimidin-4-ol one" />\n-  </xml>\n+    <xml name="has_smol_stdout">\n+        <has_line line="processing 2-diethylamino-6-methyl pyrimidin-4-ol one" />\n+    </xml>\n \n-  <xml name="has_regular_stdout">\n-    <has_line line="processing 2-diethylamino-6-methyl pyrimidin-4-ol one" />\n-    <has_line line="processing 5-hydroxy-thiabendazole" />\n-    <has_line line="processing acetamiprid-N-desmethyl" />\n-    <has_line line="processing Acetochlor" />\n-    <has_line line="processing Avermectin B1a (Abamectin)" />\n-    <has_line line="processing Benzophenone-3 (Oxybenzone)" />\n-    <has_line line="processing Butocarboxim" />\n-    <has_line line="processing Carbendazim" />\n-    <has_line line="processing Cefoperazone" />\n-    <has_line line="processing Chlorfenvinphos" />\n-    <has_line line="processing Chlormequat" />\n-    <has_line line="processing Desisopropylatrazine" />\n-    <has_line line="processing Dichlorvos" />\n-    <has_line line="processing Dimethyldithiophosphate" />\n-    <has_line line="processing Emamectin B1a" />\n-    <has_line line="processing Fluopyram" />\n-    <has_line line="processing Hydroxy-tebuconazole" />\n-    <has_line line="processing Isoproturon" />\n-    <has_line line="processing Ivermectin B1a " />\n-    <has_line line="processing Malathion dicarboxilic acid" />\n-    <has_line line="processing Methamidophos" />\n-    <has_line line="processing Metolachlor" />\n-    <has_line line="processing N,N-diethyl-m-toluamide ou DEET" />\n-    <has_line line="processing Nigericin" />\n-    <has_line line="processing Omethoate" />\n-    <has_line line="processing Prochloraz" />\n-    <has_line line="processing p-Toluenesulfonamide" />\n-    <has_line line="processing Rifaximin" />\n-    <has_line line="processing Spinosad A (Spinosyn A)" />\n-    <has_line line="processing TCMTB" />\n-    <has_line line="processing Trichlorfon (Dylox)" />\n-    <has_line line="processing Tylosin" />\n-    <has_line line="> non detected in precursor file" min="6" />\n-  </xml>\n+    <xml name="has_regular_stdout">\n+        <has_li'..b'226 227 228 230 232 233 234 235 236 238 239 240 242 243 244 245 246 247 248 249 250 251 252 254 255 256 258 259 260 261 263 264 265 266 268 272 273 274 275 276 278 280 282 286 287 288 289 291 292 293 294 296 297 298 299 300 301 302 303 304 308 309 310 312 314 315 316 317 318 320 322 326 328 330 331 332 333 334 337 338 340 341 342 343 344 345 346 347 348 352 353 354 358 359 360 361 362 367 375 376" />\n+        <has_line line=">> fragments: 86 90 91 94 99 100 101 106 111 112 113 114 116 126 128 129 130 131 134 136 138 139 140 141 142 143 144 146 152 154 155 156 157 158 168 170 172 173" />\n+        <has_line line=">> fragments: 219 221 223 225 226 227 229 230 231 233 234 242 243 249 250 251 253 255 265 269 270 271 275 276 279 280 285 286 287 289 291 292 297 301 303 305 307 308 312 313 315 316 318 319 329 332 333 334 344 345 346 347 348 349 357 360 361 362 363 365 366 372 373 376 377 378 385 386 387 388 389 390 394 395 397 398 399 400 401 403 404 408 409 411 412 414 418 419 427 438 439 440 441 442 443 444 445 447 448 454 455 456 457 458 464 466 467 469 478 479 480 482 483 484 486 487 494 495 496 498 501 502 504 505 506 508 509 511 512 513 514 515 516 518 524 525 526 529 531 534 536 537 538 539 540 542 543 546 550 551 552 553 554 555 559 561 564 567 570 571 572 581 582 584 585 586 591 592 593 596 597 598 601 602 604 606 607 609 611 612 613 614 615 617 618 619 621 622 623 624 625 626 627 628 632 636 638 639 640 641 642 643 644 645 646 648 649 650 651 652 653 654 655 656 657 658 659 661 663 665 666 667 669 670 671 672 673 674 675 676 677 678 679 680 682 684 685 686 688 689 690 691 692 694 695 696 698 699 700 701 702 703 704 706 708 709 710 712 713 714 716 718 719 720 722 724 725 726 727 728 729 730 731 732 733 735 736 737 739 740 741 742 743 744 745 747 748 750 751 752 753 754 755 756 758 760 765 766 768 769 770 771 773 774 775 776 777 778 780 784 786 787 788 796" />\n+        <has_line line=">> fragments: 230 233 241 243 255 260 261 266 267 269 285 295 301 309 310 318 321 326 327 332 339 345 362 371 372 373 375 377 395 400 406 408 411 412 416 418 424 425 439 440 446 449 452 457 459 468 473 474 482 486 489 490 491 494 499 500 501 503 506 507 508 509 510 511 514 516 519 522 523 525 538 539 541 543 545 546 551 552 556 557 560 564 565 568 570 572 573 580 582 584 585 586 588 590 592 600 602 604 606 607 608 609 612 615 618 623 624 628 636 637 638 639 641 642 643 647 649 650 652 655 659 663 670 671 672 673 674 679 680 682 683 684 685 686 688 690 691 692 693 696 699 700 701 702 705 706 707 709 711 712 714 715 716 717 718 723 724 726 728 729 730 731 732 733 738 742" />\n+        <has_line line=">> fragments: 75 81 89 91 93 95 97 99 105 106 107 109 110 111 113 115 119 121 123 125 127 129 133 135 136 137 139 141 149 151 153 155 156 157 158 159 161 163 164 165 166 167 168 169 171 173 175 177 179 180 181 183 185 189 191 193 194 195 196 197 198 203 205 206 207 209 211 212 218 219 221 222 223 225 227 229 238 239 240 241" />\n+        <has_line line=">> fragments: 69 72 75 80 81 83 86 89 91 93 94 95 96 97 98 99 100 103 104 105 107 109 110 111 113 114 115 116 117 118 119 121 122 123 124 125 127 128 129 131 132 133 134 135 136 137 138 139 140 141 142 143 145 146 147 149 150 151 152 153 154 155 157 158 159 160 161 163 164 165 166 167 168 169 170 171 173 175 177 178 179 180 181 182 183 185 187 189 191 192 193 194 195 196 197 198 199 201 202 203 204 205 206 207 208 209 211 212 213 214 217 218 219 221 222 223 224 225 227 229 230 231 237 239 240 241 247" />\n+        <has_line line=">> fragments: 77 79 81 82 83 85 88 89 91 92 93 95 96 97 99 101 103 105 106 107 108 109 110 111 113 114 115 117 118 119 121 125 127 129 131 133 135 137 138 139 140 141 142 143 145 147 148 149 153 154 155 156 159 161 163 165 167 169 171 172 173 174 175 177 178 179 181 183 184 185 186 187 191 193 195 196 197 198 199 200 201 203 205 209 211 212 213 214 215 219 221 222 224 225 226 227 228 229 236 239 240 241 243 248 256 257 258" />\n+    </xml>\n \n </macros>\n\\ No newline at end of file\n'
b
diff -r 78d5a12406c2 -r 77abacd33c31 test-data/compound_fragments_result.txt
--- a/test-data/compound_fragments_result.txt Fri Aug 05 17:25:45 2022 +0000
+++ b/test-data/compound_fragments_result.txt Fri Sep 30 16:18:56 2022 +0000
b
b'@@ -1,743 +1,743 @@\n "compoundName"\t"inchikey"\t"elemcomposition"\t"fragment"\t"fragment_mz"\t"ppm"\t"fileid"\t"CorWithPrecursor"\t"AbsoluteIntensity"\t"relativeIntensity"\t"corValid"\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t84\tNA\t"7"\t0.601436519480403\t406.383798606\t0.00344160476662782\tTRUE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t123\tNA\t"7"\t-0.167860259307508\t295.871994004\t0.00250569650751035\tFALSE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t126\tNA\t"7"\t0.907929868611774\t430.137959956\t0.00364277527394095\tTRUE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t137\tNA\t"7"\t0.676403388268515\t430.806630151\t0.00364843814371653\tTRUE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t146\tNA\t"7"\t-0.125051837812104\t538.358772757\t0.00455928145962519\tFALSE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t148\tNA\t"7"\t0.1558553290912\t143.310915941\t0.00121367912083162\tTRUE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t149\tNA\t"7"\t-0.276972713799663\t617.416199707\t0.00522880720932724\tFALSE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t150\tNA\t"7"\t-0.410733329402461\t5080.527405\t0.0430262411887723\tFALSE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t151\tNA\t"7"\t-0.243340932574313\t218.539256565\t0.00185077690023418\tFALSE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t154\tNA\t"7"\t0.991757449276389\t16836.882397703\t0.14258908675458\tTRUE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t164\tNA\t"7"\t0.146040591250743\t1829.10214243\t0.0154903976822645\tTRUE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t180\tNA\t"7"\t0.39213526382476\t209.753137589\t0.00177636854770712\tTRUE\n-"2-diethylamino-6-methyl pyrimidin-4-ol one"\tNA\tNA\tNA\t182\tNA\t"7"\t1\t118079.7407496\t1\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t132\tNA\t"1"\t0.710501933879621\t105.532976149\t6.84594522892331e-05\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t144\tNA\t"1"\t0.276479394498518\t203.085251814\t0.00013174180824369\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t146\tNA\t"1"\t0.604633971720309\t166.134730821\t0.000107771931516144\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t156\tNA\t"1"\t0.191791879044897\t459.381193152\t0.000298001496998986\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t158\tNA\t"1"\t-0.331971393756239\t13878.1056368\t0.00900275482959977\tFALSE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t160\tNA\t"1"\t0.77523958114776\t386.949028017\t0.000251014606889261\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t162\tNA\t"1"\t-0.476769537229124\t213.45186329\t0.000138466649801652\tFALSE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t172\tNA\t"1"\t0.593280623618274\t794.89456843\t0.000515649693282338\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t173\tNA\t"1"\t0.89953946593837\t207.738348006\t0.000134760281031794\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t174\tNA\t"1"\t0.150820546879602\t1525.52666664\t0.000989612193854381\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t175\tNA\t"1"\t0.646696639290413\t163.18886233\t0.000105860940745588\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t176\tNA\t"1"\t0.506660895270366\t1125.51529793\t0.000730124020482966\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t177\tNA\t"1"\t-0.349150043770229\t185.412219041\t0.000120277276605531\tFALSE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t186\tNA\t"1"\t-0.386785516946622\t13148.1585083\t0.00852923667024592\tFALSE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t188\tNA\t"1"\t-0.333885650073135\t540.530680192\t0.000350643331229711\tFALSE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t190\tNA\t"1"\t0.710817170481525\t358.462937357\t0.000232535623015143\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t191\tNA\t"1"\t0.943541098312933\t285.348824959\t0.000185106352354628\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t200\tNA\t"1"\t0.285023586376285\t2249.33108917\t0.00145914556758363\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t204\tNA\t"1"\t0.272327432166324\t220.729373931\t0.000143187585481591\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t218\tNA\t"1"\t1\t1541539.884122\t1\tTRUE\n-"5-hydroxy-thiabendazole"\tNA\tNA\tNA\t219\tNA\t"1"\t0.989745977797565\t55751.12976688\t0.0361658691683048\tTRUE\n-"acetamiprid-N-desmethyl"\tNA\tNA\tNA\t99\tNA\t"2"\t0.667400010170284\t282.404261107\t0.000748'..b'2\tFALSE\n+"TCMTB"\tNA\tNA\tNA\t175.052\tNA\t"9"\t-0.0313920946703947\t383.484092949\t0.00697254327282744\tFALSE\n+"TCMTB"\tNA\tNA\tNA\t177.075\tNA\t"9"\t0.41501815921315\t181.200629236\t0.00329460661248235\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t179.038\tNA\t"9"\t-0.313553092985572\t1750.86946875\t0.0318344707391953\tFALSE\n+"TCMTB"\tNA\tNA\tNA\t179.947\tNA\t"9"\t1\t54999.170022145\t1\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t181.007\tNA\t"9"\t0.302297168291448\t596.373793601\t0.010843323514898\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t183.01\tNA\t"9"\t0.298579746612432\t494.953159792\t0.0089992841636103\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t193.085\tNA\t"9"\t-0.221705058166404\t809.099626569\t0.0147111242995707\tFALSE\n+"TCMTB"\tNA\tNA\tNA\t195.062\tNA\t"9"\t0.292986177252399\t725.98131943\t0.0131998595458384\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t196.131\tNA\t"9"\t0.562805407922502\t133.296440371\t0.00242360821658453\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t197.056\tNA\t"9"\t0.223942590678324\t523.726283058\t0.00952243975403857\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t197.934\tNA\t"9"\t0.0775052332567154\t208.4981954115\t0.00379093348731535\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t203.096\tNA\t"9"\t-0.221096165550379\t459.324955954\t0.00835148886372388\tFALSE\n+"TCMTB"\tNA\tNA\tNA\t206.037\tNA\t"9"\t0.224708424475271\t152.820631021\t0.00277859885811855\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t206.968\tNA\t"9"\t0.0648459873610877\t3160.93913257\t0.0574724878811311\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t209.042\tNA\t"9"\t-0.436829860514424\t3198.85811233\t0.0581619342808629\tFALSE\n+"TCMTB"\tNA\tNA\tNA\t211.115\tNA\t"9"\t-0.280740026389369\t578.71673209\t0.0105222811881886\tFALSE\n+"TCMTB"\tNA\tNA\tNA\t211.964\tNA\t"9"\t0.883363605602239\t20718.67312981\t0.376708832541796\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t219.123\tNA\t"9"\t0.156834806955156\t123.263058663\t0.00224118034169187\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t221.079\tNA\t"9"\t-0.065589553913041\t2733.66568752\t0.0497037625553133\tFALSE\n+"TCMTB"\tNA\tNA\tNA\t223.1\tNA\t"9"\t0.160330819515189\t543.135544781\t0.0098753407471842\tTRUE\n+"TCMTB"\tNA\tNA\tNA\t225.046\tNA\t"9"\t-0.213427886842008\t381.507453195\t0.00693660382586481\tFALSE\n+"TCMTB"\tNA\tNA\tNA\t239.075\tNA\t"9"\t0.0824682602917446\t27067.5244917\t0.492144235645765\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t78.8\tNA\t"4"\t0.151257867874564\t279.873629576\t0.00690652095555926\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t108.91\tNA\t"4"\t0.959259374557172\t9640.82224867\t0.237909305675332\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t125.093\tNA\t"4"\t-0.504318115966813\t178.089407913\t0.00439476284199285\tFALSE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t126.982\tNA\t"4"\t0.717921604701925\t1076.07612804\t0.0265546358881489\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t139.993\tNA\t"4"\t0.278147849900483\t1970.98268515\t0.0486384988777101\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t144.957\tNA\t"4"\t0.85077548456359\t4235.84716059\t0.104529202066952\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t184.933\tNA\t"4"\t0.175270400314752\t348.909767164\t0.00861014530796692\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t187.018\tNA\t"4"\t-0.317527047384557\t107.324927324\t0.00264848767902871\tFALSE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t196.962\tNA\t"4"\t-0.0120243563814562\t2081.96281053\t0.0513771869161251\tFALSE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t199.081\tNA\t"4"\t0.511848259153306\t144.142693995\t0.00355705015215411\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t201.178\tNA\t"4"\t0.0484047608338802\t127.383673675\t0.00314348305328139\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t211.039\tNA\t"4"\t0.522207219270133\t156.726169586\t0.00386757614917167\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t212.979\tNA\t"4"\t0.251045877916677\t334.711538323\t0.00825977158690306\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t215.037\tNA\t"4"\t0.123612564840088\t412.352368363\t0.0101757363760497\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t220.939\tNA\t"4"\t1\t40523.0985871\t1\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t225.006\tNA\t"4"\t-0.418502449320938\t503.974612244\t0.012436724480996\tFALSE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t226.966\tNA\t"4"\t0.029974355651004\t177.141063216\t0.00437136027086513\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t228.998\tNA\t"4"\t0.686355561238603\t1013.548554406\t0.0250116252148756\tTRUE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t239.072\tNA\t"4"\t-0.223508651705819\t1313.5219316555\t0.0324141533459547\tFALSE\n+"Trichlorfon (Dylox)"\tNA\tNA\tNA\t257.008\tNA\t"4"\t0.950607639404665\t25290.7478033\t0.624106958379313\tTRUE\n'
b
diff -r 78d5a12406c2 -r 77abacd33c31 test-data/smol/out-smol-base.tsv
--- a/test-data/smol/out-smol-base.tsv Fri Aug 05 17:25:45 2022 +0000
+++ b/test-data/smol/out-smol-base.tsv Fri Sep 30 16:18:56 2022 +0000
b
@@ -1,20 +1,20 @@
 "compoundName" "inchikey" "elemcomposition" "fragment" "fragment_mz" "ppm" "fileid" "CorWithPrecursor" "AbsoluteIntensity" "relativeIntensity" "corValid"
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C13H8O4" "229" 2.02930325023702 "1" NA 203723.75 0.932156767504374 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA "312" NA "1" NA 3981.51538085938 0.0182177900573243 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA "313" NA "1" NA 7264.93603515625 0.0332413834452649 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C17H12O6" "367" -8.51110969664126 "1" NA 218550.953125 1 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C20H14O7" "451" -0.624494567969591 "1" NA 135964.078125 0.622116152690652 NA
-"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA "109" NA "1" NA 1663.78308105469 1 NA
-"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA "141" NA "1" NA 1119.27758789062 0.672730478291135 NA
-"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA "56" NA "1" NA 959.281677246094 0.00801122428782145 NA
-"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA "278" NA "1" NA 49810.07421875 0.415977585963074 NA
-"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" "C17H11NO3" "323" -0.610124713635454 "1" 1 119742.20703125 1 TRUE
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA "52" NA "1" NA 1706.40014648438 0.0178528316194543 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C5H6" "67" -3.38002342189334 "1" NA 1413.32275390625 0.0147865746503924 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA "122" NA "1" NA 40171.04296875 0.420280593374599 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C7H7NO" "135" -8.52289540743972 "1" NA 95581.484375 1 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA "233" NA "1" NA 17855.763671875 0.186811952007572 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "135" NA "1" NA 1388.24841308594 0.0111932237930481 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "177" NA "1" NA 1346.46130371094 0.0108563010474573 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "205" NA "1" NA 1612.63024902344 0.0130023784667138 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "217" NA "1" NA 124025.7890625 1 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C13H8O4" 229.05 2.02930325023702 "1" NA 203723.75 0.932156767504374 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA 312.059 NA "1" NA 3981.51538085938 0.0182177900573243 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA 313.068 NA "1" NA 7264.93603515625 0.0332413834452649 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C17H12O6" 367.081 -8.51110969664126 "1" NA 218550.953125 1 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C20H14O7" 451.115 -0.624494567969591 "1" NA 135964.078125 0.622116152690652 NA
+"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA 109.101 NA "1" NA 1663.78308105469 1 NA
+"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA 140.951 NA "1" NA 1119.27758789062 0.672730478291135 NA
+"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA 55.575 NA "1" NA 959.281677246094 0.00801122428782145 NA
+"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA 278.081 NA "1" NA 49810.07421875 0.415977585963074 NA
+"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" "C17H11NO3" 323.106 -0.610124713635454 "1" 1 119742.20703125 1 TRUE
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA 51.94 NA "1" NA 1706.40014648438 0.0178528316194543 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C5H6" 67.054 -3.38002342189334 "1" NA 1413.32275390625 0.0147865746503924 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA 122.059 NA "1" NA 40171.04296875 0.420280593374599 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C7H7NO" 135.117 -8.52289540743972 "1" NA 95581.484375 1 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA 232.845 NA "1" NA 17855.763671875 0.186811952007572 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 135.071 NA "1" NA 1388.24841308594 0.0111932237930481 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 177.092 NA "1" NA 1346.46130371094 0.0108563010474573 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 205.034 NA "1" NA 1612.63024902344 0.0130023784667138 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 217.015 NA "1" NA 124025.7890625 1 NA
b
diff -r 78d5a12406c2 -r 77abacd33c31 test-data/smol/out-smol-delta-0.05mz.tsv
--- a/test-data/smol/out-smol-delta-0.05mz.tsv Fri Aug 05 17:25:45 2022 +0000
+++ b/test-data/smol/out-smol-delta-0.05mz.tsv Fri Sep 30 16:18:56 2022 +0000
b
@@ -1,20 +1,20 @@
 "compoundName" "inchikey" "elemcomposition" "fragment" "fragment_mz" "ppm" "fileid" "CorWithPrecursor" "AbsoluteIntensity" "relativeIntensity" "corValid"
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C13H8O4" "229" 2.02930325023702 "1" NA 203723.75 0.932156767504374 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA "312" NA "1" NA 3981.51538085938 0.0182177900573243 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA "313" NA "1" NA 7264.93603515625 0.0332413834452649 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C17H12O6" "367" -8.51110969664126 "1" NA 218550.953125 1 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C20H14O7" "451" -0.624494567969591 "1" NA 135964.078125 0.622116152690652 NA
-"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA "109" NA "1" NA 1663.78308105469 1 NA
-"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA "141" NA "1" NA 1119.27758789062 0.672730478291135 NA
-"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA "56" NA "1" NA 959.281677246094 0.00801122428782145 NA
-"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA "278" NA "1" NA 49810.07421875 0.415977585963074 NA
-"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" "C17H11NO3" "323" -0.610124713635454 "1" 1 119742.20703125 1 TRUE
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA "52" NA "1" NA 1706.40014648438 0.0178528316194543 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C5H6" "67" -3.38002342189334 "1" NA 1413.32275390625 0.0147865746503924 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA "122" NA "1" NA 40171.04296875 0.420280593374599 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C7H7NO" "135" -8.52289540743972 "1" NA 95581.484375 1 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA "233" NA "1" NA 17855.763671875 0.186811952007572 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "135" NA "1" NA 1388.24841308594 0.0111932237930481 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "177" NA "1" NA 1346.46130371094 0.0108563010474573 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "205" NA "1" NA 1612.63024902344 0.0130023784667138 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" "C12H8O4" "217" NA "1" NA 124025.7890625 1 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C13H8O4" 229.05 2.02930325023702 "1" NA 203723.75 0.932156767504374 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA 312.059 NA "1" NA 3981.51538085938 0.0182177900573243 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA 313.068 NA "1" NA 7264.93603515625 0.0332413834452649 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C17H12O6" 367.081 -8.51110969664126 "1" NA 218550.953125 1 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C20H14O7" 451.115 -0.624494567969591 "1" NA 135964.078125 0.622116152690652 NA
+"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA 109.101 NA "1" NA 1663.78308105469 1 NA
+"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA 140.951 NA "1" NA 1119.27758789062 0.672730478291135 NA
+"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA 55.575 NA "1" NA 959.281677246094 0.00801122428782145 NA
+"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA 278.081 NA "1" NA 49810.07421875 0.415977585963074 NA
+"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" "C17H11NO3" 323.106 -0.610124713635454 "1" 1 119742.20703125 1 TRUE
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA 51.94 NA "1" NA 1706.40014648438 0.0178528316194543 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C5H6" 67.054 -3.38002342189334 "1" NA 1413.32275390625 0.0147865746503924 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA 122.059 NA "1" NA 40171.04296875 0.420280593374599 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C7H7NO" 135.117 -8.52289540743972 "1" NA 95581.484375 1 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA 232.845 NA "1" NA 17855.763671875 0.186811952007572 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 135.071 NA "1" NA 1388.24841308594 0.0111932237930481 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 177.092 NA "1" NA 1346.46130371094 0.0108563010474573 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 205.034 NA "1" NA 1612.63024902344 0.0130023784667138 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" "C12H8O4" 217.015 NA "1" NA 124025.7890625 1 NA
b
diff -r 78d5a12406c2 -r 77abacd33c31 test-data/smol/out-smol-delta-8.542.tsv
--- a/test-data/smol/out-smol-delta-8.542.tsv Fri Aug 05 17:25:45 2022 +0000
+++ b/test-data/smol/out-smol-delta-8.542.tsv Fri Sep 30 16:18:56 2022 +0000
b
@@ -1,20 +1,20 @@
 "compoundName" "inchikey" "elemcomposition" "fragment" "fragment_mz" "ppm" "fileid" "CorWithPrecursor" "AbsoluteIntensity" "relativeIntensity" "corValid"
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C13H8O4" "229" 2.02930325023702 "1" NA 203723.75 0.932156767504374 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA "312" NA "1" NA 3981.51538085938 0.0182177900573243 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA "313" NA "1" NA 7264.93603515625 0.0332413834452649 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C17H12O6" "367" -8.51110969664126 "1" NA 218550.953125 1 NA
-"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C20H14O7" "451" -0.624494567969591 "1" NA 135964.078125 0.622116152690652 NA
-"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA "109" NA "1" NA 1663.78308105469 1 NA
-"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA "141" NA "1" NA 1119.27758789062 0.672730478291135 NA
-"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA "56" NA "1" NA 959.281677246094 0.00801122428782145 NA
-"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA "278" NA "1" NA 49810.07421875 0.415977585963074 NA
-"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" "C17H11NO3" "323" -0.610124713635454 "1" 1 119742.20703125 1 TRUE
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA "52" NA "1" NA 1706.40014648438 0.0178528316194543 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C5H6" "67" -3.38002342189334 "1" NA 1413.32275390625 0.0147865746503924 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA "122" NA "1" NA 40171.04296875 0.420280593374599 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C7H7NO" "135" -8.52289540743972 "1" NA 95581.484375 1 NA
-"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA "233" NA "1" NA 17855.763671875 0.186811952007572 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "135" NA "1" NA 1388.24841308594 0.0111932237930481 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "177" NA "1" NA 1346.46130371094 0.0108563010474573 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "205" NA "1" NA 1612.63024902344 0.0130023784667138 NA
-"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA "217" NA "1" NA 124025.7890625 1 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C13H8O4" 229.05 2.02930325023702 "1" NA 203723.75 0.932156767504374 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA 312.059 NA "1" NA 3981.51538085938 0.0182177900573243 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" NA 313.068 NA "1" NA 7264.93603515625 0.0332413834452649 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C17H12O6" 367.081 -8.51110969664126 "1" NA 218550.953125 1 NA
+"Orientin" "PLAPMLGJVGLZOV-VPRICQMDSA-N" "C21H20O11" "C20H14O7" 451.115 -0.624494567969591 "1" NA 135964.078125 0.622116152690652 NA
+"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA 109.101 NA "1" NA 1663.78308105469 1 NA
+"Caffeic acid" "QAIPRVGONGVQAS-DUXPYHPUSA-N" "C9H8O4" NA 140.951 NA "1" NA 1119.27758789062 0.672730478291135 NA
+"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA 55.575 NA "1" NA 959.281677246094 0.00801122428782145 NA
+"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" NA 278.081 NA "1" NA 49810.07421875 0.415977585963074 NA
+"Berberine" "YBHILYKTIRIUTE-UHFFFAOYSA-N" "C20H18NO4+" "C17H11NO3" 323.106 -0.610124713635454 "1" 1 119742.20703125 1 TRUE
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA 51.94 NA "1" NA 1706.40014648438 0.0178528316194543 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C5H6" 67.054 -3.38002342189334 "1" NA 1413.32275390625 0.0147865746503924 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA 122.059 NA "1" NA 40171.04296875 0.420280593374599 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" "C7H7NO" 135.117 -8.52289540743972 "1" NA 95581.484375 1 NA
+"Theobromine " "YAPQBXQYLJRXSA-UHFFFAOYSA-N" "C7H8N4O2" NA 232.845 NA "1" NA 17855.763671875 0.186811952007572 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 135.071 NA "1" NA 1388.24841308594 0.0111932237930481 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 177.092 NA "1" NA 1346.46130371094 0.0108563010474573 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 205.034 NA "1" NA 1612.63024902344 0.0130023784667138 NA
+"Bergapten " "BGEBZHIAGXMEMV-UHFFFAOYSA-N" "C12H8O4" NA 217.015 NA "1" NA 124025.7890625 1 NA