diff AssayGeneratorMetabo.xml @ 6:f3ec820189ca draft default tip

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
author galaxyp
date Fri, 14 Jun 2024 21:29:08 +0000
parents 83f5e5c1209c
children
line wrap: on
line diff
--- a/AssayGeneratorMetabo.xml	Thu Dec 01 18:57:35 2022 +0000
+++ b/AssayGeneratorMetabo.xml	Fri Jun 14 21:29:08 2024 +0000
@@ -1,6 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
 <!--This is a configuration file for the integration of a tools into Galaxy (https://galaxyproject.org/). This file was automatically generated using CTDConverter.-->
-<!--Proposed Tool Section: [Utilities]-->
+<!--Proposed Tool Section: [Targeted Experiments and OpenSWATH]-->
 <tool id="AssayGeneratorMetabo" name="AssayGeneratorMetabo" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
   <description>Assay library generation from DDA data (Metabolomics)</description>
   <macros>
@@ -14,23 +13,19 @@
 #import re
 
 ## Preprocessing
-#if $sirius_executable:
-  mkdir sirius_executable &&
-  ln -s '$sirius_executable' 'sirius_executable/${re.sub("[^\w\-_]", "_", $sirius_executable.element_identifier)}.$gxy2omsext($sirius_executable.ext)' &&
-#end if
 mkdir in_cond.in &&
 #if $in_cond.in_select == "no"
 mkdir ${' '.join(["'in_cond.in/%s'" % (i) for i, f in enumerate($in_cond.in) if f])} && 
-${' '.join(["ln -s '%s' 'in_cond.in/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_cond.in) if f])}
+${' '.join(["cp '%s' 'in_cond.in/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_cond.in) if f])}
 #else
-ln -s '$in_cond.in' 'in_cond.in/${re.sub("[^\w\-_]", "_", $in_cond.in.element_identifier)}.$gxy2omsext($in_cond.in.ext)' &&
+cp '$in_cond.in' 'in_cond.in/${re.sub("[^\w\-_]", "_", $in_cond.in.element_identifier)}.$gxy2omsext($in_cond.in.ext)' &&
 #end if
 mkdir in_id_cond.in_id &&
 #if $in_id_cond.in_id_select == "no"
 mkdir ${' '.join(["'in_id_cond.in_id/%s'" % (i) for i, f in enumerate($in_id_cond.in_id) if f])} && 
-${' '.join(["ln -s '%s' 'in_id_cond.in_id/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_id_cond.in_id) if f])}
+${' '.join(["cp '%s' 'in_id_cond.in_id/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_id_cond.in_id) if f])}
 #else
-ln -s '$in_id_cond.in_id' 'in_id_cond.in_id/${re.sub("[^\w\-_]", "_", $in_id_cond.in_id.element_identifier)}.$gxy2omsext($in_id_cond.in_id.ext)' &&
+cp '$in_id_cond.in_id' 'in_id_cond.in_id/${re.sub("[^\w\-_]", "_", $in_id_cond.in_id.element_identifier)}.$gxy2omsext($in_id_cond.in_id.ext)' &&
 #end if
 mkdir out &&
 
@@ -40,10 +35,6 @@
 @EXECUTABLE@ -write_ctd ./ &&
 python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
 @EXECUTABLE@ -ini @EXECUTABLE@.ctd
-#if $sirius_executable:
-  -sirius_executable
-  'sirius_executable/${re.sub("[^\w\-_]", "_", $sirius_executable.element_identifier)}.$gxy2omsext($sirius_executable.ext)'
-#end if
 -in
 #if $in_cond.in_select == "no"
 ${' '.join(["'in_cond.in/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_cond.in) if f])}
@@ -66,20 +57,19 @@
 #end if]]></command>
   <configfiles>
     <inputs name="args_json" data_style="paths"/>
-    <configfile name="hardcoded_json"><![CDATA[{"out_workspace_directory": "__SIRIUS_WORKSPACE__", "log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
+    <configfile name="hardcoded_json"><![CDATA[{"sirius_executable": "\$(which sirius)", "out_workspace_directory": "__SIRIUS_WORKSPACE__", "log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
   </configfiles>
   <inputs>
-    <param argument="-sirius_executable" type="data" format="txt" optional="true" label="The Sirius executable" help="Provide a full or relative path, or make sure it can be found in your PATH environment select txt data sets(s)"/>
     <conditional name="in_cond">
       <param name="in_select" type="select" label="Run tool in batch mode for -in">
         <option value="no">No: process all datasets jointly</option>
         <option value="yes">Yes: process each dataset in an independent job</option>
       </param>
       <when value="no">
-        <param argument="-in" type="data" format="mzml" multiple="true" optional="false" label="MzML input file(s) used for assay library generation" help=" select mzml data sets(s)"/>
+        <param argument="-in" type="data" format="mzml" multiple="true" label="MzML input file(s) used for assay library generation" help=" select mzml data sets(s)"/>
       </when>
       <when value="yes">
-        <param argument="-in" type="data" format="mzml" multiple="false" optional="false" label="MzML input file(s) used for assay library generation" help=" select mzml data sets(s)"/>
+        <param argument="-in" type="data" format="mzml" label="MzML input file(s) used for assay library generation" help=" select mzml data sets(s)"/>
       </when>
     </conditional>
     <conditional name="in_id_cond">
@@ -88,139 +78,146 @@
         <option value="yes">Yes: process each dataset in an independent job</option>
       </param>
       <when value="no">
-        <param argument="-in_id" type="data" format="featurexml" multiple="true" optional="false" label="FeatureXML input file(s) containing identification information" help="(e.g. AccurateMassSearch) select featurexml data sets(s)"/>
+        <param argument="-in_id" type="data" format="featurexml" multiple="true" label="FeatureXML input file(s) containing identification information" help="(e.g. AccurateMassSearch) select featurexml data sets(s)"/>
       </when>
       <when value="yes">
-        <param argument="-in_id" type="data" format="featurexml" multiple="false" optional="false" label="FeatureXML input file(s) containing identification information" help="(e.g. AccurateMassSearch) select featurexml data sets(s)"/>
+        <param argument="-in_id" type="data" format="featurexml" label="FeatureXML input file(s) containing identification information" help="(e.g. AccurateMassSearch) select featurexml data sets(s)"/>
       </when>
     </conditional>
-    <param name="out_type" type="select" optional="false" label="File type of output out (Assay library output file)">
+    <param name="out_type" type="select" label="File type of output out (Assay library output file)">
       <option value="tsv">tabular (tsv)</option>
       <option value="traML">traml</option>
       <option value="pqp">pqp</option>
     </param>
-    <param argument="-fragment_annotation" type="select" optional="true" label="Fragment annotation method" help="">
+    <param argument="-fragment_annotation" type="select" label="Fragment annotation method" help="">
       <option value="none">none</option>
       <option value="sirius" selected="true">sirius</option>
       <expand macro="list_string_san" name="fragment_annotation"/>
     </param>
-    <param argument="-ambiguity_resolution_mz_tolerance" type="float" optional="true" value="10.0" label="Mz tolerance for the resolution of identification ambiguity over multiple files" help=""/>
-    <param argument="-ambiguity_resolution_rt_tolerance" type="float" optional="true" value="10.0" label="RT tolerance in seconds for the resolution of identification ambiguity over multiple files" help=""/>
-    <param argument="-total_occurrence_filter" type="float" optional="true" min="0.0" max="1.0" value="0.1" label="Filter compound based on total occurrence in analysed samples" help=""/>
-    <param argument="-fragment_annotation_score_threshold" type="float" optional="true" min="0.0" max="1.0" value="0.8" label="Filters annotations based on the explained intensity of the peaks in a spectrum" help=""/>
+    <param argument="-ambiguity_resolution_mz_tolerance" type="float" value="10.0" label="Mz tolerance for the resolution of identification ambiguity over multiple files" help=""/>
+    <param argument="-ambiguity_resolution_rt_tolerance" type="float" value="10.0" label="RT tolerance in seconds for the resolution of identification ambiguity over multiple files" help=""/>
+    <param argument="-total_occurrence_filter" type="float" min="0.0" max="1.0" value="0.1" label="Filter compound based on total occurrence in analysed samples" help=""/>
+    <param argument="-fragment_annotation_score_threshold" type="float" min="0.0" max="1.0" value="0.8" label="Filters annotations based on the explained intensity of the peaks in a spectrum" help=""/>
     <param argument="-decoy_generation" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Decoys will be generated using the fragmentation tree re-rooting approach" help="This option does only work in combination with the fragment annotation via Sirius"/>
-    <param argument="-decoy_generation_method" type="select" optional="true" label="Uses different methods for decoy generation" help="Basis for the method is the fragmentation-tree re-rooting approach ('original'). This approach can be extended by using 'resolve_overlap', which will resolve overlapping fragments of the highest intensity fragments chosen, by adding -CH2 mass to the overlapping fragments. 'Add_shift' will add a -CH2 mass shift to the target fragments and use them as additional decoys if fragmentation-tree re-rooting failed. 'Both' combines the extended methods (resolve_overlap, add_shift)">
+    <param argument="-decoy_generation_method" type="select" label="Uses different methods for decoy generation" help="Basis for the method is the fragmentation-tree re-rooting approach ('original'). This approach can be extended by using 'resolve_overlap', which will resolve overlapping fragments of the highest intensity fragments chosen, by adding -CH2 mass to the overlapping fragments. 'Add_shift' will add a -CH2 mass shift to the target fragments and use them as additional decoys if fragmentation-tree re-rooting failed. 'Both' combines the extended methods (resolve_overlap, add_shift)">
       <option value="original" selected="true">original</option>
       <option value="resolve_overlap">resolve_overlap</option>
       <option value="add_shift">add_shift</option>
       <option value="both">both</option>
       <expand macro="list_string_san" name="decoy_generation_method"/>
     </param>
-    <param argument="-method" type="select" optional="true" label="Spectrum with the highest precursor intensity or a consensus spectrum is used for assay library construction (if no fragment annotation is used)" help="">
+    <param argument="-method" type="select" label="Spectrum with the highest precursor intensity or a consensus spectrum is used for assay library construction (if no fragment annotation is used)" help="">
       <option value="highest_intensity" selected="true">highest_intensity</option>
       <option value="consensus_spectrum">consensus_spectrum</option>
       <expand macro="list_string_san" name="method"/>
     </param>
     <param argument="-use_exact_mass" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use exact mass for precursor and fragment annotations" help=""/>
     <param argument="-exclude_ms2_precursor" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Excludes precursor in ms2 from transition list" help=""/>
-    <param argument="-precursor_mz_distance" type="float" optional="true" value="0.0001" label="Max m/z distance of the precursor entries of two spectra to be merged in [Da]" help=""/>
-    <param argument="-consensus_spectrum_precursor_rt_tolerance" type="float" optional="true" value="5.0" label="Tolerance window (left and right) for precursor selection [seconds], for consensus spectrum generation (only available without fragment annotation)" help=""/>
+    <param argument="-precursor_mz_distance" type="float" value="0.0001" label="Max m/z distance of the precursor entries of two spectra to be merged in [Da]" help=""/>
+    <param argument="-consensus_spectrum_precursor_rt_tolerance" type="float" value="5.0" label="Tolerance window (left and right) for precursor selection [seconds], for consensus spectrum generation (only available without fragment annotation)" help=""/>
     <param argument="-use_known_unknowns" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use features without identification information" help=""/>
-    <param argument="-min_transitions" type="integer" optional="true" value="3" label="Minimal number of transitions" help=""/>
-    <param argument="-max_transitions" type="integer" optional="true" value="6" label="Maximal number of transitions" help=""/>
-    <param argument="-cosine_similarity_threshold" type="float" optional="true" value="0.98" label="Threshold for cosine similarity of MS2 spectra from the same precursor used in consensus spectrum creation" help=""/>
-    <param argument="-transition_threshold" type="float" optional="true" value="5.0" label="Further transitions need at least x% of the maximum intensity (default 5%)" help=""/>
+    <param argument="-min_transitions" type="integer" value="3" label="Minimal number of transitions" help=""/>
+    <param argument="-max_transitions" type="integer" value="6" label="Maximal number of transitions" help=""/>
+    <param argument="-cosine_similarity_threshold" type="float" value="0.98" label="Threshold for cosine similarity of MS2 spectra from the same precursor used in consensus spectrum creation" help=""/>
+    <param argument="-transition_threshold" type="float" value="5.0" label="Further transitions need at least x% of the maximum intensity (default 5%)" help=""/>
     <section name="deisotoping" title="deisotoping" help="" expanded="false">
       <param name="use_deisotoper" argument="-deisotoping:use_deisotoper" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use Deisotoper (if no fragment annotation is used)" help=""/>
-      <param name="fragment_tolerance" argument="-deisotoping:fragment_tolerance" type="float" optional="true" value="1.0" label="Tolerance used to match isotopic peaks" help=""/>
-      <param name="fragment_unit" argument="-deisotoping:fragment_unit" type="select" optional="true" label="Unit of the fragment tolerance" help="">
+      <param name="fragment_tolerance" argument="-deisotoping:fragment_tolerance" type="float" value="1.0" label="Tolerance used to match isotopic peaks" help=""/>
+      <param name="fragment_unit" argument="-deisotoping:fragment_unit" type="select" label="Unit of the fragment tolerance" help="">
         <option value="ppm" selected="true">ppm</option>
         <option value="Da">Da</option>
         <expand macro="list_string_san" name="fragment_unit"/>
       </param>
-      <param name="min_charge" argument="-deisotoping:min_charge" type="integer" optional="true" min="1" value="1" label="The minimum charge considered" help=""/>
-      <param name="max_charge" argument="-deisotoping:max_charge" type="integer" optional="true" min="1" value="1" label="The maximum charge considered" help=""/>
-      <param name="min_isopeaks" argument="-deisotoping:min_isopeaks" type="integer" optional="true" min="2" value="2" label="The minimum number of isotopic peaks (at least 2) required for an isotopic cluste" help=""/>
-      <param name="max_isopeaks" argument="-deisotoping:max_isopeaks" type="integer" optional="true" min="3" value="3" label="The maximum number of isotopic peaks (at least 2) considered for an isotopic cluste" help=""/>
+      <param name="min_charge" argument="-deisotoping:min_charge" type="integer" min="1" value="1" label="The minimum charge considered" help=""/>
+      <param name="max_charge" argument="-deisotoping:max_charge" type="integer" min="1" value="1" label="The maximum charge considered" help=""/>
+      <param name="min_isopeaks" argument="-deisotoping:min_isopeaks" type="integer" min="2" value="2" label="The minimum number of isotopic peaks (at least 2) required for an isotopic cluste" help=""/>
+      <param name="max_isopeaks" argument="-deisotoping:max_isopeaks" type="integer" min="3" value="3" label="The maximum number of isotopic peaks (at least 2) considered for an isotopic cluste" help=""/>
       <param name="keep_only_deisotoped" argument="-deisotoping:keep_only_deisotoped" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Only monoisotopic peaks of fragments with isotopic pattern are retained" help=""/>
       <param name="annotate_charge" argument="-deisotoping:annotate_charge" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Annotate the charge to the peaks" help=""/>
     </section>
     <section name="preprocessing" title="" help="" expanded="false">
-      <param name="filter_by_num_masstraces" argument="-preprocessing:filter_by_num_masstraces" type="integer" optional="true" min="1" value="1" label="Number of mass traces each feature has to have to be included" help="To use this parameter, setting the feature_only flag is necessary"/>
-      <param name="precursor_mz_tolerance" argument="-preprocessing:precursor_mz_tolerance" type="float" optional="true" value="10.0" label="Tolerance window for precursor selection (Feature selection in regard to the precursor)" help=""/>
-      <param name="precursor_mz_tolerance_unit" argument="-preprocessing:precursor_mz_tolerance_unit" type="select" optional="true" label="Unit of the precursor_mz_tolerance" help="">
+      <param name="filter_by_num_masstraces" argument="-preprocessing:filter_by_num_masstraces" type="integer" min="1" value="1" label="Number of mass traces each feature has to have to be included" help="To use this parameter, setting the feature_only flag is necessary"/>
+      <param name="precursor_mz_tolerance" argument="-preprocessing:precursor_mz_tolerance" type="float" value="10.0" label="Tolerance window for precursor selection (Feature selection in regard to the precursor)" help=""/>
+      <param name="precursor_mz_tolerance_unit" argument="-preprocessing:precursor_mz_tolerance_unit" type="select" label="Unit of the precursor_mz_tolerance" help="">
         <option value="Da">Da</option>
         <option value="ppm" selected="true">ppm</option>
         <expand macro="list_string_san" name="precursor_mz_tolerance_unit"/>
       </param>
-      <param name="precursor_rt_tolerance" argument="-preprocessing:precursor_rt_tolerance" type="float" optional="true" value="5.0" label="Tolerance window (left and right) for precursor selection [seconds]" help=""/>
-      <param name="isotope_pattern_iterations" argument="-preprocessing:isotope_pattern_iterations" type="integer" optional="true" value="3" label="Number of iterations that should be performed to extract the C13 isotope pattern" help="If no peak is found (C13 distance) the function will abort. Be careful with noisy data - since this can lead to wrong isotope patterns"/>
+      <param name="precursor_rt_tolerance" argument="-preprocessing:precursor_rt_tolerance" type="float" value="5.0" label="Tolerance window (left and right) for precursor selection [seconds]" help=""/>
+      <param name="isotope_pattern_iterations" argument="-preprocessing:isotope_pattern_iterations" type="integer" value="3" label="Number of iterations that should be performed to extract the C13 isotope pattern" help="If no peak is found (C13 distance) the function will abort. Be careful with noisy data - since this can lead to wrong isotope patterns"/>
       <param name="feature_only" argument="-preprocessing:feature_only" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Uses the feature information from in_featureinfo to reduce the search space to MS2 associated with a feature" help=""/>
       <param name="no_masstrace_info_isotope_pattern" argument="-preprocessing:no_masstrace_info_isotope_pattern" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use this flag if the masstrace information from a feature should be discarded and the isotope_pattern_iterations should be used instead" help=""/>
     </section>
     <section name="project" title="" help="" expanded="false">
-      <param name="processors" argument="-project:processors" type="integer" optional="true" value="1" label="Number of cpu cores to use" help="If not specified SIRIUS uses all available cores"/>
+      <param name="maxmz" argument="-project:maxmz" type="integer" value="-1" label="Just consider compounds with a precursor mz lower or equal" help="this maximum mz. All other compounds in the input file. are ignored"/>
+      <param name="processors" argument="-project:processors" type="integer" value="1" label="Number of cpu cores to use" help="If not specified SIRIUS uses all available cores"/>
+      <param name="loglevel" argument="-project:loglevel" type="text" optional="true" value="" label="Set logging level of the Jobs SIRIUS will execute" help="Valid values: SEVERE, WARNING, INFO, FINER, ALL. Default: WARNING">
+        <expand macro="list_string_san" name="loglevel"/>
+      </param>
       <param name="ignore_formula" argument="-project:ignore_formula" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Ignore given molecular formula in internal .ms format, while processing" help=""/>
       <param name="q" argument="-project:q" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Suppress shell output" help=""/>
     </section>
     <section name="sirius" title="" help="" expanded="false">
-      <param name="ppm_max" argument="-sirius:ppm_max" type="float" optional="true" value="10.0" label="Maximum allowed mass deviation in ppm for decomposing masses [ppm]" help=""/>
-      <param name="ppm_max_ms2" argument="-sirius:ppm_max_ms2" type="float" optional="true" value="10.0" label="Maximum allowed mass deviation in ppm for decomposing masses in MS2 [ppm].If not specified, the same value as for the MS1 is used" help=""/>
-      <param name="tree_timeout" argument="-sirius:tree_timeout" type="integer" optional="true" min="0" value="0" label="Time out in seconds per fragmentation tree computations" help="0 for an infinite amount of time"/>
-      <param name="compound_timeout" argument="-sirius:compound_timeout" type="integer" optional="true" min="0" value="100" label="Maximal computation time in seconds for a single compound" help="0 for an infinite amount of time"/>
+      <param name="ppm_max" argument="-sirius:ppm_max" type="float" value="10.0" label="Maximum allowed mass deviation in ppm for decomposing masses [ppm]" help=""/>
+      <param name="ppm_max_ms2" argument="-sirius:ppm_max_ms2" type="float" value="10.0" label="Maximum allowed mass deviation in ppm for decomposing masses in MS2 [ppm].If not specified, the same value as for the MS1 is used" help=""/>
+      <param name="tree_timeout" argument="-sirius:tree_timeout" type="integer" min="0" value="100" label="Time out in seconds per fragmentation tree computations" help="0 for an infinite amount of time"/>
+      <param name="compound_timeout" argument="-sirius:compound_timeout" type="integer" min="0" value="100" label="Maximal computation time in seconds for a single compound" help="0 for an infinite amount of time"/>
       <param name="no_recalibration" argument="-sirius:no_recalibration" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Disable recalibration of input spectra" help=""/>
-      <param name="profile" argument="-sirius:profile" type="select" optional="true" label="Name of the configuration profile" help="">
-        <option value="default">default</option>
-        <option value="qtof" selected="true">qtof</option>
+      <param name="profile" argument="-sirius:profile" type="select" label="Name of the configuration profile" help="">
+        <option value="default" selected="true">default</option>
+        <option value="qtof">qtof</option>
         <option value="orbitrap">orbitrap</option>
         <option value="fticr">fticr</option>
         <expand macro="list_string_san" name="profile"/>
       </param>
-      <param name="formula" argument="-sirius:formula" type="text" optional="true" value="" label="Specify the neutral molecular formula of the measured compound to compute its tree or a list of candidate formulas the method should discriminate" help="Omit this option if you want to consider all possible molecular formulas">
-        <expand macro="list_string_san" name="formula"/>
+      <param name="formulas" argument="-sirius:formulas" type="text" optional="true" value="" label="Specify the neutral molecular formula of the measured compound to compute its tree or a list of candidate formulas the method should discriminate" help="Omit this option if you want to consider all possible molecular formulas">
+        <expand macro="list_string_san" name="formulas"/>
       </param>
       <param name="ions_enforced" argument="-sirius:ions_enforced" type="text" optional="true" value="" label="The iontype/adduct of the MS/MS data" help="Example: [M+H]+, . [M-H]-, [M+Cl]-, [M+Na]+, [M]+. You can also provide a . comma separated list of adducts">
         <expand macro="list_string_san" name="ions_enforced"/>
       </param>
-      <param name="candidates" argument="-sirius:candidates" type="integer" optional="true" min="1" value="5" label="The number of formula candidates in the SIRIUS output" help=""/>
-      <param name="candidates_per_ion" argument="-sirius:candidates_per_ion" type="integer" optional="true" value="-1" label="Minimum number of candidates in the output for each ionization" help="Set to force output of results for each possible ionization, even if not part of highest ranked results. -1 omits parameter in Sirius"/>
-      <param name="elements_considered" argument="-sirius:elements_considered" type="text" optional="true" value="" label="Set the allowed elements for rare element detection" help="Write SBrClBSe to allow the elements S,Br,Cl,B and Se">
+      <param name="candidates" argument="-sirius:candidates" type="integer" min="0" value="10" label="The number of formula candidates in the SIRIUS output" help=""/>
+      <param name="candidates_per_ion" argument="-sirius:candidates_per_ion" type="integer" value="1" label="Minimum number of candidates in the output for each ionization" help="Set to force output of results for each possible ionization, even if not part of highest ranked results"/>
+      <param name="elements_considered" argument="-sirius:elements_considered" type="text" value="SBrClBSe" label="Set the allowed elements for rare element detection" help="Write SBrClBSe to allow the elements S,Br,Cl,B and Se">
         <expand macro="list_string_san" name="elements_considered"/>
       </param>
-      <param name="elements_enforced" argument="-sirius:elements_enforced" type="text" optional="true" value="" label="Enforce elements for molecular formula determination" help="Write CHNOPSCl to allow the elements C, H, N, O, P, S and Cl. Add numbers in brackets to restrict the minimal and maximal allowed occurrence of these elements: CHNOP[5]S[8]Cl[1-2]. When one number is given then it is interpreted as upper bound. Default is CHNOP">
+      <param name="elements_enforced" argument="-sirius:elements_enforced" type="text" value="CHNOP" label="Enforce elements for molecular formula determination" help="Write CHNOPSCl to allow the elements C, H, N, O, P, S and Cl. Add numbers in brackets to restrict the minimal and maximal allowed occurrence of these elements: CHNOP[5]S[8]Cl[1-2]. When one number is given then it is interpreted as upper bound">
         <expand macro="list_string_san" name="elements_enforced"/>
       </param>
       <param name="no_isotope_score" argument="-sirius:no_isotope_score" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Disable isotope pattern score" help=""/>
       <param name="no_isotope_filter" argument="-sirius:no_isotope_filter" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Disable molecular formula filte" help="When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score"/>
-      <param name="ions_considered" argument="-sirius:ions_considered" type="text" optional="true" value="" label="the iontype/adduct of the MS/MS data" help="Example: [M+H]+, [M-H]-, [M+Cl]-, [M+Na]+, [M]+. You can also provide a comma separated list of adducts">
+      <param name="ions_considered" argument="-sirius:ions_considered" type="text" value="[M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]-" label="the iontype/adduct of the MS/MS data" help="Example: [M+H]+, [M-H]-, [M+Cl]-, [M+Na]+, [M]+. You can also provide a comma separated list of adducts">
         <expand macro="list_string_san" name="ions_considered"/>
       </param>
-      <param name="db" argument="-sirius:db" type="text" optional="true" value="" label="Search formulas in the Union of the given databases db-name1,db-name2,db-name3" help="If no database is given all possible molecular formulas will be respected (no database is used). Example: possible DBs: ALL,BIO,PUBCHEM,MESH,HMDB,KNAPSACK,CHEBI,PUBMED,KEGG,HSDB,MACONDA,METACYC,GNPS,ZINCBIO,UNDP,YMDB,PLANTCYC,NORMAN,ADDITIONAL,PUBCHEMANNOTATIONBIO,PUBCHEMANNOTATIONDRUG,PUBCHEMANNOTATIONSAFETYANDTOXIC,PUBCHEMANNOTATIONFOOD,KEGGMINE,ECOCYCMINE,YMDBMINE">
+      <param name="db" argument="-sirius:db" type="text" value="none" label="Search formulas in the Union of the given databases db-name1,db-name2,db-name3" help="If no database is given all possible molecular formulas will be respected (no database is used). Example: possible DBs: ALL,BIO,PUBCHEM,MESH,HMDB,KNAPSACK,CHEBI,PUBMED,KEGG,HSDB,MACONDA,METACYC,GNPS,ZINCBIO,UNDP,YMDB,PLANTCYC,NORMAN,ADDITIONAL,PUBCHEMANNOTATIONBIO,PUBCHEMANNOTATIONDRUG,PUBCHEMANNOTATIONSAFETYANDTOXIC,PUBCHEMANNOTATIONFOOD,KEGGMINE,ECOCYCMINE,YMDBMINE">
         <expand macro="list_string_san" name="db"/>
       </param>
+      <param name="solver" argument="-sirius:solver" type="text" value="CLP" label="For GUROBI and CPLEX environment variables need to be configured" help="(see SIRIUS manual: https://boecker-lab.github.io/docs.sirius.github.io/install/)">
+        <expand macro="list_string_san" name="solver"/>
+      </param>
     </section>
     <section name="fingerid" title="" help="" expanded="false">
-      <param name="candidates" argument="-fingerid:candidates" type="integer" optional="true" min="1" value="10" label="Number of molecular structure candidates in the output" help=""/>
-      <param name="db" argument="-fingerid:db" type="text" optional="true" value="BIO" label="Search formulas in the Union of the given databases db-name1,db-name2,db-name3" help="If no database is given all possible molecular formulas will be respected (no database is used). Example: possible DBs: ALL,BIO,PUBCHEM,MESH,HMDB,KNAPSACK,CHEBI,PUBMED,KEGG,HSDB,MACONDA,METACYC,GNPS,ZINCBIO,UNDP,YMDB,PLANTCYC,NORMAN,ADDITIONAL,PUBCHEMANNOTATIONBIO,PUBCHEMANNOTATIONDRUG,PUBCHEMANNOTATIONSAFETYANDTOXIC,PUBCHEMANNOTATIONFOOD,KEGGMINE,ECOCYCMINE,YMDBMINE">
+      <param name="db" argument="-fingerid:db" type="text" optional="true" value="" label="Search structures in the Union of the given databases db-name1,db-name2,db-name3" help="If no database is given all possible molecular formulas will be respected (no database is used). Example: possible DBs: ALL,BIO,PUBCHEM,MESH,HMDB,KNAPSACK,CHEBI,PUBMED,KEGG,HSDB,MACONDA,METACYC,GNPS,ZINCBIO,UNDP,YMDB,PLANTCYC,NORMAN,ADDITIONAL,PUBCHEMANNOTATIONBIO,PUBCHEMANNOTATIONDRUG,PUBCHEMANNOTATIONSAFETYANDTOXIC,PUBCHEMANNOTATIONFOOD,KEGGMINE,ECOCYCMINE,YMDBMINE">
         <expand macro="list_string_san" name="db"/>
       </param>
     </section>
     <expand macro="adv_opts_macro">
-      <param argument="-ambiguity_resolution_mz_tolerance_unit" type="select" optional="true" label="Unit of the ambiguity_resolution_mz_tolerance" help="">
+      <param argument="-ambiguity_resolution_mz_tolerance_unit" type="select" label="Unit of the ambiguity_resolution_mz_tolerance" help="">
         <option value="ppm" selected="true">ppm</option>
         <option value="Da">Da</option>
         <expand macro="list_string_san" name="ambiguity_resolution_mz_tolerance_unit"/>
       </param>
-      <param argument="-precursor_recalibration_window" type="float" optional="true" value="0.01" label="Tolerance window for precursor selection (Annotation of precursor mz and intensity)" help=""/>
-      <param argument="-precursor_recalibration_window_unit" type="select" optional="true" label="Unit of the precursor_mz_tolerance_annotation" help="">
+      <param argument="-precursor_recalibration_window" type="float" value="0.01" label="Tolerance window for precursor selection (Annotation of precursor mz and intensity)" help=""/>
+      <param argument="-precursor_recalibration_window_unit" type="select" label="Unit of the precursor_mz_tolerance_annotation" help="">
         <option value="Da" selected="true">Da</option>
         <option value="ppm">ppm</option>
         <expand macro="list_string_san" name="precursor_recalibration_window_unit"/>
       </param>
-      <param argument="-min_fragment_mz" type="float" optional="true" value="0.0" label="Minimal m/z of a fragment ion choosen as a transition" help=""/>
-      <param argument="-max_fragment_mz" type="float" optional="true" value="2000.0" label="Maximal m/z of a fragment ion choosen as a transition" help=""/>
+      <param argument="-min_fragment_mz" type="float" value="0.0" label="Minimal m/z of a fragment ion choosen as a transition" help=""/>
+      <param argument="-max_fragment_mz" type="float" value="2000.0" label="Maximal m/z of a fragment ion choosen as a transition" help=""/>
+      <param argument="-read_sirius_stdout" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Read and print the standard output and error of the Sirius executable, even if it succeeds" help=""/>
       <param argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/>
-      <param argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help="">
+      <param argument="-test" type="hidden" value="False" label="Enables the test mode (needed for internal use only)" help="" optional="true">
         <expand macro="list_string_san" name="test"/>
       </param>
     </expand>
@@ -239,7 +236,8 @@
       <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
     </data>
   </outputs>
-  <tests><!-- UTILS_AssayGeneratorMetabo_1 -->
+  <tests>
+    <!-- TOPP_AssayGeneratorMetabo_1 -->
     <test expect_num_outputs="2">
       <section name="adv_opts">
         <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
@@ -247,6 +245,7 @@
         <param name="precursor_recalibration_window_unit" value="Da"/>
         <param name="min_fragment_mz" value="0.0"/>
         <param name="max_fragment_mz" value="2000.0"/>
+        <param name="read_sirius_stdout" value="false"/>
         <param name="force" value="false"/>
         <param name="test" value="true"/>
       </section>
@@ -257,7 +256,7 @@
         <param name="in_id" value="AssayGeneratorMetabo_ffm_input.featureXML"/>
       </conditional>
       <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ffm_output.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
+      <output name="out" value="AssayGeneratorMetabo_ffm_output.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
       <param name="fragment_annotation" value="none"/>
       <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
       <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
@@ -296,31 +295,33 @@
         <param name="no_masstrace_info_isotope_pattern" value="false"/>
       </section>
       <section name="project">
+        <param name="maxmz" value="-1"/>
         <param name="processors" value="1"/>
+        <param name="loglevel" value=""/>
         <param name="ignore_formula" value="false"/>
         <param name="q" value="false"/>
       </section>
       <section name="sirius">
         <param name="ppm_max" value="10.0"/>
         <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
+        <param name="tree_timeout" value="100"/>
         <param name="compound_timeout" value="100"/>
         <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
+        <param name="profile" value="default"/>
+        <param name="formulas" value=""/>
         <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
+        <param name="candidates" value="10"/>
+        <param name="candidates_per_ion" value="1"/>
+        <param name="elements_considered" value="SBrClBSe"/>
+        <param name="elements_enforced" value="CHNOP"/>
         <param name="no_isotope_score" value="false"/>
         <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
+        <param name="ions_considered" value="[M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]-"/>
+        <param name="db" value="none"/>
+        <param name="solver" value="CLP"/>
       </section>
       <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
+        <param name="db" value=""/>
       </section>
       <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
       <output name="ctd_out" ftype="xml">
@@ -328,8 +329,11 @@
           <is_valid_xml/>
         </assert_contents>
       </output>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- UTILS_AssayGeneratorMetabo_2 -->
+    <!-- TOPP_AssayGeneratorMetabo_2 -->
     <test expect_num_outputs="2">
       <section name="adv_opts">
         <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
@@ -337,6 +341,7 @@
         <param name="precursor_recalibration_window_unit" value="Da"/>
         <param name="min_fragment_mz" value="0.0"/>
         <param name="max_fragment_mz" value="2000.0"/>
+        <param name="read_sirius_stdout" value="false"/>
         <param name="force" value="false"/>
         <param name="test" value="true"/>
       </section>
@@ -347,7 +352,7 @@
         <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
       </conditional>
       <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ams_output.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
+      <output name="out" value="AssayGeneratorMetabo_ams_output.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
       <param name="fragment_annotation" value="none"/>
       <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
       <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
@@ -386,31 +391,33 @@
         <param name="no_masstrace_info_isotope_pattern" value="false"/>
       </section>
       <section name="project">
+        <param name="maxmz" value="-1"/>
         <param name="processors" value="1"/>
+        <param name="loglevel" value=""/>
         <param name="ignore_formula" value="false"/>
         <param name="q" value="false"/>
       </section>
       <section name="sirius">
         <param name="ppm_max" value="10.0"/>
         <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
+        <param name="tree_timeout" value="100"/>
         <param name="compound_timeout" value="100"/>
         <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
+        <param name="profile" value="default"/>
+        <param name="formulas" value=""/>
         <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
+        <param name="candidates" value="10"/>
+        <param name="candidates_per_ion" value="1"/>
+        <param name="elements_considered" value="SBrClBSe"/>
+        <param name="elements_enforced" value="CHNOP"/>
         <param name="no_isotope_score" value="false"/>
         <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
+        <param name="ions_considered" value="[M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]-"/>
+        <param name="db" value="none"/>
+        <param name="solver" value="CLP"/>
       </section>
       <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
+        <param name="db" value=""/>
       </section>
       <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
       <output name="ctd_out" ftype="xml">
@@ -418,8 +425,11 @@
           <is_valid_xml/>
         </assert_contents>
       </output>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- UTILS_AssayGeneratorMetabo_3 -->
+    <!-- TOPP_AssayGeneratorMetabo_3 -->
     <test expect_num_outputs="2">
       <section name="adv_opts">
         <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
@@ -427,6 +437,7 @@
         <param name="precursor_recalibration_window_unit" value="Da"/>
         <param name="min_fragment_mz" value="0.0"/>
         <param name="max_fragment_mz" value="2000.0"/>
+        <param name="read_sirius_stdout" value="false"/>
         <param name="force" value="false"/>
         <param name="test" value="true"/>
       </section>
@@ -437,7 +448,7 @@
         <param name="in_id" value="AssayGeneratorMetabo_ffm_input.featureXML"/>
       </conditional>
       <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ffm_output_consensus.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
+      <output name="out" value="AssayGeneratorMetabo_ffm_output_consensus.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
       <param name="fragment_annotation" value="none"/>
       <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
       <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
@@ -476,31 +487,33 @@
         <param name="no_masstrace_info_isotope_pattern" value="false"/>
       </section>
       <section name="project">
+        <param name="maxmz" value="-1"/>
         <param name="processors" value="1"/>
+        <param name="loglevel" value=""/>
         <param name="ignore_formula" value="false"/>
         <param name="q" value="false"/>
       </section>
       <section name="sirius">
         <param name="ppm_max" value="10.0"/>
         <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
+        <param name="tree_timeout" value="100"/>
         <param name="compound_timeout" value="100"/>
         <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
+        <param name="profile" value="default"/>
+        <param name="formulas" value=""/>
         <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
+        <param name="candidates" value="10"/>
+        <param name="candidates_per_ion" value="1"/>
+        <param name="elements_considered" value="SBrClBSe"/>
+        <param name="elements_enforced" value="CHNOP"/>
         <param name="no_isotope_score" value="false"/>
         <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
+        <param name="ions_considered" value="[M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]-"/>
+        <param name="db" value="none"/>
+        <param name="solver" value="CLP"/>
       </section>
       <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
+        <param name="db" value=""/>
       </section>
       <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
       <output name="ctd_out" ftype="xml">
@@ -508,8 +521,11 @@
           <is_valid_xml/>
         </assert_contents>
       </output>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- UTILS_AssayGeneratorMetabo_4 -->
+    <!-- TOPP_AssayGeneratorMetabo_4 -->
     <test expect_num_outputs="2">
       <section name="adv_opts">
         <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
@@ -517,6 +533,7 @@
         <param name="precursor_recalibration_window_unit" value="Da"/>
         <param name="min_fragment_mz" value="0.0"/>
         <param name="max_fragment_mz" value="2000.0"/>
+        <param name="read_sirius_stdout" value="false"/>
         <param name="force" value="false"/>
         <param name="test" value="true"/>
       </section>
@@ -527,7 +544,7 @@
         <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
       </conditional>
       <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ams_output_consensus.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
+      <output name="out" value="AssayGeneratorMetabo_ams_output_consensus.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
       <param name="fragment_annotation" value="none"/>
       <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
       <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
@@ -566,31 +583,33 @@
         <param name="no_masstrace_info_isotope_pattern" value="false"/>
       </section>
       <section name="project">
+        <param name="maxmz" value="-1"/>
         <param name="processors" value="1"/>
+        <param name="loglevel" value=""/>
         <param name="ignore_formula" value="false"/>
         <param name="q" value="false"/>
       </section>
       <section name="sirius">
         <param name="ppm_max" value="10.0"/>
         <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
+        <param name="tree_timeout" value="100"/>
         <param name="compound_timeout" value="100"/>
         <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
+        <param name="profile" value="default"/>
+        <param name="formulas" value=""/>
         <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
+        <param name="candidates" value="10"/>
+        <param name="candidates_per_ion" value="1"/>
+        <param name="elements_considered" value="SBrClBSe"/>
+        <param name="elements_enforced" value="CHNOP"/>
         <param name="no_isotope_score" value="false"/>
         <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
+        <param name="ions_considered" value="[M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]-"/>
+        <param name="db" value="none"/>
+        <param name="solver" value="CLP"/>
       </section>
       <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
+        <param name="db" value=""/>
       </section>
       <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
       <output name="ctd_out" ftype="xml">
@@ -598,8 +617,11 @@
           <is_valid_xml/>
         </assert_contents>
       </output>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- UTILS_AssayGeneratorMetabo_5 -->
+    <!-- TOPP_AssayGeneratorMetabo_5 -->
     <test expect_num_outputs="2">
       <section name="adv_opts">
         <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
@@ -607,6 +629,7 @@
         <param name="precursor_recalibration_window_unit" value="Da"/>
         <param name="min_fragment_mz" value="0.0"/>
         <param name="max_fragment_mz" value="2000.0"/>
+        <param name="read_sirius_stdout" value="false"/>
         <param name="force" value="false"/>
         <param name="test" value="true"/>
       </section>
@@ -617,7 +640,7 @@
         <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
       </conditional>
       <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ams_uku_output_consensus.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
+      <output name="out" value="AssayGeneratorMetabo_ams_uku_output_consensus.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
       <param name="fragment_annotation" value="none"/>
       <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
       <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
@@ -656,1123 +679,48 @@
         <param name="no_masstrace_info_isotope_pattern" value="false"/>
       </section>
       <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_7 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="0.0"/>
-        <param name="max_fragment_mz" value="2000.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ams_sirius_output.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="false"/>
-      <param name="decoy_generation_method" value="original"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="2"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
+        <param name="maxmz" value="-1"/>
         <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_8 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="0.0"/>
-        <param name="max_fragment_mz" value="2000.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ams_sirius_ukn_output.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="false"/>
-      <param name="decoy_generation_method" value="original"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="true"/>
-      <param name="min_transitions" value="2"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
+        <param name="loglevel" value=""/>
         <param name="ignore_formula" value="false"/>
         <param name="q" value="false"/>
       </section>
       <section name="sirius">
         <param name="ppm_max" value="10.0"/>
         <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
+        <param name="tree_timeout" value="100"/>
         <param name="compound_timeout" value="100"/>
         <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
+        <param name="profile" value="default"/>
+        <param name="formulas" value=""/>
         <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
+        <param name="candidates" value="10"/>
+        <param name="candidates_per_ion" value="1"/>
+        <param name="elements_considered" value="SBrClBSe"/>
+        <param name="elements_enforced" value="CHNOP"/>
         <param name="no_isotope_score" value="false"/>
         <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value="ALL"/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_9 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="0.0"/>
-        <param name="max_fragment_mz" value="2000.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_intsort_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_intsort_input.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ams_sirius_intsort_output.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="false"/>
-      <param name="decoy_generation_method" value="original"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="2"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
+        <param name="ions_considered" value="[M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]-"/>
+        <param name="db" value="none"/>
+        <param name="solver" value="CLP"/>
       </section>
       <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_10 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="100.0"/>
-        <param name="max_fragment_mz" value="900.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ams_sirius_restrict_output.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="false"/>
-      <param name="decoy_generation_method" value="original"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="2"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
         <param name="db" value=""/>
       </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_11 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="100.0"/>
-        <param name="max_fragment_mz" value="900.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_ams_sirius_restrict_decoy_output.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="true"/>
-      <param name="decoy_generation_method" value="original"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="3"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
       <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
       <output name="ctd_out" ftype="xml">
         <assert_contents>
           <is_valid_xml/>
         </assert_contents>
       </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_12 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="100.0"/>
-        <param name="max_fragment_mz" value="900.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_decoy_generation_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_decoy_generation_input.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_decoy_generation_output_original.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="true"/>
-      <param name="decoy_generation_method" value="original"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="1"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_13 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="100.0"/>
-        <param name="max_fragment_mz" value="900.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_decoy_generation_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_decoy_generation_input.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_decoy_generation_output_resolve_overlap.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="true"/>
-      <param name="decoy_generation_method" value="resolve_overlap"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="1"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_14 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="100.0"/>
-        <param name="max_fragment_mz" value="900.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_decoy_generation_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_decoy_generation_input.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_decoy_generation_output_add_shift.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="true"/>
-      <param name="decoy_generation_method" value="add_shift"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="1"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_15 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="100.0"/>
-        <param name="max_fragment_mz" value="900.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_decoy_generation_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_decoy_generation_input.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_decoy_generation_output_both.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="true"/>
-      <param name="decoy_generation_method" value="both"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="1"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_16 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="100.0"/>
-        <param name="max_fragment_mz" value="900.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_decoy_generation_input.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_decoy_generation_input_multids.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_decoy_generation_output_both_multids.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="true"/>
-      <param name="decoy_generation_method" value="both"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="1"/>
-      <param name="max_transitions" value="3"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_17 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="Da"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="0.0"/>
-        <param name="max_fragment_mz" value="2000.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_decoy_generation_input.mzML,AssayGeneratorMetabo_decoy_generation_input_2.mzML,AssayGeneratorMetabo_decoy_generation_input_3.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_decoy_generation_input.featureXML,AssayGeneratorMetabo_decoy_generation_input_1.featureXML,AssayGeneratorMetabo_decoy_generation_input_2.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_decoy_generation_linking_output_both.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.8"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="true"/>
-      <param name="decoy_generation_method" value="both"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="1"/>
-      <param name="max_transitions" value="6"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
-    </test>
-    <!-- UTILS_AssayGeneratorMetabo_18 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
-        <param name="ambiguity_resolution_mz_tolerance_unit" value="Da"/>
-        <param name="precursor_recalibration_window" value="0.01"/>
-        <param name="precursor_recalibration_window_unit" value="Da"/>
-        <param name="min_fragment_mz" value="0.0"/>
-        <param name="max_fragment_mz" value="2000.0"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <conditional name="in_cond">
-        <param name="in" value="AssayGeneratorMetabo_decoy_generation_input.mzML,AssayGeneratorMetabo_decoy_generation_input_2.mzML,AssayGeneratorMetabo_decoy_generation_input_3.mzML"/>
-      </conditional>
-      <conditional name="in_id_cond">
-        <param name="in_id" value="AssayGeneratorMetabo_decoy_generation_input.featureXML,AssayGeneratorMetabo_decoy_generation_input_1.featureXML,AssayGeneratorMetabo_decoy_generation_input_2.featureXML"/>
-      </conditional>
-      <param name="out_type" value="tsv"/>
-      <output name="out" file="AssayGeneratorMetabo_decoy_generation_linking_moladd_output_both.tmp.tsv" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <param name="fragment_annotation" value="sirius"/>
-      <param name="ambiguity_resolution_mz_tolerance" value="10.0"/>
-      <param name="ambiguity_resolution_rt_tolerance" value="10.0"/>
-      <param name="total_occurrence_filter" value="0.1"/>
-      <param name="fragment_annotation_score_threshold" value="0.8"/>
-      <param name="decoy_generation" value="true"/>
-      <param name="decoy_generation_method" value="both"/>
-      <param name="method" value="highest_intensity"/>
-      <param name="use_exact_mass" value="true"/>
-      <param name="exclude_ms2_precursor" value="false"/>
-      <param name="precursor_mz_distance" value="0.0001"/>
-      <param name="consensus_spectrum_precursor_rt_tolerance" value="5.0"/>
-      <param name="use_known_unknowns" value="false"/>
-      <param name="min_transitions" value="1"/>
-      <param name="max_transitions" value="6"/>
-      <param name="cosine_similarity_threshold" value="0.98"/>
-      <param name="transition_threshold" value="3.0"/>
-      <section name="deisotoping">
-        <param name="use_deisotoper" value="false"/>
-        <param name="fragment_tolerance" value="1.0"/>
-        <param name="fragment_unit" value="ppm"/>
-        <param name="min_charge" value="1"/>
-        <param name="max_charge" value="1"/>
-        <param name="min_isopeaks" value="2"/>
-        <param name="max_isopeaks" value="3"/>
-        <param name="keep_only_deisotoped" value="false"/>
-        <param name="annotate_charge" value="false"/>
-      </section>
-      <section name="preprocessing">
-        <param name="filter_by_num_masstraces" value="1"/>
-        <param name="precursor_mz_tolerance" value="10.0"/>
-        <param name="precursor_mz_tolerance_unit" value="ppm"/>
-        <param name="precursor_rt_tolerance" value="5.0"/>
-        <param name="isotope_pattern_iterations" value="3"/>
-        <param name="feature_only" value="true"/>
-        <param name="no_masstrace_info_isotope_pattern" value="false"/>
-      </section>
-      <section name="project">
-        <param name="processors" value="1"/>
-        <param name="ignore_formula" value="false"/>
-        <param name="q" value="false"/>
-      </section>
-      <section name="sirius">
-        <param name="ppm_max" value="10.0"/>
-        <param name="ppm_max_ms2" value="10.0"/>
-        <param name="tree_timeout" value="0"/>
-        <param name="compound_timeout" value="100"/>
-        <param name="no_recalibration" value="false"/>
-        <param name="profile" value="qtof"/>
-        <param name="formula" value=""/>
-        <param name="ions_enforced" value=""/>
-        <param name="candidates" value="5"/>
-        <param name="candidates_per_ion" value="-1"/>
-        <param name="elements_considered" value=""/>
-        <param name="elements_enforced" value=""/>
-        <param name="no_isotope_score" value="false"/>
-        <param name="no_isotope_filter" value="false"/>
-        <param name="ions_considered" value=""/>
-        <param name="db" value=""/>
-      </section>
-      <section name="fingerid">
-        <param name="candidates" value="10"/>
-        <param name="db" value="BIO"/>
-      </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
-      <output name="ctd_out" ftype="xml">
-        <assert_contents>
-          <is_valid_xml/>
-        </assert_contents>
-      </output>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
   </tests>
   <help><![CDATA[Assay library generation from DDA data (Metabolomics)
 
 
-For more information, visit http://www.openms.de/doxygen/release/2.8.0/html/UTILS_AssayGeneratorMetabo.html]]></help>
+For more information, visit https://openms.de/doxygen/release/3.1.0/html/TOPP_AssayGeneratorMetabo.html]]></help>
   <expand macro="references"/>
 </tool>