changeset 9:40a101cabd0e draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 020906fb54bde7fc143c356f41975c378a741315"
author galaxyp
date Wed, 09 Sep 2020 12:59:26 +0000
parents 2b75abf1a2c5
children 58bdbab5cc5e
files OMSSAAdapter.patch PepNovoAdapter.patch TOFCalibration.xml filetypes.txt fill_ctd.py fill_ctd_clargs.py generate-foo.sh generate.sh hardcoded_params.json macros.xml macros_autotest.xml macros_discarded_auto.xml macros_test.xml prepare_test_data.sh prepare_test_data_manual.sh readme.md test-data.sh tool-data/pepnovo_models.loc.sample tool.conf tool_data_table_conf.xml.sample tool_data_table_conf.xml.test tools_blacklist.txt
diffstat 22 files changed, 30152 insertions(+), 564 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OMSSAAdapter.patch	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,10 @@
+--- OMSSAAdapter.xml	2020-06-16 15:51:40.315400730 +0200
++++ /tmp/OMSSAAdapter.xml	2020-06-16 15:50:23.536086074 +0200
+@@ -22,6 +22,7 @@
+ mkdir database &&
+ ln -s '$database' 'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)' &&
+ 
++makeblastdb -dbtype prot -in 'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)' &&
+ ## Main program call
+ 
+ set -o pipefail &&
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PepNovoAdapter.patch	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,35 @@
+--- PepNovoAdapter.xml	2020-05-12 15:55:24.712831518 +0200
++++ /tmp/PepNovoAdapter.xml	2020-05-12 15:36:31.267276757 +0200
+@@ -42,8 +42,13 @@
+   </configfiles>
+   <inputs>
+     <param name="in" argument="-in" type="data" format="mzml" optional="false" label="input file" help=" select mzml data sets(s)"/>
+-    <param name="model_directory" argument="-model_directory" type="text" optional="false" value="" label="Name of the directory where the model files are kept" help="">
+-      <expand macro="list_string_san"/>
++    <param name="model_directory" argument="-model_directory" type="select" optional="false" label="Name of the directory where the model files are kept" help="">
++        <options from_data_table="pepnovo_models">
++            <column name="name" index="0"/>
++            <column name="value" index="2"/>
++            <filter type="unique_value" name="unique_set" column="0"/>
++            <validator type="no_options" message="No model directory available"/>
++        </options>
+     </param>
+     <param name="correct_pm" argument="-correct_pm" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Find optimal precursor mass and charge values" help=""/>
+     <param name="use_spectrum_charge" argument="-use_spectrum_charge" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Do not correct charge" help=""/>
+@@ -51,8 +56,14 @@
+     <param name="no_quality_filter" argument="-no_quality_filter" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Do not remove low quality spectra" help=""/>
+     <param name="fragment_tolerance" argument="-fragment_tolerance" type="float" optional="true" value="-1.0" label="The fragment tolerance (between 0 and 0.75 Da" help="Set to -1.0 to use model's default setting)"/>
+     <param name="pm_tolerance" argument="-pm_tolerance" type="float" optional="true" value="-1.0" label="The precursor mass tolerance (between 0 and 5.0 Da" help="Set to -1.0 to use model's default setting)"/>
+-    <param name="model" argument="-model" type="text" optional="true" value="CID_IT_TRYP" label="Name of the model that should be used" help="">
+-      <expand macro="list_string_san"/>
++    <param name="model" argument="-model" type="select" label="Name of the model that should be used" help="">
++        <options from_data_table="pepnovo_models">
++            <column name="name" index="1"/>
++            <column name="value" index="1"/>
++            <filter type="param_value" ref="model_directory" column="2"/>
++            <filter type="unique_value" column="1"/>
++            <validator type="no_options" message="No model available"/>
++        </options>
+     </param>
+     <param name="digest" argument="-digest" display="radio" type="select" optional="false" label="Enzyme used for digestion (default TRYPSIN)" help="">
+       <option value="TRYPSIN" selected="true">TRYPSIN</option>
--- a/TOFCalibration.xml	Fri May 17 10:05:40 2019 -0400
+++ b/TOFCalibration.xml	Wed Sep 09 12:59:26 2020 +0000
@@ -1,220 +1,149 @@
 <?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: [Signal processing and preprocessing]-->
-<tool id="TOFCalibration" name="TOFCalibration" version="2.3.0">
+<tool id="TOFCalibration" name="TOFCalibration" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>Applies time of flight calibration.</description>
   <macros>
     <token name="@EXECUTABLE@">TOFCalibration</token>
     <import>macros.xml</import>
+    <import>macros_autotest.xml</import>
+    <import>macros_test.xml</import>
   </macros>
-  <expand macro="references"/>
+  <expand macro="requirements"/>
   <expand macro="stdio"/>
-  <expand macro="requirements"/>
-  <command detect_errors="aggressive"><![CDATA[TOFCalibration
+  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
+@EXT_FOO@
+#import re
+
+## Preprocessing
+mkdir in &&
+ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
+mkdir out &&
+mkdir ext_calibrants &&
+ln -s '$ext_calibrants' 'ext_calibrants/${re.sub("[^\w\-_]", "_", $ext_calibrants.element_identifier)}.$gxy2omsext($ext_calibrants.ext)' &&
+mkdir ref_masses &&
+ln -s '$ref_masses' 'ref_masses/${re.sub("[^\w\-_]", "_", $ref_masses.element_identifier)}.$gxy2omsext($ref_masses.ext)' &&
+mkdir tof_const &&
+ln -s '$tof_const' 'tof_const/${re.sub("[^\w\-_]", "_", $tof_const.element_identifier)}.$gxy2omsext($tof_const.ext)' &&
+
+## Main program call
+
+set -o pipefail &&
+@EXECUTABLE@ -write_ctd ./ &&
+python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
+@EXECUTABLE@ -ini @EXECUTABLE@.ctd
+-in
+'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)'
+-out
+'out/output.${gxy2omsext("mzml")}'
+-ext_calibrants
+'ext_calibrants/${re.sub("[^\w\-_]", "_", $ext_calibrants.element_identifier)}.$gxy2omsext($ext_calibrants.ext)'
+-ref_masses
+'ref_masses/${re.sub("[^\w\-_]", "_", $ref_masses.element_identifier)}.$gxy2omsext($ref_masses.ext)'
+-tof_const
+'tof_const/${re.sub("[^\w\-_]", "_", $tof_const.element_identifier)}.$gxy2omsext($tof_const.ext)'
 
-#if $param_in:
-  -in $param_in
-#end if
-#if $param_out:
-  -out $param_out
-#end if
-#if $param_ext_calibrants:
-  -ext_calibrants $param_ext_calibrants
-#end if
-#if $param_ref_masses:
-  -ref_masses $param_ref_masses
-#end if
-#if $param_tof_const:
-  -tof_const $param_tof_const
-#end if
-#if $param_peak_data:
-  -peak_data
-#end if
-#if $param_algorithm_PeakPicker_signal_to_noise:
-  -algorithm:PeakPicker:signal_to_noise $param_algorithm_PeakPicker_signal_to_noise
-#end if
-#if $param_algorithm_PeakPicker_peak_width:
-  -algorithm:PeakPicker:peak_width $param_algorithm_PeakPicker_peak_width
-#end if
-#if $param_algorithm_PeakPicker_estimate_peak_width:
-  -algorithm:PeakPicker:estimate_peak_width
-#end if
-#if $adv_opts.adv_opts_selector=='advanced':
-    #if $adv_opts.param_force:
-  -force
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_centroid_percentage:
-  -algorithm:PeakPicker:centroid_percentage $adv_opts.param_algorithm_PeakPicker_centroid_percentage
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_fwhm_lower_bound_factor:
-  -algorithm:PeakPicker:fwhm_lower_bound_factor $adv_opts.param_algorithm_PeakPicker_fwhm_lower_bound_factor
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_fwhm_upper_bound_factor:
-  -algorithm:PeakPicker:fwhm_upper_bound_factor $adv_opts.param_algorithm_PeakPicker_fwhm_upper_bound_factor
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_optimization_iterations:
-  -algorithm:PeakPicker:optimization:iterations $adv_opts.param_algorithm_PeakPicker_optimization_iterations
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_optimization_penalties_position:
-  -algorithm:PeakPicker:optimization:penalties:position $adv_opts.param_algorithm_PeakPicker_optimization_penalties_position
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_optimization_penalties_left_width:
-  -algorithm:PeakPicker:optimization:penalties:left_width $adv_opts.param_algorithm_PeakPicker_optimization_penalties_left_width
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_optimization_penalties_right_width:
-  -algorithm:PeakPicker:optimization:penalties:right_width $adv_opts.param_algorithm_PeakPicker_optimization_penalties_right_width
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_optimization_penalties_height:
-  -algorithm:PeakPicker:optimization:penalties:height $adv_opts.param_algorithm_PeakPicker_optimization_penalties_height
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_optimization_2d_tolerance_mz:
-  -algorithm:PeakPicker:optimization:2d:tolerance_mz $adv_opts.param_algorithm_PeakPicker_optimization_2d_tolerance_mz
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_optimization_2d_max_peak_distance:
-  -algorithm:PeakPicker:optimization:2d:max_peak_distance $adv_opts.param_algorithm_PeakPicker_optimization_2d_max_peak_distance
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_thresholds_peak_bound:
-  -algorithm:PeakPicker:thresholds:peak_bound $adv_opts.param_algorithm_PeakPicker_thresholds_peak_bound
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_thresholds_peak_bound_ms2_level:
-  -algorithm:PeakPicker:thresholds:peak_bound_ms2_level $adv_opts.param_algorithm_PeakPicker_thresholds_peak_bound_ms2_level
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_thresholds_correlation:
-  -algorithm:PeakPicker:thresholds:correlation $adv_opts.param_algorithm_PeakPicker_thresholds_correlation
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_thresholds_noise_level:
-  -algorithm:PeakPicker:thresholds:noise_level $adv_opts.param_algorithm_PeakPicker_thresholds_noise_level
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_thresholds_search_radius:
-  -algorithm:PeakPicker:thresholds:search_radius $adv_opts.param_algorithm_PeakPicker_thresholds_search_radius
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_wavelet_transform_spacing:
-  -algorithm:PeakPicker:wavelet_transform:spacing $adv_opts.param_algorithm_PeakPicker_wavelet_transform_spacing
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_deconvolution:
-  -algorithm:PeakPicker:deconvolution:deconvolution
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_asym_threshold:
-  -algorithm:PeakPicker:deconvolution:asym_threshold $adv_opts.param_algorithm_PeakPicker_deconvolution_asym_threshold
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_left_width:
-  -algorithm:PeakPicker:deconvolution:left_width $adv_opts.param_algorithm_PeakPicker_deconvolution_left_width
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_right_width:
-  -algorithm:PeakPicker:deconvolution:right_width $adv_opts.param_algorithm_PeakPicker_deconvolution_right_width
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_scaling:
-  -algorithm:PeakPicker:deconvolution:scaling $adv_opts.param_algorithm_PeakPicker_deconvolution_scaling
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_fwhm_threshold:
-  -algorithm:PeakPicker:deconvolution:fitting:fwhm_threshold $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_fwhm_threshold
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_eps_abs:
-  -algorithm:PeakPicker:deconvolution:fitting:eps_abs $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_eps_abs
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_eps_rel:
-  -algorithm:PeakPicker:deconvolution:fitting:eps_rel $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_eps_rel
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_max_iteration:
-  -algorithm:PeakPicker:deconvolution:fitting:max_iteration $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_max_iteration
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_penalties_position:
-  -algorithm:PeakPicker:deconvolution:fitting:penalties:position $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_penalties_position
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_penalties_height:
-  -algorithm:PeakPicker:deconvolution:fitting:penalties:height $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_penalties_height
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_penalties_left_width:
-  -algorithm:PeakPicker:deconvolution:fitting:penalties:left_width $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_penalties_left_width
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_penalties_right_width:
-  -algorithm:PeakPicker:deconvolution:fitting:penalties:right_width $adv_opts.param_algorithm_PeakPicker_deconvolution_fitting_penalties_right_width
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_max_intensity:
-  -algorithm:PeakPicker:SignalToNoiseEstimationParameter:max_intensity $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_max_intensity
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_auto_max_stdev_factor:
-  -algorithm:PeakPicker:SignalToNoiseEstimationParameter:auto_max_stdev_factor $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_auto_max_stdev_factor
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_auto_max_percentile:
-  -algorithm:PeakPicker:SignalToNoiseEstimationParameter:auto_max_percentile $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_auto_max_percentile
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_auto_mode:
-  -algorithm:PeakPicker:SignalToNoiseEstimationParameter:auto_mode $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_auto_mode
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_win_len:
-  -algorithm:PeakPicker:SignalToNoiseEstimationParameter:win_len $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_win_len
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_bin_count:
-  -algorithm:PeakPicker:SignalToNoiseEstimationParameter:bin_count $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_bin_count
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_stdev_mp:
-  -algorithm:PeakPicker:SignalToNoiseEstimationParameter:stdev_mp $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_stdev_mp
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_min_required_elements:
-  -algorithm:PeakPicker:SignalToNoiseEstimationParameter:min_required_elements $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_min_required_elements
-#end if
-    #if $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_noise_for_empty_window:
-  -algorithm:PeakPicker:SignalToNoiseEstimationParameter:noise_for_empty_window $adv_opts.param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_noise_for_empty_window
-#end if
-#end if
-]]></command>
+## Postprocessing
+&& mv 'out/output.${gxy2omsext("mzml")}' '$out'
+#if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
+  && mv '@EXECUTABLE@.ctd' '$ctd_out'
+#end if]]></command>
+  <configfiles>
+    <inputs name="args_json" data_style="paths"/>
+    <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
+  </configfiles>
   <inputs>
-    <param name="param_in" type="data" format="mzml" optional="False" label="input peak or raw data file" help="(-in) "/>
-    <param name="param_ext_calibrants" type="data" format="mzml" optional="False" label="input file containing the external calibrant spectra (peak or raw data)" help="(-ext_calibrants) "/>
-    <param name="param_ref_masses" type="data" format="txt" optional="False" label="input file containing reference masses of the external calibrant spectra (one per line)" help="(-ref_masses) "/>
-    <param name="param_tof_const" type="data" format="tabular" optional="False" label="File containing TOF conversion constants" help="(-tof_const) These can be either two or three constants &lt;br&gt;per set, depending on the conversion type. Either one set for all calibrant spectra  &lt;br&gt;(tab separated), or one for each spectrum. &lt;br&gt;For a detailed description, please have a look at the doxygen documentation.(one set, tab separated, per line)"/>
-    <param name="param_peak_data" display="radio" type="boolean" truevalue="-peak_data" falsevalue="" checked="false" optional="True" label="set this flag, if you have peak data, not raw data (the picking parameters are accessible only from the INI file)" help="(-peak_data) "/>
-    <param name="param_algorithm_PeakPicker_signal_to_noise" type="float" min="0.0" optional="True" value="1.0" label="Minimal signal to noise ratio for a peak to be picked" help="(-signal_to_noise) "/>
-    <param name="param_algorithm_PeakPicker_peak_width" type="float" min="0.0" optional="True" value="0.15" label="Approximate fwhm of the peaks" help="(-peak_width) "/>
-    <param name="param_algorithm_PeakPicker_estimate_peak_width" display="radio" type="boolean" truevalue="-algorithm:PeakPicker:estimate_peak_width" falsevalue="" checked="false" optional="True" label="Flag if the average peak width shall be estimated" help="(-estimate_peak_width) Attention: when this flag is set, the peak_width is ignored"/>
-    <expand macro="advanced_options">
-      <param name="param_force" display="radio" type="boolean" truevalue="-force" falsevalue="" checked="false" optional="True" label="Overwrite tool specific checks" help="(-force) "/>
-      <param name="param_algorithm_PeakPicker_centroid_percentage" type="float" min="0.0" max="1.0" optional="True" value="0.8" label="Percentage of the maximum height that the raw data points must exceed to be taken into account for the calculation of the centroid" help="(-centroid_percentage) If it is 1 the centroid position corresponds to the position of the highest intensity"/>
-      <param name="param_algorithm_PeakPicker_fwhm_lower_bound_factor" type="float" min="0.0" optional="True" value="0.7" label="Factor that calculates the minimal fwhm value from the peak_width" help="(-fwhm_lower_bound_factor) All peaks with width smaller than fwhm_bound_factor * peak_width are discarded"/>
-      <param name="param_algorithm_PeakPicker_fwhm_upper_bound_factor" type="float" min="0.0" optional="True" value="20.0" label="Factor that calculates the maximal fwhm value from the peak_width" help="(-fwhm_upper_bound_factor) All peaks with width greater than fwhm_upper_bound_factor * peak_width are discarded"/>
-      <param name="param_algorithm_PeakPicker_optimization_iterations" type="integer" min="1" optional="True" value="400" label="maximal number of iterations for the fitting step" help="(-iterations) "/>
-      <param name="param_algorithm_PeakPicker_optimization_penalties_position" type="float" min="0.0" optional="True" value="0.0" label="penalty term for the fitting of the position:If it differs too much from the initial one it can be penalized" help="(-position) "/>
-      <param name="param_algorithm_PeakPicker_optimization_penalties_left_width" type="float" min="0.0" optional="True" value="1.0" label="penalty term for the fitting of the left width:If the left width differs too much from the initial one during the fitting it can be penalized" help="(-left_width) "/>
-      <param name="param_algorithm_PeakPicker_optimization_penalties_right_width" type="float" min="0.0" optional="True" value="1.0" label="penalty term for the fitting of the right width:If the right width differs too much from the initial one during the fitting it can be penalized" help="(-right_width) "/>
-      <param name="param_algorithm_PeakPicker_optimization_penalties_height" type="float" min="0.0" optional="True" value="1.0" label="penalty term for the fitting of the intensity (only used in 2D Optimization):If it gets negative during the fitting it can be penalized" help="(-height) "/>
-      <param name="param_algorithm_PeakPicker_optimization_2d_tolerance_mz" type="float" min="0.0" optional="True" value="2.2" label="mz tolerance for cluster construction" help="(-tolerance_mz) "/>
-      <param name="param_algorithm_PeakPicker_optimization_2d_max_peak_distance" type="float" min="0.0" optional="True" value="1.2" label="maximal peak distance in mz in a cluste" help="(-max_peak_distance) "/>
-      <param name="param_algorithm_PeakPicker_thresholds_peak_bound" type="float" min="0.0" optional="True" value="10.0" label="Minimal peak intensity" help="(-peak_bound) "/>
-      <param name="param_algorithm_PeakPicker_thresholds_peak_bound_ms2_level" type="float" min="0.0" optional="True" value="10.0" label="Minimal peak intensity for MS/MS peaks" help="(-peak_bound_ms2_level) "/>
-      <param name="param_algorithm_PeakPicker_thresholds_correlation" type="float" min="0.0" max="1.0" optional="True" value="0.5" label="minimal correlation of a peak and the raw signal" help="(-correlation) If a peak has a lower correlation it is skipped"/>
-      <param name="param_algorithm_PeakPicker_thresholds_noise_level" type="float" min="0.0" optional="True" value="0.1" label="noise level for the search of the peak endpoints" help="(-noise_level) "/>
-      <param name="param_algorithm_PeakPicker_thresholds_search_radius" type="integer" min="0" optional="True" value="3" label="search radius for the search of the maximum in the signal after a maximum in the cwt was found" help="(-search_radius) "/>
-      <param name="param_algorithm_PeakPicker_wavelet_transform_spacing" type="float" min="0.0" optional="True" value="0.001" label="Spacing of the CWT" help="(-spacing) Note that the accuracy of the picked peak's centroid position depends in the Raw data spacing, i.e., 50% of raw peak distance at most"/>
-      <param name="param_algorithm_PeakPicker_deconvolution_deconvolution" display="radio" type="boolean" truevalue="-algorithm:PeakPicker:deconvolution:deconvolution" falsevalue="" checked="false" optional="True" label="If you want heavily overlapping peaks to be separated set this value to &quot;true&quot;" help="(-deconvolution) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_asym_threshold" type="float" min="0.0" optional="True" value="0.3" label="If the symmetry of a peak is smaller than asym_thresholds it is assumed that it consists of more than one peak and the deconvolution procedure is started" help="(-asym_threshold) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_left_width" type="float" min="0.0" optional="True" value="2.0" label="1/left_width is the initial value for the left width of the peaks found in the deconvolution step" help="(-left_width) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_right_width" type="float" min="0.0" optional="True" value="2.0" label="1/right_width is the initial value for the right width of the peaks found in the deconvolution step" help="(-right_width) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_scaling" type="float" min="0.0" optional="True" value="0.12" label="Initial scaling of the cwt used in the separation of heavily overlapping peaks" help="(-scaling) The initial value is used for charge 1, for higher charges it is adapted to scaling/charge"/>
-      <param name="param_algorithm_PeakPicker_deconvolution_fitting_fwhm_threshold" type="float" min="0.0" optional="True" value="0.7" label="If the FWHM of a peak is higher than 'fwhm_thresholds' it is assumed that it consists of more than one peak and the deconvolution procedure is started" help="(-fwhm_threshold) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_fitting_eps_abs" type="float" min="0.0" optional="True" value="9.99999974738e-06" label="if the absolute error gets smaller than this value the fitting is stopped" help="(-eps_abs) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_fitting_eps_rel" type="float" min="0.0" optional="True" value="9.99999974738e-06" label="if the relative error gets smaller than this value the fitting is stopped" help="(-eps_rel) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_fitting_max_iteration" type="integer" min="1" optional="True" value="10" label="maximal number of iterations for the fitting step" help="(-max_iteration) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_fitting_penalties_position" type="float" min="0.0" optional="True" value="0.0" label="penalty term for the fitting of the peak position:If the position changes more than 0.5Da during the fitting it can be penalized as well as discrepancies of the peptide mass rule" help="(-position) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_fitting_penalties_height" type="float" min="0.0" optional="True" value="1.0" label="penalty term for the fitting of the intensity:If it gets negative during the fitting it can be penalized" help="(-height) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_fitting_penalties_left_width" type="float" min="0.0" optional="True" value="0.0" label="penalty term for the fitting of the left width:If the left width gets too broad or negative during the fitting it can be penalized" help="(-left_width) "/>
-      <param name="param_algorithm_PeakPicker_deconvolution_fitting_penalties_right_width" type="float" min="0.0" optional="True" value="0.0" label="penalty term for the fitting of the right width:If the right width gets too broad or negative during the fitting it can be penalized" help="(-right_width) "/>
-      <param name="param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_max_intensity" type="integer" min="-1" optional="True" value="-1" label="maximal intensity considered for histogram construction" help="(-max_intensity) By default, it will be calculated automatically (see auto_mode). Only provide this parameter if you know what you are doing (and change 'auto_mode' to '-1')! All intensities EQUAL/ABOVE 'max_intensity' will not be added to the histogram. If you choose 'max_intensity' too small, the noise estimate might be too small as well. If chosen too big, the bins become quite large (which you could counter by increasing 'bin_count', which increases runtime)"/>
-      <param name="param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_auto_max_stdev_factor" type="float" min="0.0" max="999.0" optional="True" value="3.0" label="parameter for 'max_intensity' estimation (if 'auto_mode' == 0): mean + 'auto_max_stdev_factor' * stdev" help="(-auto_max_stdev_factor) "/>
-      <param name="param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_auto_max_percentile" type="integer" min="0" max="100" optional="True" value="95" label="parameter for 'max_intensity' estimation (if 'auto_mode' == 1): auto_max_percentile th percentile" help="(-auto_max_percentile) "/>
-      <param name="param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_auto_mode" type="integer" min="-1" max="1" optional="True" value="0" label="method to use to determine maximal intensity: -1 --&gt; use 'max_intensity'; 0 --&gt; 'auto_max_stdev_factor' method (default); 1 --&gt; 'auto_max_percentile' method" help="(-auto_mode) "/>
-      <param name="param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_win_len" type="float" min="1.0" optional="True" value="200.0" label="window length in Thomson" help="(-win_len) "/>
-      <param name="param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_bin_count" type="integer" min="3" optional="True" value="30" label="number of bins for intensity values" help="(-bin_count) "/>
-      <param name="param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_stdev_mp" type="float" min="0.01" max="999.0" optional="True" value="3.0" label="multiplier for stdev" help="(-stdev_mp) "/>
-      <param name="param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_min_required_elements" type="integer" min="1" optional="True" value="10" label="minimum number of elements required in a window (otherwise it is considered sparse)" help="(-min_required_elements) "/>
-      <param name="param_algorithm_PeakPicker_SignalToNoiseEstimationParameter_noise_for_empty_window" type="float" value="1e+20" label="noise value used for sparse windows" help="(-noise_for_empty_window) "/>
+    <param name="in" argument="-in" type="data" format="mzml" optional="false" label="input peak or raw data file" help=" select mzml data sets(s)"/>
+    <param name="ext_calibrants" argument="-ext_calibrants" type="data" format="mzml" optional="false" label="input file containing the external calibrant spectra (peak or raw data)" help=" select mzml data sets(s)"/>
+    <param name="ref_masses" argument="-ref_masses" type="data" format="txt" optional="false" label="input file containing reference masses of the external calibrant spectra (one per line)" help=" select txt data sets(s)"/>
+    <param name="tof_const" argument="-tof_const" type="data" format="csv" optional="false" label="File containing TOF conversion constants" help="These can be either two or three constants. per set, depending on the conversion type. Either one set for all calibrant spectra . (tab separated), or one for each spectrum.. For a detailed description, please have a look at the doxygen documentation.(one set, tab separated, per line) select csv data sets(s)"/>
+    <param name="peak_data" argument="-peak_data" type="boolean" truevalue="true" falsevalue="false" checked="false" label="set this flag, if you have peak data, not raw data (the picking parameters are accessible only from the INI file)" help=""/>
+    <section name="algorithm" title="Algorithm section for peak picking" help="" expanded="false">
+      <section name="PeakPicker" title="" help="" expanded="false">
+        <param name="signal_to_noise" argument="-algorithm:PeakPicker:signal_to_noise" type="float" optional="true" min="0.0" value="1.0" label="Minimal signal to noise ratio for a peak to be picked" help=""/>
+        <param name="centroid_percentage" argument="-algorithm:PeakPicker:centroid_percentage" type="float" optional="true" min="0.0" max="1.0" value="0.8" label="Percentage of the maximum height that the raw data points must exceed to be taken into account for the calculation of the centroid" help="If it is 1 the centroid position corresponds to the position of the highest intensity"/>
+        <param name="peak_width" argument="-algorithm:PeakPicker:peak_width" type="float" optional="true" min="0.0" value="0.15" label="Approximate fwhm of the peaks" help=""/>
+        <param name="estimate_peak_width" argument="-algorithm:PeakPicker:estimate_peak_width" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Flag if the average peak width shall be estimated" help="Attention: when this flag is set, the peak_width is ignored"/>
+        <param name="fwhm_lower_bound_factor" argument="-algorithm:PeakPicker:fwhm_lower_bound_factor" type="float" optional="true" min="0.0" value="0.7" label="Factor that calculates the minimal fwhm value from the peak_width" help="All peaks with width smaller than fwhm_bound_factor * peak_width are discarded"/>
+        <param name="fwhm_upper_bound_factor" argument="-algorithm:PeakPicker:fwhm_upper_bound_factor" type="float" optional="true" min="0.0" value="20.0" label="Factor that calculates the maximal fwhm value from the peak_width" help="All peaks with width greater than fwhm_upper_bound_factor * peak_width are discarded"/>
+        <section name="optimization" title="" help="" expanded="false">
+          <param name="iterations" argument="-algorithm:PeakPicker:optimization:iterations" type="integer" optional="true" min="1" value="400" label="maximal number of iterations for the fitting step" help=""/>
+          <section name="penalties" title="" help="" expanded="false">
+            <param name="position" argument="-algorithm:PeakPicker:optimization:penalties:position" type="float" optional="true" min="0.0" value="0.0" label="penalty term for the fitting of the position:If it differs too much from the initial one it can be penalized" help=""/>
+            <param name="left_width" argument="-algorithm:PeakPicker:optimization:penalties:left_width" type="float" optional="true" min="0.0" value="1.0" label="penalty term for the fitting of the left width:If the left width differs too much from the initial one during the fitting it can be penalized" help=""/>
+            <param name="right_width" argument="-algorithm:PeakPicker:optimization:penalties:right_width" type="float" optional="true" min="0.0" value="1.0" label="penalty term for the fitting of the right width:If the right width differs too much from the initial one during the fitting it can be penalized" help=""/>
+            <param name="height" argument="-algorithm:PeakPicker:optimization:penalties:height" type="float" optional="true" min="0.0" value="1.0" label="penalty term for the fitting of the intensity (only used in 2D Optimization):If it gets negative during the fitting it can be penalized" help=""/>
+          </section>
+          <section name="2d" title="" help="" expanded="false">
+            <param name="tolerance_mz" argument="-algorithm:PeakPicker:optimization:2d:tolerance_mz" type="float" optional="true" min="0.0" value="2.2" label="mz tolerance for cluster construction" help=""/>
+            <param name="max_peak_distance" argument="-algorithm:PeakPicker:optimization:2d:max_peak_distance" type="float" optional="true" min="0.0" value="1.2" label="maximal peak distance in mz in a cluste" help=""/>
+          </section>
+        </section>
+        <section name="thresholds" title="" help="" expanded="false">
+          <param name="peak_bound" argument="-algorithm:PeakPicker:thresholds:peak_bound" type="float" optional="true" min="0.0" value="10.0" label="Minimal peak intensity" help=""/>
+          <param name="peak_bound_ms2_level" argument="-algorithm:PeakPicker:thresholds:peak_bound_ms2_level" type="float" optional="true" min="0.0" value="10.0" label="Minimal peak intensity for MS/MS peaks" help=""/>
+          <param name="correlation" argument="-algorithm:PeakPicker:thresholds:correlation" type="float" optional="true" min="0.0" max="1.0" value="0.5" label="minimal correlation of a peak and the raw signal" help="If a peak has a lower correlation it is skipped"/>
+          <param name="noise_level" argument="-algorithm:PeakPicker:thresholds:noise_level" type="float" optional="true" min="0.0" value="0.1" label="noise level for the search of the peak endpoints" help=""/>
+          <param name="search_radius" argument="-algorithm:PeakPicker:thresholds:search_radius" type="integer" optional="true" min="0" value="3" label="search radius for the search of the maximum in the signal after a maximum in the cwt was found" help=""/>
+        </section>
+        <section name="wavelet_transform" title="" help="" expanded="false">
+          <param name="spacing" argument="-algorithm:PeakPicker:wavelet_transform:spacing" type="float" optional="true" min="0.0" value="0.001" label="Spacing of the CWT" help="Note that the accuracy of the picked peak's centroid position depends in the Raw data spacing, i.e., 50% of raw peak distance at most"/>
+        </section>
+        <section name="deconvolution" title="" help="" expanded="false">
+          <param name="deconvolution" argument="-algorithm:PeakPicker:deconvolution:deconvolution" type="boolean" truevalue="true" falsevalue="false" checked="false" label="If you want heavily overlapping peaks to be separated set this value to &quot;true&quot;" help=""/>
+          <param name="asym_threshold" argument="-algorithm:PeakPicker:deconvolution:asym_threshold" type="float" optional="true" min="0.0" value="0.3" label="If the symmetry of a peak is smaller than asym_thresholds it is assumed that it consists of more than one peak and the deconvolution procedure is started" help=""/>
+          <param name="left_width" argument="-algorithm:PeakPicker:deconvolution:left_width" type="float" optional="true" min="0.0" value="2.0" label="1/left_width is the initial value for the left width of the peaks found in the deconvolution step" help=""/>
+          <param name="right_width" argument="-algorithm:PeakPicker:deconvolution:right_width" type="float" optional="true" min="0.0" value="2.0" label="1/right_width is the initial value for the right width of the peaks found in the deconvolution step" help=""/>
+          <param name="scaling" argument="-algorithm:PeakPicker:deconvolution:scaling" type="float" optional="true" min="0.0" value="0.12" label="Initial scaling of the cwt used in the separation of heavily overlapping peaks" help="The initial value is used for charge 1, for higher charges it is adapted to scaling/charge"/>
+          <section name="fitting" title="" help="" expanded="false">
+            <param name="fwhm_threshold" argument="-algorithm:PeakPicker:deconvolution:fitting:fwhm_threshold" type="float" optional="true" min="0.0" value="0.7" label="If the FWHM of a peak is higher than 'fwhm_thresholds' it is assumed that it consists of more than one peak and the deconvolution procedure is started" help=""/>
+            <param name="eps_abs" argument="-algorithm:PeakPicker:deconvolution:fitting:eps_abs" type="float" optional="true" min="0.0" value="9.999999747378752e-06" label="if the absolute error gets smaller than this value the fitting is stopped" help=""/>
+            <param name="eps_rel" argument="-algorithm:PeakPicker:deconvolution:fitting:eps_rel" type="float" optional="true" min="0.0" value="9.999999747378752e-06" label="if the relative error gets smaller than this value the fitting is stopped" help=""/>
+            <param name="max_iteration" argument="-algorithm:PeakPicker:deconvolution:fitting:max_iteration" type="integer" optional="true" min="1" value="10" label="maximal number of iterations for the fitting step" help=""/>
+            <section name="penalties" title="" help="" expanded="false">
+              <param name="position" argument="-algorithm:PeakPicker:deconvolution:fitting:penalties:position" type="float" optional="true" min="0.0" value="0.0" label="penalty term for the fitting of the peak position:If the position changes more than 0.5Da during the fitting it can be penalized as well as discrepancies of the peptide mass rule" help=""/>
+              <param name="height" argument="-algorithm:PeakPicker:deconvolution:fitting:penalties:height" type="float" optional="true" min="0.0" value="1.0" label="penalty term for the fitting of the intensity:If it gets negative during the fitting it can be penalized" help=""/>
+              <param name="left_width" argument="-algorithm:PeakPicker:deconvolution:fitting:penalties:left_width" type="float" optional="true" min="0.0" value="0.0" label="penalty term for the fitting of the left width:If the left width gets too broad or negative during the fitting it can be penalized" help=""/>
+              <param name="right_width" argument="-algorithm:PeakPicker:deconvolution:fitting:penalties:right_width" type="float" optional="true" min="0.0" value="0.0" label="penalty term for the fitting of the right width:If the right width gets too broad or negative during the fitting it can be penalized" help=""/>
+            </section>
+          </section>
+        </section>
+        <section name="SignalToNoiseEstimationParameter" title="" help="" expanded="false">
+          <param name="max_intensity" argument="-algorithm:PeakPicker:SignalToNoiseEstimationParameter:max_intensity" type="integer" optional="true" min="-1" value="-1" label="maximal intensity considered for histogram construction" help="By default, it will be calculated automatically (see auto_mode). Only provide this parameter if you know what you are doing (and change 'auto_mode' to '-1')! All intensities EQUAL/ABOVE 'max_intensity' will not be added to the histogram. If you choose 'max_intensity' too small, the noise estimate might be too small as well. If chosen too big, the bins become quite large (which you could counter by increasing 'bin_count', which increases runtime)"/>
+          <param name="auto_max_stdev_factor" argument="-algorithm:PeakPicker:SignalToNoiseEstimationParameter:auto_max_stdev_factor" type="float" optional="true" min="0.0" max="999.0" value="3.0" label="parameter for 'max_intensity' estimation (if 'auto_mode' == 0): mean + 'auto_max_stdev_factor' * stdev" help=""/>
+          <param name="auto_max_percentile" argument="-algorithm:PeakPicker:SignalToNoiseEstimationParameter:auto_max_percentile" type="integer" optional="true" min="0" max="100" value="95" label="parameter for 'max_intensity' estimation (if 'auto_mode' == 1): auto_max_percentile th percentile" help=""/>
+          <param name="auto_mode" argument="-algorithm:PeakPicker:SignalToNoiseEstimationParameter:auto_mode" type="integer" optional="true" min="-1" max="1" value="0" label="method to use to determine maximal intensity: -1 --&gt; use 'max_intensity'; 0 --&gt; 'auto_max_stdev_factor' method (default); 1 --&gt; 'auto_max_percentile' method" help=""/>
+          <param name="win_len" argument="-algorithm:PeakPicker:SignalToNoiseEstimationParameter:win_len" type="float" optional="true" min="1.0" value="200.0" label="window length in Thomson" help=""/>
+          <param name="bin_count" argument="-algorithm:PeakPicker:SignalToNoiseEstimationParameter:bin_count" type="integer" optional="true" min="3" value="30" label="number of bins for intensity values" help=""/>
+          <param name="stdev_mp" argument="-algorithm:PeakPicker:SignalToNoiseEstimationParameter:stdev_mp" type="float" optional="true" min="0.01" max="999.0" value="3.0" label="multiplier for stdev" help=""/>
+          <param name="min_required_elements" argument="-algorithm:PeakPicker:SignalToNoiseEstimationParameter:min_required_elements" type="integer" optional="true" min="1" value="10" label="minimum number of elements required in a window (otherwise it is considered sparse)" help=""/>
+          <param name="noise_for_empty_window" argument="-algorithm:PeakPicker:SignalToNoiseEstimationParameter:noise_for_empty_window" type="float" optional="true" value="1e+20" label="noise value used for sparse windows" help=""/>
+        </section>
+      </section>
+    </section>
+    <expand macro="adv_opts_macro">
+      <param name="force" argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overwrite tool specific checks" help=""/>
+      <param name="test" argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help="">
+        <expand macro="list_string_san"/>
+      </param>
     </expand>
+    <param name="OPTIONAL_OUTPUTS" type="select" multiple="true" label="Optional outputs" optional="true">
+      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
+    </param>
   </inputs>
   <outputs>
-    <data name="param_out" format="mzml"/>
+    <data name="out" label="${tool.name} on ${on_string}: out" format="mzml"/>
+    <data name="ctd_out" format="xml" label="${tool.name} on ${on_string}: ctd">
+      <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
   </outputs>
-  <help>Applies time of flight calibration.
+  <tests>
+    <expand macro="autotest_TOFCalibration"/>
+    <expand macro="manutest_TOFCalibration"/>
+  </tests>
+  <help><![CDATA[Applies time of flight calibration.
 
 
-For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.3.0/html/TOPP_TOFCalibration.html</help>
+For more information, visit http://www.openms.de/documentation/TOPP_TOFCalibration.html]]></help>
+  <expand macro="references"/>
 </tool>
--- a/filetypes.txt	Fri May 17 10:05:40 2019 -0400
+++ b/filetypes.txt	Wed Sep 09 12:59:26 2020 +0000
@@ -1,29 +1,85 @@
-# CTD type    # Galaxy type     # Long Galaxy data type                    # Mimetype
-csv           tabular           galaxy.datatypes.tabular:Tabular
-fasta         fasta             galaxy.datatypes.sequence:Fasta
-FASTA         fasta             galaxy.datatypes.sequence:Fasta
-ini           txt               galaxy.datatypes.data:Text
-txt           txt               galaxy.datatypes.data:Text
-options       txt               galaxy.datatypes.data:Text
-grid          grid              galaxy.datatypes.data:Grid
-html          html              galaxy.datatypes.text:Html                  text/html
-HTML          html              galaxy.datatypes.text:Html                  text/html
-TraML         traml             galaxy.datatypes.proteomics:TraML           application/xml
-traML         traml             galaxy.datatypes.proteomics:TraML           application/xml
-XML           xml               galaxy.datatypes.xml:GenericXml             application/xml
-consensusXML  consensusxml      galaxy.datatypes.proteomics:ConsensusXML    application/xml
-edta          tabular           galaxy.datatypes.tabular:Tabular 
-featureXML    featurexml        galaxy.datatypes.proteomics:FeatureXML      application/xml
-idXML         idxml             galaxy.datatypes.proteomics:IdXML           application/xml
-mzML          mzml              galaxy.datatypes.proteomics:MzML            application/xml
-mzXML         mzxml             galaxy.datatypes.proteomics:MzXML           application/xml
-pepXML        pepxml            galaxy.datatypes.proteomics:PepXml          application/xml
-qcML          qcml              galaxy.datatypes.xml:GenericXml             application/xml
-trafoXML      trafoxml          galaxy.datatypes.xml:GenericXml             application/xml
-tsv           tabular           galaxy.datatypes.tabular:Tabular
-xsd           txt               galaxy.datatypes.data:Text
-mzq           mzq               galaxy.datatypes.proteomics:MzQuantML       application/xml
-msp           msp               galaxy.datatypes.proteomics:Msp
-mzid          mzid              galaxy.datatypes.proteomics:MzIdentML       application/xml
-png           png               galaxy.datatypes.images:Png                 image/png
-mgf           mgf               galaxy.datatypes.proteomics:Mgf
+# CTD type    # Galaxy type
+# the following lines need to be at the top in order to ensure 
+# correct translation Galaxy->CTD type for the ambiguous cases
+# (should only be relevant for the autogenerated tests [which 
+# do not set the ftype of the inputs])
+txt           txt
+tsv           tabular
+
+##analysisXML
+# XTandemAdapter output is named xml in OMS (which is to unspecific) and bioml in Galaxy .. so this is renamed via hardcoded parameters 
+bioml         xml
+consensusXML  consensusxml
+# TODO csv is problematic, since csv often actually means tsv .. but not always
+csv           csv
+##dat
+dta           dta
+dta2d         dta2d
+edta          edta
+fa            fasta
+fas           fasta
+fasta         fasta
+FASTA         fasta
+featureXML    featurexml
+featurexml    featurexml
+# fid
+html          html
+HTML          html
+idXML         idxml
+##ini         txt
+json          json
+kroenik	      kroenik
+mascotXML     mascotxml
+mgf           mgf
+mrm           mrm
+ms            sirius.ms
+ms2           ms2
+msp           msp
+mzData        mzdata
+mzid          mzid
+# important to have mzML first, since LuciphorAdapter is case sensitive https://github.com/OpenMS/OpenMS/issues/4444
+mzML          mzml
+mzml          mzml
+mzq           mzq
+mzTab         mztab
+mzXML         mzxml
+novor         txt
+obo           obo
+# I guess this is the idXML output of omssa
+omssaXML      idxml
+osw           osw
+OSW           osw
+params        txt
+paramXML      paramxml
+fasta         peff
+peplist       peplist
+# TODO pep.xml should be removed with OMS 2.6 https://github.com/OpenMS/OpenMS/pull/4541
+pep.xml       pepxml
+pepXML        pepxml
+png           png
+PNG           png
+protXML       protxml
+psms          psms
+# TODO implement or use
+# psq
+pqp           pqp
+qcML          qcml
+spec.xml      spec.xml
+splib         splib
+sqMass        sqmass
+tandem.xml    tandem
+trafoXML      trafoxml
+traML         traml
+TraML         traml
+tab           tabular
+## MOVED TO TOP txt           txt
+raw           thermo.raw
+## xls: SpectraSTSearchAdapter https://github.com/OpenMS/OpenMS/pull/4419
+xls           tsv
+XML           xml
+xml           xml
+xquest.xml    xquest.xml
+xsd           xml
+
+# TODO needs to be implemented, needs to be below xml in order that Galaxy->OMS mapping gives xml
+# cachedMzML    xml
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fill_ctd.py	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,190 @@
+import collections
+import json
+import operator
+import os
+import re
+import subprocess
+import sys
+from functools import reduce  # forward compatibility for Python 3
+
+from CTDopts.CTDopts import (
+    _Choices,
+    _InFile,
+    _Null,
+    _NumericRange,
+    CTDModel
+)
+
+
+def getFromDict(dataDict, mapList):
+    return reduce(operator.getitem, mapList, dataDict)
+
+
+def setInDict(dataDict, mapList, value):
+    getFromDict(dataDict, mapList[:-1])[mapList[-1]] = value
+
+
+def mergeDicts(d, e):
+    """
+    insert values from the dict e into dict d
+    no values of d are overwritten
+    """
+    for k, v in e.items():
+        if (k in d and isinstance(d[k], dict) and isinstance(e[k], collections.abc.Mapping)):
+            mergeDicts(d[k], e[k])
+        elif k not in d and not isinstance(e[k], collections.abc.Mapping):
+            d[k] = e[k]
+        else:
+            sys.stderr.write("fill_ctd.py: could not merge key %s for %s in %s" % (k, d, e))
+            sys.exit(1)
+
+
+def _json_object_hook_noenvlookup(d):
+    return _json_object_hook(d, envlookup=False)
+
+
+def _json_object_hook(d, envlookup=True):
+    """
+    wee helper to transform the json written by galaxy
+    while loading
+    - True/False (bool objects) -> "true"/"false" (lowercase string)
+    - data inputs with multiple and optional true give [None] if no file is given -> []
+    - None -> "" (empty string)
+    - replace bash expressions (if envlookup is True):
+      - environment variables (need to consist capital letters and _) by their value
+      - expressions
+    """
+    for k in d.keys():
+        # if type(d[k]) is bool:
+        #     d[k] = str(d[k]).lower()
+        # else
+        if type(d[k]) is list and len(d[k]) == 1 and d[k][0] is None:
+            d[k] = []
+        elif d[k] is None:
+            d[k] = ""
+        elif envlookup and type(d[k]) is str and d[k].startswith("$"):
+            m = re.fullmatch(r"\$([A-Z_]+)", d[k])
+            if m:
+                d[k] = os.environ.get(m.group(1), "")
+                continue
+            m = re.fullmatch(r"\$(\{[A-Z_]+):-(.*)\}", d[k])
+            if m:
+                d[k] = os.environ.get(m.group(1), m.group(2))
+                continue
+
+            try:
+                p = subprocess.run("echo %s" % d[k], shell=True, check=True, stdout=subprocess.PIPE, encoding="utf8")
+                d[k] = p.stdout.strip()
+            except subprocess.CalledProcessError:
+                sys.stderr.write("fill_ctd error: Could not evaluate %s" % d[k])
+                continue
+    return d
+
+
+def qstring2list(qs):
+    """
+    transform a space separated string that is quoted by " into a list
+    """
+    lst = list()
+    qs = qs.split(" ")
+    quoted = False
+    for p in qs:
+        if p == "":
+            continue
+        if p.startswith('"') and p.endswith('"'):
+            lst.append(p[1:-1])
+        elif p.startswith('"'):
+            quoted = True
+            lst.append(p[1:] + " ")
+        elif p.endswith('"'):
+            quoted = False
+            lst[-1] += p[:-1]
+        else:
+            if quoted:
+                lst[-1] += p + " "
+            else:
+                lst.append(p)
+    return lst
+
+
+def fix_underscores(args):
+    if type(args) is dict:
+        for k in list(args.keys()):
+            v = args[k]
+            if type(v) is dict:
+                fix_underscores(args[k])
+            if k.startswith("_"):
+                args[k[1:]] = v
+                del args[k]
+    elif type(args) is list:
+        for i, v in enumerate(args):
+            if type(v) is dict:
+                fix_underscores(args[i])
+
+
+input_ctd = sys.argv[1]
+
+# load user specified parameters from json
+with open(sys.argv[2]) as fh:
+    args = json.load(fh, object_hook=_json_object_hook_noenvlookup)
+
+# load hardcoded parameters from json
+with open(sys.argv[3]) as fh:
+    hc_args = json.load(fh, object_hook=_json_object_hook)
+
+# insert the hc_args into the args
+mergeDicts(args, hc_args)
+
+if "adv_opts_cond" in args:
+    args.update(args["adv_opts_cond"])
+    del args["adv_opts_cond"]
+
+# IDMapper has in and spectra:in params, in is used in out as format_source",
+# which does not work in Galaxy: https://github.com/galaxyproject/galaxy/pull/9493"
+# therefore hardcoded params change the name of spectra:in to spectra:_in
+# which is corrected here again
+# TODO remove once PR is in and adapt profile accordingly
+fix_underscores(args)
+
+model = CTDModel(from_file=input_ctd)
+
+# transform values from json that correspond to
+# - old style booleans (string + restrictions) -> transformed to a str
+# - unrestricted ITEMLIST which are represented as strings
+#   ("=quoted and space separated) in Galaxy -> transform to lists
+# - optional data input parameters that have defaults and for which no
+#   value is given -> overwritte with the default
+for p in model.get_parameters():
+
+    # check if the parameter is in the arguments from the galaxy tool
+    # (from the json file(s)), since advanced parameters are absent
+    # if the conditional is set to basic parameters
+    try:
+        getFromDict(args, p.get_lineage(name_only=True))
+    except KeyError:
+        # few tools use dashes in parameters which are automatically replaced
+        # by underscores by Galaxy. in these cases the dictionary needs to be
+        # updated
+        # TODO might be removed later https://github.com/OpenMS/OpenMS/pull/4529
+        try:
+            lineage = [_.replace("-", "_") for _ in p.get_lineage(name_only=True)]
+            val = getFromDict(args, lineage)
+        except KeyError:
+            continue
+        else:
+            setInDict(args, lineage, val)
+
+    if p.type is str and type(p.restrictions) is _Choices and set(p.restrictions.choices) == set(["true", "false"]):
+        v = getFromDict(args, p.get_lineage(name_only=True))
+        setInDict(args, p.get_lineage(name_only=True), str(v).lower())
+
+    elif p.is_list and (p.restrictions is None or type(p.restrictions) is _NumericRange):
+        v = getFromDict(args, p.get_lineage(name_only=True))
+        if type(v) is str:
+            setInDict(args, p.get_lineage(name_only=True), qstring2list(v))
+    elif p.type is _InFile and not (p.default is None or type(p.default) is _Null):
+        v = getFromDict(args, p.get_lineage(name_only=True))
+        if v in [[], ""]:
+            setInDict(args, p.get_lineage(name_only=True), p.default)
+
+model.write_ctd(input_ctd, arg_dict=args)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fill_ctd_clargs.py	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,40 @@
+#!/usr/bin/env python3
+from argparse import ArgumentParser
+from io import StringIO
+
+from CTDopts.CTDopts import (
+    CTDModel,
+    ModelTypeError,
+    Parameters
+)
+
+if __name__ == "__main__":
+    # note add_help=False since otherwise arguments starting with -h will
+    # trigger an error (despite allow_abbreviate)
+    parser = ArgumentParser(prog="fill_ctd_clargs",
+                            description="fill command line arguments"
+                            "into a CTD file and write the CTD file to",
+                            add_help=False, allow_abbrev=False)
+    parser.add_argument("--ctd", dest="ctd", help="input ctd file",
+                        metavar='CTD', default=None, required=True)
+    args, cliargs = parser.parse_known_args()
+    # load CTDModel
+    model = None
+    try:
+        model = CTDModel(from_file=args.ctd)
+    except ModelTypeError:
+        pass
+    try:
+        model = Parameters(from_file=args.ctd)
+    except ModelTypeError:
+        pass
+    assert model is not None, "Could not parse %s, seems to be no CTD/PARAMS" % (args.ctd)
+
+    # get a dictionary of the ctd arguments where the values of the parameters
+    # given on the command line are overwritten
+    margs = model.parse_cl_args(cl_args=cliargs, ignore_required=True)
+
+    # write the ctd with the values taken from the dictionary
+    out = StringIO()
+    ctd_tree = model.write_ctd(out, margs)
+    print(out.getvalue())
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generate-foo.sh	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,217 @@
+#!/usr/bin/env bash
+
+# parse test definitions from OpenMS sources for a tool with a given id
+function get_tests2 {
+	id=$1
+	>&2 echo "generate tests for $id"
+	echo '<xml name="autotest_'"$id"'">'
+
+	# get the tests from the CMakeLists.txt
+	# 1st remove some tests
+	# - Filefilter with empty select_palarity value (empty is not in the list of allowed options)
+	# - MassTraceExtractor with outdated ini file leading to wrong parameters https://github.com/OpenMS/OpenMS/issues/4386
+	# - OpenSwathMzMLFileCacher with -convert_back argumen https://github.com/OpenMS/OpenMS/issues/4399
+    # - IDRipper PATH gets empty causing problems. TODO But overall the option needs to be handled differentlt
+	# - several tools with duplicated input (leads to conflict when linking)
+	# - TOFCalibration inputs we extension (also in prepare_test_data) https://github.com/OpenMS/OpenMS/pull/4525
+	# - MaRaCluster with -consensus_out (parameter blacklister: https://github.com/OpenMS/OpenMS/issues/4456)
+	# - FileMerger with mixed dta dta2d input (ftype can not be specified in the test, dta can not be sniffed)
+	# - some input files are originally in a subdir (degenerated cases/), but not in test-data
+	# - SeedListGenerator: https://github.com/OpenMS/OpenMS/issues/4404
+	# - OpenSwathAnalyzer 9/10: cachedMzML (not supported yet)
+	CMAKE=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake  |
+		sed 's@${DATA_DIR_SHARE}/@@g' |
+		grep -v 'OpenSwathMzMLFileCacher .*-convert_back' |
+	    	sed 's/${TMP_RIP_PATH}/""/' |
+		sed 's@TOFCalibration_ref_masses @TOFCalibration_ref_masses.txt @g; s@TOFCalibration_const @TOFCalibration_const.csv @' |
+		grep -v "MaRaClusterAdapter.*-consensus_out"|
+ 		grep -v "FileMerger_1_input1.dta2d.*FileMerger_1_input2.dta " |
+		sed 's@degenerate_cases/@@g' |
+		grep -v 'TOPP_SeedListGenerator_3"' | 
+		egrep -v 'TOPP_OpenSwathAnalyzer_test_3"|TOPP_OpenSwathAnalyzer_test_4"')
+
+
+# 		grep -v 'FileFilter.*-spectra:select_polarity ""' |
+# 		grep -v 'MassTraceExtractor_2.ini ' |
+# 		grep -v "FileMerger_6_input2.mzML.*FileMerger_6_input2.mzML" |
+# 		grep -v "IDMerger_1_input1.idXML.*IDMerger_1_input1.idXML" |
+# 		grep -v "degenerated_empty.idXML.*degenerated_empty.idXML" |
+# 		grep -v "FeatureLinkerUnlabeledKD_1_output.consensusXML.*FeatureLinkerUnlabeledKD_1_output.consensusXML" |
+# 		grep -v "FeatureLinkerUnlabeledQT_1_output.consensusXML.*FeatureLinkerUnlabeledQT_1_output.consensusXML" |
+
+	# 1st part is a dirty hack to join lines containing a single function call, e.g.
+	# addtest(....
+	#         ....)
+	echo "$CMAKE" | sed 's/#.*//; s/^\s*//; s/\s*$//' | grep -v "^#" | grep -v "^$"  | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | 
+		grep -iE "add_test\(\"(TOPP|UTILS)_.*/$id " | egrep -v "_prepare\"|_convert|WRITEINI|WRITECTD|INVALIDVALUE"  | while read -r line
+	do
+		line=$(echo "$line" | sed 's/add_test("\([^"]\+\)"/\1/; s/)$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g')
+		# >&2 echo $line
+		test_id=$(echo "$line" | cut -d" " -f 1)
+		tool_id=$(echo "$line" | cut -d" " -f 2)
+		if [[ $test_id =~ _out_?[0-9]? ]]; then
+			>&2 echo "    skip $test_id $line"
+			continue
+		fi
+		if [[ ${id,,} != ${tool_id,,} ]]; then
+			>&2 echo "    skip $test_id ($id != $tool_id) $line"
+			continue
+		fi
+
+		#remove tests with set_tests_properties(....PROPERTIES WILL_FAIL 1)
+		if grep -lq "$test_id"'\".* PROPERTIES WILL_FAIL 1' $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake; then
+			>&2 echo "    skip failing "$test_id
+			continue
+		fi
+		tes="  <test>\n"
+		line=$(fix_tmp_files "$line")
+		line=$(unique_files "$line")
+		# >&2 echo $line
+		#if there is an ini file then we use this to generate the test
+		#otherwise the ctd file is used
+		#other command line parameters are inserted later into this xml
+		if grep -lq "\-ini" <<<"$line"; then
+			ini=$(echo $line | sed 's/.*-ini \([^ ]\+\).*/\1/')
+			ini="test-data/$ini"
+		else
+			ini="ctd/$tool_id.ctd"
+		fi
+		cli=$(echo $line |cut -d" " -f3- | sed 's/-ini [^ ]\+//')
+		
+		ctdtmp=$(mktemp)
+		#echo python3 fill_ctd_clargs.py --ctd $ini $cli
+		# using eval: otherwise for some reason quoted values are not used properly ('A B' -> ["'A", "B'"])
+		# >&2 echo "python3 fill_ctd_clargs.py --ctd $ini $cli"
+		eval "python3 fill_ctd_clargs.py --ctd $ini $cli" > "$ctdtmp"
+		# echo $ctdtmp
+ 		# >&2 cat $ctdtmp
+  		testtmp=$(mktemp)
+ 		python3 $CTDCONVERTER/convert.py galaxy -i $ctdtmp -o $testtmp -s tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf  -p hardcoded_params.json --tool-version $VERSION --test-only --test-unsniffable csv tsv txt dta dta2d edta mrm splib > /dev/null
+	   	cat $testtmp | grep -v '<output.*file=""' # | grep -v 'CHEMISTRY/'
+		rm $ctdtmp $testtmp
+
+		#> /dev/null
+
+		#rm $testtmp
+	done 
+	echo '</xml>'
+}
+
+#some tests use the same file twice which does not work in planemo tests
+#hence we create symlinks for each file used twice
+function unique_files {
+	line=$@
+	for arg in $@
+	do
+		if [[ ! -f "test-data/$arg" ]]; then
+			continue
+		fi
+		cnt=$(grep -c $arg <<< $(echo "$line" | tr ' ' '\n'))
+		while [[ $cnt -gt 1 ]]; do
+            new_arg=$(echo $arg | sed "s/\(.*\)\./\1_$cnt./")
+			ln -fs $arg test-data/$new_arg
+			line=$(echo $line | sed "s/\($arg.*\)$arg/\1$new_arg/")
+			cnt=$(grep -c $arg <<< $(echo "$line" | tr ' ' '\n'))
+		done
+	done
+
+	echo $line
+}
+
+# options of out_type selects need to be fixed to Galaxy data types
+function fix_out_type {
+	grep "^$1" "$2" | awk '{print $2}'
+}
+
+#OpenMS tests output to tmp files and compare with FuzzyDiff to the expected file.
+#problem: the extension of the tmp files is unusable for test generation.
+#unfortunately the extensions used in the DIFF lines are not always usable for the CLI
+#(e.g. for prepare_test_data, e.g. CLI expects csv but test file is txt)
+#this function replaces the tmp file by the expected file. 
+function fix_tmp_files {
+#	>&2 echo "FIX $line"
+	ret=""
+	for a in $@; do
+		if [[ ! $a =~ .tmp$ ]]; then
+			ret="$ret $a"
+			continue
+		fi
+#		>&2 echo "    a "$a
+		g=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | grep '\${DIFF}.*'"$a")
+#		>&2 echo "    g "$g
+		in1=$(sed 's/.*-in1 \([^ ]\+\).*/\1/' <<<$g)
+		# >&2 echo "    in1 "$in1
+		if [[  "$a" != "$in1" ]]; then
+			ret="$ret $a"
+			continue
+		fi
+		in2=$(sed 's/.*-in2 \([^ ]\+\).*/\1/' <<<$g)
+		in2=$(basename $in2 | sed 's/)$//')
+		# >&2 echo "    in2 "$in2
+		if [[ -f "test-data/$in2" ]]; then
+			ln -fs "$in1" "test-data/$in2"
+			ret="$ret $in2"
+		else
+			ret="$ret $a"
+		fi
+	done
+#	>&2 echo "--> $ret"
+	echo "$ret"
+}
+
+function link_tmp_files {
+    # note this also considers commented lines (starting with a #)
+    # because of tests where the diff command is commented and we
+    # still want to use the extension of these files
+    cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | sed 's/^\s*//; s/\s*$//' | grep -v "^$"  | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | grep "\${DIFF}" | while read -r line
+    do
+        in1=$(sed 's/.*-in1 \([^ ]\+\).*/\1/' <<<$line)
+        in1=$(basename $in1 | sed 's/)$//')
+        in2=$(sed 's/.*-in2 \([^ ]\+\).*/\1/' <<<$line)
+        in2=$(basename $in2 | sed 's/)$//')
+        if [[ "$in1" == "$in2" ]]; then
+            >&2 echo "not linking equal $in1 $in2"
+            continue
+        fi
+        ln -f -s $in1 test-data/$in2
+    done
+    for i in test-data/*.tmp
+    do
+        if [ ! -e test-data/$(basename $i .tmp) ]; then
+            ln -s $(basename $i) test-data/$(basename $i .tmp)
+            #ln -s $(basename $i) test-data/$(basename $i .tmp)
+        else
+            ln -fs $(basename $i) test-data/$(basename $i .tmp)
+        fi
+    done
+}
+
+
+
+# parse data preparation calls from OpenMS sources for a tool with a given id
+function prepare_test_data {
+# 	id=$1
+# | egrep -i "$id\_.*[0-9]+(_prepare\"|_convert)?"
+	cat $OPENMSGIT/src/tests/topp/CMakeLists.txt  $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | sed 's/#.*$//'| sed 's/^\s*//; s/\s*$//' | grep -v "^$"  | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | 
+		sed 's/degenerate_cases\///' | 
+		egrep -v "WRITEINI|WRITECTD|INVALIDVALUE|DIFF" | 
+		grep add_test | 
+		egrep "TOPP|UTILS" |
+		sed 's@${DATA_DIR_SHARE}/@@g;'|
+		sed 's@${TMP_RIP_PATH}@dummy2.tmp@g'|
+		sed 's@TOFCalibration_ref_masses @TOFCalibration_ref_masses.txt @g; s@TOFCalibration_const @TOFCalibration_const.csv @'| 
+	while read line
+	do
+		test_id=$(echo "$line" | sed 's/add_test(//; s/"//g;  s/)[^)]*$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g' | cut -d" " -f1)
+
+		if grep -lq "$test_id"'\".* PROPERTIES WILL_FAIL 1' $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake; then
+			>&2 echo "    skip failing "$test_id
+			continue
+		fi
+
+		line=$(echo "$line" | sed 's/add_test("//; s/)[^)]*$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g' | cut -d" " -f2-)
+		# line="$(fix_tmp_files $line)"
+		echo "$line > $test_id.stdout 2> $test_id.stderr"
+		echo "if [[ \"\$?\" -ne \"0\" ]]; then >&2 echo '$test_id failed'; >&2 echo -e \"stderr:\n\$(cat $test_id.stderr | sed 's/^/    /')\"; echo -e \"stdout:\n\$(cat $test_id.stdout)\";fi"	
+    done
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generate.sh	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+
+# VERSION=2.3
+# CONDAPKG=https://anaconda.org/bioconda/openms/2.3.0/download/linux-64/openms-2.3.0-py27h932d754_3.tar.bz2
+# VERSION=2.4
+# CONDAPKG=https://anaconda.org/bioconda/openms/2.4.0/download/linux-64/openms-2.4.0-py27h574aadf_1.tar.bz2
+
+VERSION=2.5
+FILETYPES="filetypes.txt"
+PROFILE="20.05"
+## FILETYPES_RE=$(grep -v "^#" $FILETYPES | grep -v "^$" | cut -f 1 -d" " | tr '\n' '|' | sed 's/|$//'| sed 's/|/\\|/g')
+
+export tmp=$(mktemp -d)
+
+export CTDCONVERTER="$tmp/CTDConverter"
+
+export PYTHONPATH="$(pwd)/CTDopts/"
+###############################################################################
+## reset old data
+###############################################################################
+# rm $(ls *xml |grep -v macros)
+# rm -rf ctd
+# mkdir -p ctd
+# echo "" > prepare_test_data.sh
+
+###############################################################################
+## generate tests
+## also creates 
+## - conda environment (for executing the binaries) and 
+## - the git clone of OpenMS (for generating the tests)
+## - ctd files
+###############################################################################
+bash ./test-data.sh ./macros_autotest.xml
+
+###############################################################################
+## get the 
+## - conda package (for easy access and listing of the OpenMS binaries), 
+###############################################################################
+# if [ ! -d $OPENMSPKG ]; then
+# 	mkdir $OPENMSPKG/
+# 	wget -P $OPENMSPKG/ "$CONDAPKG"
+# 	tar -xf $OPENMSPKG/"$(basename $CONDAPKG)" -C OpenMS$VERSION-pkg/
+#   rm $OPENMSPKG/"$(basename $CONDAPKG)"
+# fi
+
+###############################################################################
+## Get python libaries for CTD -> Galaxy conversion
+## TODO fix to main repo OR conda packkage if PRs are merged 
+###############################################################################
+# if [ ! -d CTDopts ]; then
+# 	# git clone https://github.com/genericworkflownodes/CTDopts CTDopts
+# 	git clone -b topic/no-1-2x https://github.com/bernt-matthias/CTDopts CTDopts
+# fi
+if [ ! -d $CTDCONVERTER ]; then
+	#git clone https://github.com/WorkflowConversion/CTDConverter.git CTDConverter
+	git clone -b topic/cdata https://github.com/bernt-matthias/CTDConverter.git $CTDCONVERTER
+fi
+# export PYTHONPATH=$(pwd)/CTDopts
+###############################################################################
+## conversion ctd->xml 
+###############################################################################
+source $(dirname $(which conda))/../etc/profile.d/conda.sh
+conda activate $tmp/OpenMS$VERSION-env
+python $CTDCONVERTER/convert.py galaxy -i ctd/*ctd -o ./ -s tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf  -p hardcoded_params.json --test-macros macros_autotest.xml --test-macros-prefix autotest_  --test-macros macros_test.xml --test-macros-prefix manutest_ --tool-version $VERSION --tool-profile $PROFILE > convert.out 2> convert.err
+if [[ "$?" -ne "0" ]]; then >&2 echo 'CTD -> XML conversion failed'; >&2 echo -e "stderr:\n$(cat convert.err)"; fi
+conda deactivate
+
+patch PepNovoAdapter.xml < PepNovoAdapter.patch
+patch OMSSAAdapter.xml < OMSSAAdapter.patch
+
+# #-b version log debug test in_type executable pepnovo_executable param_model_directory rt_concat_trafo_out param_id_pool
+
+# for i in A-E F-H I-L M-N O-P Q-Z
+# do
+# 	planemo t [$i]*xml --galaxy_branch release_20.05 --galaxy_python_version 3.7 --test_output $i.html --test_output_json $i.json &
+# done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hardcoded_params.json	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,247 @@
+{
+	"#": "blacklist parameters",
+
+	"version": [{"value": "@"}],
+	"debug": [{"value": "@"}],
+	"algorithm:debug": [{"value": "@"}],
+	"java_memory": [{"value": "@"}],
+	"java_permgen": [{"value": "@"}],
+	"#": "type of input is always determined from the file extension ",
+	"in_type": [{"value": "@"}],
+
+	"#": "tool specific blacklist parameters",
+
+	"convert_back": [{"value": "@", "tools": ["OpenSwathMzMLFileCacher"]}],
+	"NET_executable": [{
+			"value": "@", 
+			"tools": ["FileConverter"]
+	}],
+
+
+	"params_file": [{"value": "@", "tools": ["SpectraSTSearchAdapter"]}],
+
+	"#": "TODO not usable in 2.5 https://github.com/OpenMS/OpenMS/issues/4456, corresponding test currently disabled",
+    	"consensus_out": [{"value": "@", "tools": ["MaRaClusterAdapter"]}],
+	"#": "TODO would need treatment as prefix-output",
+	"output_directory": [{"value": "@", "tools": ["MaRaClusterAdapter"]}],
+
+	"#": "hardcode parameter values",
+
+	"comet_version": [{
+		"value":"2016.01 rev. 3"
+	}],
+	"comet_executable": [{
+		"value":"comet"
+	}],
+	"crux_executable": [{
+		"value": "crux"
+	}],
+	"fido_executable": [{
+		"value":"Fido"
+	}],
+	"fidocp_executable": [{
+		"value":"FidoChooseParameters"
+	}],
+	"maracluster_executable": [{
+		"value":"/home/berntm/projects/tools-galaxyp/tools/openms/OpenMS2.5.0-git/THIRDPARTY/Linux/64bit/MaRaCluster/maracluster"
+	}],
+	"mascot_directory": [{
+		"value":"TODO"
+	}],
+	"myrimatch_executable": [{
+		"value":"myrimatch"
+	}],
+	"omssa_executable": [{
+		"value":"$(dirname $(realpath $(which omssacl)))/omssacl"
+	}],
+	"ThermoRaw_executable": [{
+		"value": "ThermoRawFileParser.exe", 
+		"tools": ["FileConverter"]
+	}],
+	"pepnovo_executable": [{
+		"value":"pepnovo"
+	}],
+	"percolator_executable": [{
+		"value":"percolator"
+	}],
+	"xtandem_executable": [{
+		"value":"xtandem"
+	}],
+	"executable": [
+		{
+			"value":"$(dirname $(realpath $(which luciphor2)))/luciphor2.jar",
+			"tools": ["LuciphorAdapter"]
+		}, {
+			"value":"/home/berntm/Downloads/MSFragger-20171106/MSFragger-20171106.jar",
+			"tools": ["MSFraggerAdapter"]
+		}, {
+			"value":"$(msgf_plus -get_jar_path)",
+			"tools": ["MSGFPlusAdapter"]
+		}, {
+			"value": "/home/berntm/Downloads/novor/lib/novor.jar",
+			"tools": ["NovorAdapter"]
+		}, {
+			"value":"$(which sirius)",
+			"tools": ["SiriusAdapter", "AssayGeneratorMetabo"]
+		}, {
+			"value":"spectrast",
+			"tools": ["SpectraSTSearchAdapter"]
+		}
+	],
+	"r_executable": [{
+		"value":"R"
+	}],
+	"rscript_executable": [{
+		"value":"Rscript"
+	}],
+	"java_executable": [{
+		"value":"java"
+	}],
+	"log": [{
+		"value":"log.txt"
+	}],
+	"tempDirectory": [{
+		"value":"$TMP_DIR"
+	}],
+	"temp_data_directory": [{
+		"value":"$TMP_DIR"
+	}],
+	"algorithm:Preprocessing:tmp_dir": [{
+		"value":"$TMP_DIR"
+	}],
+	"no_progress": [{
+		"value": true
+	}],
+	"#": "only used in LuciphorAdapter at the moment, inconsistency will be fixed",
+	"num_threads": [{
+		"value":"${GALAXY_SLOTS:-1}"
+	}],
+	"threads": [{
+		"value": "${GALAXY_SLOTS:-1}"
+	}],
+	"#": "hardcode the outer loop threads for OpenSwathWorkflow",
+	"outer_loop_threads": [{
+			"value": "1", 
+			"tools": ["OpenSwathWorkflow"]
+	}],
+	"separator": [{
+		"value": ",",
+		"tools": ["IDMassAccuracy"]
+	}],
+	"#": "overwrite/add Galaxy xml attributes of some parameters (names need to start with param_)",
+
+	"#": "test is not a hardcoded value since we need to set it in the tool tests", 
+	"test": [{
+		"CTD:type": "text",
+		"XML:type": "hidden"
+	}],
+
+	"#": "overwrite CTD attributes of some parameters (some are not possible, e.g. type)",
+
+	"#": "for some tools the user needs to select the desired output type since detection by extension makes no sense for galaxy tools",
+	"out_type": [{
+	    "CTD:required": true,
+	    "CTD:advanced": false
+	}],
+
+	"#": "SeedListGenerator with consensusXML input needs a dynamic number of outputs that depends on the content of the input, so we remove this options at the moment because its hard or impossible to implement in Galaxy, https://github.com/OpenMS/OpenMS/issues/4404 .. see also in parameter",
+	"#": "FileInfo, MapStatistics, SequenceCoverageCalculator wo -out just writes to stdout. not wanted here",
+	"#": "MascotAdapter: https://github.com/OpenMS/OpenMS/pull/4553",
+	"#": "Phosphoscoring: https://github.com/OpenMS/OpenMS/pull/4569",
+	"#": "MzMLSplitter output prefix https://github.com/OpenMS/OpenMS/issues/4404",
+	"#": "IDRipper: blacklist out (is doing the same as the output-prefix out-path)",
+	"out": [{
+		"CTD:is_list": false, 
+		"tools": ["SeedListGenerator"]
+	}, {
+	 	"CTD:required": true,
+		"tools": ["FileInfo", "MapStatistics", "SequenceCoverageCalculator"]
+	}, {
+		"CTD:restrictions": "idXML",
+		"tools": ["MascotAdapter"]
+	}, {
+		"CTD:restrictions": "idXML",
+		"tools": ["PhosphoScoring"]	
+	}, {
+		"CTD:type": "output-prefix", 
+		"CTD:required": "true",
+		"CTD:restrictions": "mzml",
+		"tools": ["MzMLSplitter"]
+	}, {
+		"value": "@", 
+		"tools": ["IDRipper"]
+	}],
+
+	"#": "https://github.com/OpenMS/OpenMS/pull/4552 .. if this is removed the test will need out_cm_FLAG",
+	"out_cm": [{
+		"CTD:required": true, 
+		"tools": ["MetaboliteAdductDecharger"]
+	}],
+
+
+	"#": "https://github.com/OpenMS/OpenMS/pull/4451", 
+	"out_xquestxml": [{
+		"CTD:restrictions": "xquest.xml",
+		"tools": ["OpenPepXL", "OpenPepXLLF"]
+	}],
+	"out_xquest_specxml": [{
+		"CTD:restrictions": "spec.xml",
+		"tools": ["OpenPepXL", "OpenPepXLLF"]
+	}],
+
+	"#": "Try to remove xml data type whereever possible",
+	"#": "XTandem Adapter output is called .xml in OMS -> use Galaxy's bioml",
+	"xml_out": [{
+		"CTD:restrictions": "bioml",
+		"tools": ["XTandemAdapter"]
+	}],
+	
+	"#": "IDFileConverter remove xml",
+	"#": "OpenSwathWorkflow make in single file input and all outputs non-optional",
+        "#": "XFDR does not need xml .. redundant with xquest.xml TODO check if list is up to date with each new release",
+        "#": "SpectraSTSearchAdapter does not need xml .. redundant with pep.xml TODO check if list is up to date with each new release",
+	"#": "SeedListGenerator https://github.com/OpenMS/OpenMS/issues/4404 .. see also out parameter",
+	"in": [{
+		"CTD:restrictions": "pepXML,protXML,mascotXML,omssaXML,bioml,psms,tsv,idXML,mzid,xquest.xml",
+		"tools": ["IDFileConverter"]
+	}, {
+		"CTD:is_list": false, 
+		"tools": ["OpenSwathWorkflow"]
+	}, {
+		"CTD:restrictions": "idXML,mzid,xquest.xml",
+		"tools": ["XFDR"]
+	}, {
+		"CTD:restrictions": "txt,tsv,pep.xml,pepXML,html",
+		"tools": ["SpectraSTSearchAdapter"]
+	}, {
+		"CTD:restrictions": "mzML,idXML,featureXML",
+		"tools": ["SeedListGenerator"]
+	}],
+
+	"#": "parameter is a flag but restrictions in wrong order: TODO https://github.com/OpenMS/OpenMS/pull/4455",
+	"# masstrace_snr_filtering": [{
+		"CTD:restrictions": "true,false",
+		"tools": ["MassTraceExtractor"]
+	}],
+
+	"#": "IDMapper has in and spectra:in params, in is used in out as format_source",
+	"#": "which does not work in Galaxy: https://github.com/galaxyproject/galaxy/pull/9493", 
+	"spectra:in": [{
+		"CTD:name": "_in", 
+		"tools": ["IDMapper"]
+	}],
+
+	"#": "output-prefix",
+	"out_path": [{
+		"CTD:type": "output-prefix", 
+		"CTD:required": "true",
+		"CTD:restrictions": "idXML",
+		"tools": ["IDRipper"]
+	}],
+	"outputDirectory": [{
+		"CTD:type": "output-prefix", 
+		"CTD:required": "true",
+		"CTD:restrictions": "mzml",
+		"tools": ["OpenSwathFileSplitter"]
+	}]
+}
--- a/macros.xml	Fri May 17 10:05:40 2019 -0400
+++ b/macros.xml	Wed Sep 09 12:59:26 2020 +0000
@@ -1,11 +1,21 @@
 <?xml version='1.0' encoding='UTF-8'?>
+<!-- CTD2Galaxy depends on this file and on the stdio, advanced_options macros!
+     You can edit this file to add your own macros, if you so desire, or you can
+     add additional macro files using the m/macros parameter -->
 <macros>
+  <token name="@TOOL_VERSION@">2.5</token>
+  <token name="@GALAXY_VERSION@">0</token>
   <xml name="requirements">
     <requirements>
-      <requirement type="package" version="2.3">openms</requirement>
-      <requirement type="package" version="15.12.15.2">xtandem</requirement>
-      <requirement type="package" version="1.0">fido</requirement>
-      <requirement type="package" version="2017.07.21">msgf_plus</requirement>
+      <requirement type="package" version="@TOOL_VERSION@">openms</requirement>
+      <requirement type="package" version="@TOOL_VERSION@">openms-thirdparty</requirement>
+      <!-- makeblastdb for OMSSAAdapter -->
+      <requirement type="package" version="2.9.0">blast</requirement>
+      <requirement type="package" version="8.0.192">openjdk</requirement>
+      <!--<requirement type="package" version="5.0.0">tpp</requirement>-->
+      <!-- for realpath (used e.g. in LuciphorAdapter) -->
+	  <!--<requirement type="package" version="8.25">coreutils</requirement>-->
+	  <requirement type="package" version="1.4">ctdopts</requirement>
       <yield/>
     </requirements>
   </xml>
@@ -21,8 +31,8 @@
       <citation type="doi">doi:10.1186/1471-2105-9-163</citation>
     </citations>
   </xml>
-  <xml name="advanced_options">
-    <conditional name="adv_opts">
+  <xml name="adv_opts_macro">
+    <conditional name="adv_opts_cond">
       <param name="adv_opts_selector" type="select" label="Advanced Options">
         <option value="basic" selected="True">Hide Advanced Options</option>
         <option value="advanced">Show Advanced Options</option>
@@ -33,4 +43,87 @@
       </when>
     </conditional>
   </xml>
-</macros>
+
+  <!-- sanitizers and validators -->
+  <xml name="list_string_val">
+    <validator type="regex" message="parameter must not start with $">^[^$]</validator>
+    
+    <validator type="regex" message="a space separated list of string is needed (strings that contain spaces can be quoted with &quot;)">^ *((?:\"[^\"]*\" +)|(?:[^ \"]+ +))*((?:\"[^\"]*\")|(?:[^ \"]+)) *$</validator>
+  </xml>
+  <xml name="list_string_san">
+    <sanitizer>
+      <valid initial="string.printable">
+<!--        <remove value="'"/>-->
+<!--        <remove value="\"/>--><!-- otherwise the user could quote the final quote -->
+<!--        <remove value="`"/>-->
+<!--        <remove value="$"/>-->
+<!--        <remove value="&lt;"/>-->
+	<!--<remove value="&amp;"/> removed for MascotAdapterOnline -Mascot_server:export_params which is a URL POST string which can contain & .. could be mapped to &amp; but there is still a & -->
+        <!--<remove value=";"/>-->
+<!--        <remove value="#"/>-->
+      </valid>
+    </sanitizer>
+  </xml>
+  <xml name="list_float_valsan">
+    <validator type="regex" message="a space separated list of float values is required">^ *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?( *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)* *$</validator>
+    <yield/>
+    <sanitizer>
+      <valid initial="string.digits">
+        <add value=" "/>
+        <add value="."/>
+        <add value="E"/>
+        <add value="e"/>
+        <add value="+"/>
+        <add value="-"/>
+      </valid>
+    </sanitizer>
+  </xml>
+  <xml name="list_integer_valsan">
+    <validator type="regex" message="a space separated list of integer values is required">^ *[+-]?[0-9]+( *[+-]?[0-9]+)* *$</validator>
+    <yield/>
+    <sanitizer>
+      <valid initial="string.digits">
+        <add value=" "/>
+        <add value="+"/>
+        <add value="-"/>
+      </valid>
+    </sanitizer>
+  </xml>
+
+  <!-- helper function to quote space separated strings -->
+  <token name="@QUOTE_FOO@">
+#def quote(s):
+    #set $s = [ _ for _ in $s.split(" ") if _ != "" ]
+    #set $q = False
+    #for $i, $p in enumerate($s):
+        #if $p == "":
+            #continue
+        #end if
+        #if $p.startswith('"'):
+            #set $q = True
+        #end if
+##        #if p.startswith('-'):
+##            #set p = "\\" + p
+##        #elif p.startswith('"-'):
+##            #set p = "\\" + p[1:]
+##        #end if
+        #if not $q:
+            #set $s[i] = '"%s"' % p
+        #end if
+        #if $p.endswith('"'):
+            #set $q = False
+        #end if
+    #end for
+    #return " ".join($s)
+#end def
+  </token>
+
+<token name="@EXT_FOO@"><![CDATA[#def oms2gxyext(o)
+    #set m={'txt': 'txt', 'tsv': 'tabular', 'bioml': 'xml', 'consensusXML': 'consensusxml', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fa': 'fasta', 'fas': 'fasta', 'fasta': 'fasta', 'FASTA': 'fasta', 'featureXML': 'featurexml', 'featurexml': 'featurexml', 'html': 'html', 'HTML': 'html', 'idXML': 'idxml', 'json': 'json', 'kroenik': 'kroenik', 'mascotXML': 'mascotxml', 'mgf': 'mgf', 'mrm': 'mrm', 'ms': 'sirius.ms', 'ms2': 'ms2', 'msp': 'msp', 'mzData': 'mzdata', 'mzid': 'mzid', 'mzML': 'mzml', 'mzml': 'mzml', 'mzq': 'mzq', 'mzTab': 'mztab', 'mzXML': 'mzxml', 'novor': 'txt', 'obo': 'obo', 'omssaXML': 'idxml', 'osw': 'osw', 'OSW': 'osw', 'params': 'txt', 'paramXML': 'paramxml', 'peplist': 'peplist', 'pep.xml': 'pepxml', 'pepXML': 'pepxml', 'png': 'png', 'PNG': 'png', 'protXML': 'protxml', 'psms': 'psms', 'pqp': 'pqp', 'qcML': 'qcml', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqMass': 'sqmass', 'tandem.xml': 'tandem', 'trafoXML': 'trafoxml', 'traML': 'traml', 'TraML': 'traml', 'tab': 'tabular', 'raw': 'thermo.raw', 'xls': 'tsv', 'XML': 'xml', 'xml': 'xml', 'xquest.xml': 'xquest.xml', 'xsd': 'xml'}
+    #return m[o]
+#end def
+#def gxy2omsext(g)
+    #set m={'txt': 'txt', 'tabular': 'tsv', 'xml': 'bioml', 'consensusxml': 'consensusXML', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fasta': 'fa', 'featurexml': 'featureXML', 'html': 'html', 'idxml': 'idXML', 'json': 'json', 'kroenik': 'kroenik', 'mascotxml': 'mascotXML', 'mgf': 'mgf', 'mrm': 'mrm', 'sirius.ms': 'ms', 'ms2': 'ms2', 'msp': 'msp', 'mzdata': 'mzData', 'mzid': 'mzid', 'mzml': 'mzML', 'mzq': 'mzq', 'mztab': 'mzTab', 'mzxml': 'mzXML', 'obo': 'obo', 'osw': 'osw', 'paramxml': 'paramXML', 'peff': 'fasta', 'peplist': 'peplist', 'pepxml': 'pep.xml', 'png': 'png', 'protxml': 'protXML', 'psms': 'psms', 'pqp': 'pqp', 'qcml': 'qcML', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqmass': 'sqMass', 'tandem': 'tandem.xml', 'trafoxml': 'trafoXML', 'traml': 'traML', 'thermo.raw': 'raw', 'tsv': 'xls', 'xquest.xml': 'xquest.xml'}
+    #return m[g]
+#end def
+]]></token></macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_autotest.xml	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,26318 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macros>
+  <xml name="autotest_AccurateMassSearch">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusMapNormalizer_input.consensusXML"/>
+      <output name="out" file="AccurateMassSearch_1_output.tmp.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="positive_adducts" value="CHEMISTRY/PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="CHEMISTRY/NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <param name="mapping" value="CHEMISTRY/HMDBMappingFile.tsv" ftype="tabular"/>
+        <param name="struct" value="CHEMISTRY/HMDB2StructMapping.tsv" ftype="tabular"/>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="false"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
+      <output name="out" file="AccurateMassSearch_2_output.tmp.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="out_annotation" file="AccurateMassSearch_2_output.tmp.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
+        <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="false"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
+      <output name="out" file="AccurateMassSearch_3_output.tmp.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="out_annotation" file="AccurateMassSearch_2_output.tmp.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
+        <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="false"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_AssayGeneratorMetabo">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <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"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ffm_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ffm_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="highest_intensity"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="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="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <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="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <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"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="highest_intensity"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="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="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <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="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <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"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ffm_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ffm_output_consensus.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="consensus_spectrum"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="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="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <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="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <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"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_output_consensus.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="consensus_spectrum"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="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="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <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="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <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"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_uku_output_consensus.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="consensus_spectrum"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="true"/>
+      <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="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <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="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <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"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_sirius_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="sirius"/>
+      <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="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"/>
+      <param name="out_workspace_directory" value=""/>
+      <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"/>
+        <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="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="100"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <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"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_sirius_ukn_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="sirius"/>
+      <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="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"/>
+      <param name="out_workspace_directory" value=""/>
+      <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"/>
+        <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="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="100"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <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"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_intsort_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_intsort_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_sirius_intsort_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="sirius"/>
+      <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="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"/>
+      <param name="out_workspace_directory" value=""/>
+      <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"/>
+        <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="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="100"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <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"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_sirius_restrict_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="sirius"/>
+      <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="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"/>
+      <param name="out_workspace_directory" value=""/>
+      <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"/>
+        <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="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="100"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_BaselineFilter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="BaselineFilter_input.mzML"/>
+      <output name="out" file="BaselineFilter_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="struc_elem_length" value="1.5"/>
+      <param name="struc_elem_unit" value="Thomson"/>
+      <param name="method" value="tophat"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ClusterMassTracesByPrecursor">
+</xml>
+  <xml name="autotest_ClusterMassTraces">
+</xml>
+  <xml name="autotest_CometAdapter">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fragment_bin_tolerance" value="1.0005"/>
+        <param name="fragment_bin_offset" value="0.25"/>
+        <param name="instrument" value="high_res"/>
+        <param name="use_A_ions" value="false"/>
+        <param name="use_B_ions" value="true"/>
+        <param name="use_C_ions" value="false"/>
+        <param name="use_X_ions" value="false"/>
+        <param name="use_Y_ions" value="true"/>
+        <param name="use_Z_ions" value="false"/>
+        <param name="use_NL_ions" value="false"/>
+        <param name="digest_mass_range" value="600:5000"/>
+        <param name="max_precursor_charge" value="5"/>
+        <param name="spectrum_batch_size" value="1000"/>
+        <param name="mass_offsets" value="0.0"/>
+        <param name="minimum_peaks" value="10"/>
+        <param name="minimum_intensity" value="0.0"/>
+        <param name="remove_precursor_peak" value="no"/>
+        <param name="remove_precursor_tolerance" value="1.5"/>
+        <param name="clear_mz_range" value="0:0"/>
+        <param name="max_variable_mods_in_peptide" value="5"/>
+        <param name="require_variable_mod" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra_comet.mzML"/>
+      <output name="out" file="CometAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <output name="pin_out" file="CometAdapter_1_out2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="precursor_mass_tolerance" value="3.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="isotope_error" value="off"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="num_enzyme_termini" value="fully"/>
+      <param name="allowed_missed_cleavages" value="1"/>
+      <param name="num_hits" value="5"/>
+      <param name="precursor_charge" value="0:0"/>
+      <param name="override_charge" value="keep any known"/>
+      <param name="ms_level" value="2"/>
+      <param name="activation_method" value="ALL"/>
+      <param name="max_fragment_charge" value="3"/>
+      <param name="clip_nterm_methionine" value="false"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,pin_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fragment_bin_tolerance" value="1.0005"/>
+        <param name="fragment_bin_offset" value="0.25"/>
+        <param name="instrument" value="high_res"/>
+        <param name="use_A_ions" value="false"/>
+        <param name="use_B_ions" value="true"/>
+        <param name="use_C_ions" value="false"/>
+        <param name="use_X_ions" value="false"/>
+        <param name="use_Y_ions" value="true"/>
+        <param name="use_Z_ions" value="false"/>
+        <param name="use_NL_ions" value="false"/>
+        <param name="digest_mass_range" value="600:5000"/>
+        <param name="max_precursor_charge" value="5"/>
+        <param name="spectrum_batch_size" value="1000"/>
+        <param name="mass_offsets" value="0.0"/>
+        <param name="minimum_peaks" value="10"/>
+        <param name="minimum_intensity" value="0.0"/>
+        <param name="remove_precursor_peak" value="no"/>
+        <param name="remove_precursor_tolerance" value="1.5"/>
+        <param name="clear_mz_range" value="0:0"/>
+        <param name="max_variable_mods_in_peptide" value="5"/>
+        <param name="require_variable_mod" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="CometAdapter_2_prepared.mzML"/>
+      <output name="out" file="CometAdapter_2_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="CometAdapter_2_in.fasta"/>
+      <output name="pin_out" file="CometAdapter_2_out2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="precursor_mass_tolerance" value="3.0"/>
+      <param name="precursor_error_units" value="Da"/>
+      <param name="isotope_error" value="off"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="num_enzyme_termini" value="fully"/>
+      <param name="allowed_missed_cleavages" value="1"/>
+      <param name="num_hits" value="5"/>
+      <param name="precursor_charge" value="0:0"/>
+      <param name="override_charge" value="keep any known"/>
+      <param name="ms_level" value="2"/>
+      <param name="activation_method" value="ALL"/>
+      <param name="max_fragment_charge" value="3"/>
+      <param name="clip_nterm_methionine" value="false"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,pin_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fragment_bin_tolerance" value="0.02"/>
+        <param name="fragment_bin_offset" value="0.0"/>
+        <param name="instrument" value="high_res"/>
+        <param name="use_A_ions" value="false"/>
+        <param name="use_B_ions" value="true"/>
+        <param name="use_C_ions" value="false"/>
+        <param name="use_X_ions" value="false"/>
+        <param name="use_Y_ions" value="true"/>
+        <param name="use_Z_ions" value="false"/>
+        <param name="use_NL_ions" value="false"/>
+        <param name="digest_mass_range" value="600:5000"/>
+        <param name="max_precursor_charge" value="5"/>
+        <param name="spectrum_batch_size" value="20000"/>
+        <param name="mass_offsets" value="0.0"/>
+        <param name="minimum_peaks" value="10"/>
+        <param name="minimum_intensity" value="0.0"/>
+        <param name="remove_precursor_peak" value="no"/>
+        <param name="remove_precursor_tolerance" value="1.5"/>
+        <param name="clear_mz_range" value="0:0"/>
+        <param name="max_variable_mods_in_peptide" value="3"/>
+        <param name="require_variable_mod" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="CometAdapter_3.mzML"/>
+      <output name="out" file="CometAdapter_3_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="CometAdapter_3.fasta"/>
+      <output name="pin_out" file="CometAdapter_3_out2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="isotope_error" value="off"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="num_enzyme_termini" value="fully"/>
+      <param name="allowed_missed_cleavages" value="3"/>
+      <param name="num_hits" value="5"/>
+      <param name="precursor_charge" value="0:0"/>
+      <param name="override_charge" value="keep known search unknown"/>
+      <param name="ms_level" value="2"/>
+      <param name="activation_method" value="ALL"/>
+      <param name="max_fragment_charge" value="3"/>
+      <param name="clip_nterm_methionine" value="false"/>
+      <param name="fixed_modifications" value="Carbamidomethyl (C)"/>
+      <param name="variable_modifications" value="Acetyl (Protein N-term),Carbamidomethyl (N-term)"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,pin_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_CompNovoCID">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="CompNovoCID_1_input.mzML"/>
+      <output name="out" file="CompNovoCID_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="algorithm">
+        <param name="max_number_aa_per_decomp" value="4"/>
+        <param name="tryptic_only" value="true"/>
+        <param name="precursor_mass_tolerance" value="0.3"/>
+        <param name="fragment_mass_tolerance" value="0.3"/>
+        <param name="max_number_pivot" value="9"/>
+        <param name="max_subscore_number" value="40"/>
+        <param name="decomp_weights_precision" value="0.01"/>
+        <param name="double_charged_iso_threshold" value="0.6"/>
+        <param name="max_mz" value="2000.0"/>
+        <param name="min_mz" value="200.0"/>
+        <param name="max_isotope_to_score" value="3"/>
+        <param name="max_decomp_weight" value="450.0"/>
+        <param name="max_isotope" value="3"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="number_of_hits" value="1"/>
+        <param name="estimate_precursor_mz" value="true"/>
+        <param name="number_of_prescoring_hits" value="250"/>
+        <param name="fixed_modifications" value=""/>
+        <param name="variable_modifications" value=""/>
+        <param name="residue_set" value="Natural19WithoutI"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_CompNovo">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="CompNovo_1_input.mzML"/>
+      <output name="out" file="CompNovo_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="algorithm">
+        <param name="max_number_aa_per_decomp" value="4"/>
+        <param name="tryptic_only" value="true"/>
+        <param name="precursor_mass_tolerance" value="0.3"/>
+        <param name="fragment_mass_tolerance" value="0.3"/>
+        <param name="max_number_pivot" value="9"/>
+        <param name="max_subscore_number" value="40"/>
+        <param name="decomp_weights_precision" value="0.01"/>
+        <param name="double_charged_iso_threshold" value="0.6"/>
+        <param name="max_mz" value="2000.0"/>
+        <param name="min_mz" value="200.0"/>
+        <param name="max_isotope_to_score" value="3"/>
+        <param name="max_decomp_weight" value="450.0"/>
+        <param name="max_isotope" value="3"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="number_of_hits" value="1"/>
+        <param name="estimate_precursor_mz" value="true"/>
+        <param name="number_of_prescoring_hits" value="250"/>
+        <param name="fixed_modifications" value=""/>
+        <param name="variable_modifications" value=""/>
+        <param name="residue_set" value="Natural19WithoutI"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ConsensusID">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_1_input.idXML"/>
+      <output name="out" file="ConsensusID_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="PEPMatrix"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="PAM30MS"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_2_input.featureXML"/>
+      <output name="out" file="ConsensusID_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="average"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_3_input.consensusXML"/>
+      <output name="out" file="ConsensusID_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="best"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_1_input.idXML"/>
+      <output name="out" file="ConsensusID_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="PEPMatrix"/>
+      <section name="filter">
+        <param name="considered_hits" value="6"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_1_input.idXML"/>
+      <output name="out" file="ConsensusID_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="PEPIons"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_1_input.idXML"/>
+      <output name="out" file="ConsensusID_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="best"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.5"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ConsensusMapNormalizer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="accession_filter" value=""/>
+        <param name="description_filter" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusMapNormalizer_input.consensusXML"/>
+      <output name="out" file="ConsensusMapNormalizer_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="algorithm_type" value="robust_regression"/>
+      <param name="ratio_threshold" value="0.67"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_CruxAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="custom_enzyme" value=""/>
+        <param name="decoy_prefix" value="decoy_"/>
+        <param name="deisotope" value="false"/>
+        <param name="report_decoys" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra_comet.mzML"/>
+      <output name="out" file="CruxAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="extra_index_args" value=""/>
+      <param name="extra_search_args" value=""/>
+      <param name="extra_percolator_args" value=""/>
+      <param name="precursor_mass_tolerance" value="10.0"/>
+      <param name="precursor_mass_units" value="ppm"/>
+      <param name="fragment_bin_offset" value="0.0"/>
+      <param name="fragment_bin_width" value="0.02"/>
+      <param name="isotope_error" value=""/>
+      <param name="run_percolator" value="false"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="digestion" value="full-digest"/>
+      <param name="allowed_missed_cleavages" value="0"/>
+      <param name="decoy_format" value="shuffle"/>
+      <param name="keep_terminal_aminos" value="NC"/>
+      <param name="cterm_modifications" value=""/>
+      <param name="nterm_modifications" value=""/>
+      <param name="modifications" value=""/>
+      <param name="test_fdr" value="0.01"/>
+      <param name="train_fdr" value="0.01"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_CVInspector">
+</xml>
+  <xml name="autotest_DatabaseFilter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DatabaseFilter_1.fasta"/>
+      <param name="id" value="DatabaseFilter_1.idXML"/>
+      <param name="method" value="whitelist"/>
+      <output name="out" file="DatabaseFilter_1_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DatabaseFilter_1.fasta"/>
+      <param name="id" value="DatabaseFilter_1.idXML"/>
+      <param name="method" value="blacklist"/>
+      <output name="out" file="DatabaseFilter_2_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DatabaseFilter_3.fasta"/>
+      <param name="id" value="DatabaseFilter_3.mzid"/>
+      <param name="method" value="whitelist"/>
+      <output name="out" file="DatabaseFilter_3_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DatabaseFilter_3.fasta"/>
+      <param name="id" value="DatabaseFilter_3.mzid"/>
+      <param name="method" value="blacklist"/>
+      <output name="out" file="DatabaseFilter_4_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_Decharger">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="Decharger_input.featureXML"/>
+      <output name="out_cm" file="Decharger_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_fm" file="Decharger_output_fm.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="outpairs" file="Decharger_p_output.tmp" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <section name="FeatureDeconvolution">
+          <param name="charge_min" value="1"/>
+          <param name="charge_max" value="10"/>
+          <param name="charge_span_max" value="4"/>
+          <param name="q_try" value="feature"/>
+          <param name="retention_max_diff" value="1.0"/>
+          <param name="retention_max_diff_local" value="1.0"/>
+          <param name="mass_max_diff" value="0.1"/>
+          <param name="potential_adducts" value="&quot;H:+:0.7&quot; &quot;Na:+:0.1&quot; &quot;(2)H4H-4:0:0.1:-2:heavy&quot;"/>
+          <param name="max_neutrals" value="0"/>
+          <param name="max_minority_bound" value="2"/>
+          <param name="min_rt_overlap" value="0.66"/>
+          <param name="intensity_filter" value="false"/>
+          <param name="negative_mode" value="false"/>
+          <param name="default_map_label" value="decharged features"/>
+          <param name="verbose_level" value="0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_fm_FLAG,outpairs_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_DecoyDatabase">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="seed" value="1"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DecoyDatabase_1.fasta"/>
+      <output name="out" file="DecoyDatabase_1_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="only_decoy" value="true"/>
+      <param name="type" value="protein"/>
+      <param name="method" value="reverse"/>
+      <param name="enzyme" value="Trypsin"/>
+      <section name="Decoy">
+        <param name="non_shuffle_pattern" value=""/>
+        <param name="keepPeptideNTerm" value="true"/>
+        <param name="keepPeptideCTerm" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="seed" value="42"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DecoyDatabase_1.fasta"/>
+      <output name="out" file="DecoyDatabase_2_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="decoy_string" value="blabla"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="only_decoy" value="false"/>
+      <param name="type" value="protein"/>
+      <param name="method" value="shuffle"/>
+      <param name="enzyme" value="Trypsin"/>
+      <section name="Decoy">
+        <param name="non_shuffle_pattern" value="KRP"/>
+        <param name="keepPeptideNTerm" value="true"/>
+        <param name="keepPeptideCTerm" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="seed" value="42"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DecoyDatabase_1.fasta"/>
+      <output name="out" file="DecoyDatabase_3_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="decoy_string" value="blabla"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="only_decoy" value="false"/>
+      <param name="type" value="protein"/>
+      <param name="method" value="shuffle"/>
+      <param name="enzyme" value="Chymotrypsin"/>
+      <section name="Decoy">
+        <param name="non_shuffle_pattern" value="KR"/>
+        <param name="keepPeptideNTerm" value="true"/>
+        <param name="keepPeptideCTerm" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="seed" value="42"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DecoyDatabase_4.fasta"/>
+      <output name="out" file="DecoyDatabase_4_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="decoy_string" value="blabla"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="only_decoy" value="false"/>
+      <param name="type" value="RNA"/>
+      <param name="method" value="reverse"/>
+      <param name="enzyme" value="Trypsin"/>
+      <section name="Decoy">
+        <param name="non_shuffle_pattern" value=""/>
+        <param name="keepPeptideNTerm" value="true"/>
+        <param name="keepPeptideCTerm" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_DeMeanderize">
+</xml>
+  <xml name="autotest_DTAExtractor">
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DTAExtractor_1_input.mzML"/>
+      <param name="out" value="DTAExtractor"/>
+      <param name="mz" value=":"/>
+      <param name="rt" value=":61"/>
+      <param name="level" value="1,2,3"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DTAExtractor_1_input.mzML"/>
+      <param name="out" value="DTAExtractor"/>
+      <param name="mz" value=":"/>
+      <param name="rt" value=":"/>
+      <param name="level" value="1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DTAExtractor_1_input.mzML"/>
+      <param name="out" value="DTAExtractor"/>
+      <param name="mz" value=":1000"/>
+      <param name="rt" value=":"/>
+      <param name="level" value="2"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_EICExtractor">
+</xml>
+  <xml name="autotest_Epifany">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="conservative_fdr" value="true"/>
+        <param name="min_psms_extreme_probability" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="Epifany_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="protein_fdr" value="false"/>
+      <param name="greedy_group_resolution" value="none"/>
+      <param name="max_psms_extreme_probability" value="1.0"/>
+      <section name="algorithm">
+        <param name="psm_probability_cutoff" value="0.001"/>
+        <param name="top_PSMs" value="1"/>
+        <param name="update_PSM_probabilities" value="true"/>
+        <param name="user_defined_priors" value="false"/>
+        <param name="annotate_group_probabilities" value="true"/>
+        <param name="use_ids_outside_features" value="false"/>
+        <section name="model_parameters">
+          <param name="prot_prior" value="0.7"/>
+          <param name="pep_emission" value="0.1"/>
+          <param name="pep_spurious_emission" value="0.001"/>
+          <param name="pep_prior" value="0.1"/>
+          <param name="regularize" value="false"/>
+          <param name="extended_model" value="false"/>
+        </section>
+        <section name="loopy_belief_propagation">
+          <param name="scheduling_type" value="priority"/>
+          <param name="convergence_threshold" value="1e-05"/>
+          <param name="dampening_lambda" value="0.001"/>
+          <param name="max_nr_iterations" value="2147483647"/>
+          <param name="p_norm_inference" value="1.0"/>
+        </section>
+        <section name="param_optimize">
+          <param name="aucweight" value="0.3"/>
+          <param name="conservative_fdr" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ERPairFinder">
+</xml>
+  <xml name="autotest_ExternalCalibration">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ExternalCalibration_1_input.mzML"/>
+      <output name="out" file="ExternalCalibration_1_MS1_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="offset" value="-5.5"/>
+      <param name="slope" value="0.0001"/>
+      <param name="power" value="0.0"/>
+      <param name="ms_level" value="1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ExternalCalibration_1_input.mzML"/>
+      <output name="out" file="ExternalCalibration_2_MS2_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="offset" value="-5.5"/>
+      <param name="slope" value="0.0001"/>
+      <param name="power" value="0.0"/>
+      <param name="ms_level" value="2"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FalseDiscoveryRate">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_OMSSA.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_output_1.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_OMSSA.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_output_2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="true"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_OMSSA.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_output_3.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="true"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_OMSSA_4.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_output_4.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="true"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="true"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_5_input.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="false"/>
+      <param name="protein" value="true"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="true"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_6_input.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="0.05"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="true"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_7_input.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_7_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="false"/>
+      <param name="protein" value="true"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="0.3"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderCentroided">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+        <param name="pseudo_rt_shift" value="500.0"/>
+      </conditional>
+      <param name="in" value="FeatureFinderCentroided_1_input.mzML"/>
+      <output name="out" file="FeatureFinderCentroided_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="intensity">
+          <param name="bins" value="1"/>
+        </section>
+        <section name="mass_trace">
+          <param name="mz_tolerance" value="0.02"/>
+          <param name="min_spectra" value="14"/>
+          <param name="max_missing" value="1"/>
+          <param name="slope_bound" value="0.1"/>
+        </section>
+        <section name="isotopic_pattern">
+          <param name="charge_low" value="2"/>
+          <param name="charge_high" value="2"/>
+          <param name="mz_tolerance" value="0.02"/>
+          <param name="intensity_percentage" value="10.0"/>
+          <param name="intensity_percentage_optional" value="0.1"/>
+          <param name="optional_fit_improvement" value="2.0"/>
+          <param name="mass_window_width" value="100.0"/>
+          <param name="abundance_12C" value="98.93"/>
+          <param name="abundance_14N" value="99.632"/>
+        </section>
+        <section name="seed">
+          <param name="min_score" value="0.8"/>
+        </section>
+        <section name="fit">
+          <param name="max_iterations" value="500"/>
+        </section>
+        <section name="feature">
+          <param name="min_score" value="0.7"/>
+          <param name="min_isotope_fit" value="0.8"/>
+          <param name="min_trace_score" value="0.5"/>
+          <param name="min_rt_span" value="0.333"/>
+          <param name="max_rt_span" value="2.5"/>
+          <param name="rt_shape" value="symmetric"/>
+          <param name="max_intersection" value="0.35"/>
+          <param name="reported_mz" value="monoisotopic"/>
+        </section>
+        <section name="user-seed">
+          <param name="rt_tolerance" value="5.0"/>
+          <param name="mz_tolerance" value="1.1"/>
+          <param name="min_score" value="0.5"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderIdentification">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderIdentification_1_input.mzML"/>
+      <param name="id" value="FeatureFinderIdentification_1_input.idXML"/>
+      <output name="out" file="FeatureFinderIdentification_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="extract">
+        <param name="batch_size" value="1000"/>
+        <param name="mz_window" value="0.1"/>
+        <param name="n_isotopes" value="2"/>
+        <param name="isotope_pmin" value="0.0"/>
+        <param name="rt_quantile" value="0.95"/>
+        <param name="rt_window" value="0.0"/>
+      </section>
+      <section name="detect">
+        <param name="peak_width" value="60.0"/>
+        <param name="min_peak_width" value="0.2"/>
+        <param name="signal_to_noise" value="0.8"/>
+        <param name="mapping_tolerance" value="0.0"/>
+      </section>
+      <section name="svm">
+        <param name="samples" value="0"/>
+        <param name="no_selection" value="false"/>
+        <param name="kernel" value="RBF"/>
+        <param name="xval" value="5"/>
+        <param name="log2_C" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0"/>
+        <param name="log2_gamma" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0"/>
+        <param name="epsilon" value="0.001"/>
+        <param name="cache_size" value="100.0"/>
+        <param name="no_shrinking" value="false"/>
+        <param name="predictors" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score"/>
+        <param name="min_prob" value="0.0"/>
+      </section>
+      <section name="model">
+        <param name="type" value="none"/>
+        <param name="add_zeros" value="0.2"/>
+        <param name="unweighted_fit" value="false"/>
+        <param name="no_imputation" value="false"/>
+        <section name="check">
+          <param name="min_area" value="1.0"/>
+          <param name="boundaries" value="0.5"/>
+          <param name="width" value="10.0"/>
+          <param name="asymmetry" value="10.0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderIdentification_1_input.mzML"/>
+      <param name="id" value="FeatureFinderIdentification_1_input.idXML"/>
+      <output name="out" file="FeatureFinderIdentification_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="extract">
+        <param name="batch_size" value="1000"/>
+        <param name="mz_window" value="0.1"/>
+        <param name="n_isotopes" value="2"/>
+        <param name="isotope_pmin" value="0.0"/>
+        <param name="rt_quantile" value="0.95"/>
+        <param name="rt_window" value="0.0"/>
+      </section>
+      <section name="detect">
+        <param name="peak_width" value="60.0"/>
+        <param name="min_peak_width" value="0.2"/>
+        <param name="signal_to_noise" value="0.8"/>
+        <param name="mapping_tolerance" value="0.0"/>
+      </section>
+      <section name="svm">
+        <param name="samples" value="0"/>
+        <param name="no_selection" value="false"/>
+        <param name="kernel" value="RBF"/>
+        <param name="xval" value="5"/>
+        <param name="log2_C" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0"/>
+        <param name="log2_gamma" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0"/>
+        <param name="epsilon" value="0.001"/>
+        <param name="cache_size" value="100.0"/>
+        <param name="no_shrinking" value="false"/>
+        <param name="predictors" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score"/>
+        <param name="min_prob" value="0.0"/>
+      </section>
+      <section name="model">
+        <param name="type" value="symmetric"/>
+        <param name="add_zeros" value="0.2"/>
+        <param name="unweighted_fit" value="false"/>
+        <param name="no_imputation" value="false"/>
+        <section name="check">
+          <param name="min_area" value="1.0"/>
+          <param name="boundaries" value="0.5"/>
+          <param name="width" value="10.0"/>
+          <param name="asymmetry" value="10.0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderIdentification_1_input.mzML"/>
+      <param name="id" value="FeatureFinderIdentification_1_input.idXML"/>
+      <output name="out" file="FeatureFinderIdentification_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="extract">
+        <param name="batch_size" value="10"/>
+        <param name="mz_window" value="0.1"/>
+        <param name="n_isotopes" value="2"/>
+        <param name="isotope_pmin" value="0.0"/>
+        <param name="rt_quantile" value="0.95"/>
+        <param name="rt_window" value="0.0"/>
+      </section>
+      <section name="detect">
+        <param name="peak_width" value="60.0"/>
+        <param name="min_peak_width" value="0.2"/>
+        <param name="signal_to_noise" value="0.8"/>
+        <param name="mapping_tolerance" value="0.0"/>
+      </section>
+      <section name="svm">
+        <param name="samples" value="0"/>
+        <param name="no_selection" value="false"/>
+        <param name="kernel" value="RBF"/>
+        <param name="xval" value="5"/>
+        <param name="log2_C" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0"/>
+        <param name="log2_gamma" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0"/>
+        <param name="epsilon" value="0.001"/>
+        <param name="cache_size" value="100.0"/>
+        <param name="no_shrinking" value="false"/>
+        <param name="predictors" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score"/>
+        <param name="min_prob" value="0.0"/>
+      </section>
+      <section name="model">
+        <param name="type" value="none"/>
+        <param name="add_zeros" value="0.2"/>
+        <param name="unweighted_fit" value="false"/>
+        <param name="no_imputation" value="false"/>
+        <section name="check">
+          <param name="min_area" value="1.0"/>
+          <param name="boundaries" value="0.5"/>
+          <param name="width" value="10.0"/>
+          <param name="asymmetry" value="10.0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderIsotopeWavelet">
+</xml>
+  <xml name="autotest_FeatureFinderMetaboIdent">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetaboIdent_1_input.mzML"/>
+      <param name="id" value="FeatureFinderMetaboIdent_1_input.tsv" ftype="tabular"/>
+      <output name="out" file="FeatureFinderMetaboIdent_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="extract">
+        <param name="mz_window" value="5.0"/>
+        <param name="n_isotopes" value="2"/>
+        <param name="isotope_pmin" value="0.0"/>
+        <param name="rt_window" value="20.0"/>
+      </section>
+      <section name="detect">
+        <param name="peak_width" value="3.0"/>
+        <param name="min_peak_width" value="0.2"/>
+        <param name="signal_to_noise" value="0.8"/>
+      </section>
+      <section name="model">
+        <param name="type" value="symmetric"/>
+        <param name="add_zeros" value="0.2"/>
+        <param name="unweighted_fit" value="false"/>
+        <param name="no_imputation" value="false"/>
+        <section name="check">
+          <param name="min_area" value="1.0"/>
+          <param name="boundaries" value="0.5"/>
+          <param name="width" value="10.0"/>
+          <param name="asymmetry" value="10.0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderMetabo">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_1_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="20.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="300.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="true"/>
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="6.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="true"/>
+          <param name="isotope_filtering_model" value="metabolites (5% RMS)"/>
+          <param name="mz_scoring_13C" value="true"/>
+          <param name="use_smoothed_intensities" value="true"/>
+          <param name="report_convex_hulls" value="false"/>
+          <param name="remove_single_traces" value="false"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_2_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_2_noEPD_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="100.0"/>
+          <param name="chrom_peak_snr" value="0.0"/>
+          <param name="chrom_fwhm" value="100.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="5.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="median"/>
+          <param name="trace_termination_criterion" value="sample_rate"/>
+          <param name="trace_termination_outliers" value="2"/>
+          <param name="min_sample_rate" value="0.01"/>
+          <param name="min_trace_length" value="30.0"/>
+          <param name="max_trace_length" value="3000.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="false"/>
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="10.0"/>
+          <param name="max_fwhm" value="80.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="4.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="false"/>
+          <param name="isotope_filtering_model" value="none"/>
+          <param name="mz_scoring_13C" value="false"/>
+          <param name="use_smoothed_intensities" value="false"/>
+          <param name="report_convex_hulls" value="true"/>
+          <param name="remove_single_traces" value="false"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_3_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_3.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="FeatureFinderMetabo_3_chrom_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="5.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="-1.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="true"/>
+          <param name="width_filtering" value="fixed"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="6.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="true"/>
+          <param name="isotope_filtering_model" value="none"/>
+          <param name="mz_scoring_13C" value="true"/>
+          <param name="use_smoothed_intensities" value="true"/>
+          <param name="report_convex_hulls" value="true"/>
+          <param name="remove_single_traces" value="false"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_3_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="FeatureFinderMetabo_4_chrom_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="5.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="-1.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="true"/>
+          <param name="width_filtering" value="fixed"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="6.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="true"/>
+          <param name="isotope_filtering_model" value="none"/>
+          <param name="mz_scoring_13C" value="true"/>
+          <param name="use_smoothed_intensities" value="true"/>
+          <param name="report_convex_hulls" value="true"/>
+          <param name="remove_single_traces" value="true"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_1_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="20.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="max_height"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="300.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="true"/>
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="6.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="true"/>
+          <param name="isotope_filtering_model" value="metabolites (5% RMS)"/>
+          <param name="mz_scoring_13C" value="true"/>
+          <param name="use_smoothed_intensities" value="true"/>
+          <param name="report_convex_hulls" value="false"/>
+          <param name="remove_single_traces" value="false"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderMRM">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMRM_1_input.mzML"/>
+      <output name="out" file="FeatureFinderMRM_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <param name="min_rt_distance" value="10.0"/>
+        <param name="min_num_peaks_per_feature" value="5"/>
+        <param name="min_signal_to_noise_ratio" value="2.0"/>
+        <param name="write_debug_files" value="false"/>
+        <param name="resample_traces" value="false"/>
+        <param name="write_debuginfo" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderMultiplex">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_1_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl8]"/>
+        <param name="charge" value="1:4"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="90.0"/>
+        <param name="rt_band" value="10.0"/>
+        <param name="rt_min" value="5.0"/>
+        <param name="mz_tolerance" value="40.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10.0"/>
+        <param name="peptide_similarity" value="0.8"/>
+        <param name="averagine_similarity" value="0.75"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_2_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[][Lys8,Arg10]"/>
+        <param name="charge" value="1:4"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="40.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="2.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="1000.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_3_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[]"/>
+        <param name="charge" value="5:15"/>
+        <param name="isotopes_per_peptide" value="5:10"/>
+        <param name="rt_typical" value="45.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="2.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="200.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="RNA"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_4_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[]"/>
+        <param name="charge" value="5:15"/>
+        <param name="isotopes_per_peptide" value="5:10"/>
+        <param name="rt_typical" value="45.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="2.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="200.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="DNA"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_5_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_5_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
+        <param name="charge" value="1:5"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="50.0"/>
+        <param name="rt_band" value="3.0"/>
+        <param name="rt_min" value="8.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10000000.0"/>
+        <param name="peptide_similarity" value="0.95"/>
+        <param name="averagine_similarity" value="0.8"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="3"/>
+        <param name="spectrum_type" value="profile"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_6_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_6_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_6_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
+        <param name="charge" value="1:5"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="50.0"/>
+        <param name="rt_band" value="3.0"/>
+        <param name="rt_min" value="8.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10000000.0"/>
+        <param name="peptide_similarity" value="0.95"/>
+        <param name="averagine_similarity" value="0.8"/>
+        <param name="averagine_similarity_scaling" value="1.0"/>
+        <param name="missed_cleavages" value="3"/>
+        <param name="spectrum_type" value="profile"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_7_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_7_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[][Dimethyl4]"/>
+        <param name="charge" value="1:4"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="40.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="2.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="1000.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="31.0094"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_8_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_8_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_8_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl4][Dimethyl8]"/>
+        <param name="charge" value="1:7"/>
+        <param name="isotopes_per_peptide" value="3:8"/>
+        <param name="rt_typical" value="50.0"/>
+        <param name="rt_band" value="3.0"/>
+        <param name="rt_min" value="8.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10.0"/>
+        <param name="peptide_similarity" value="0.2"/>
+        <param name="averagine_similarity" value="0.25"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="4"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="true"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_9_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_9_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_9_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[0][6.03705]"/>
+        <param name="charge" value="2:8"/>
+        <param name="isotopes_per_peptide" value="3:8"/>
+        <param name="rt_typical" value="40.0"/>
+        <param name="rt_band" value="0.0"/>
+        <param name="rt_min" value="4.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="1000.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="centroid"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_10_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_10_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_10_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
+        <param name="charge" value="1:7"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="50.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="8.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10.0"/>
+        <param name="peptide_similarity" value="0.4"/>
+        <param name="averagine_similarity" value="0.5"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="3"/>
+        <param name="spectrum_type" value="profile"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="true"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_11_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <param name="labels" value="[]"/>
+        <param name="charge" value="1:4"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="1e-05"/>
+        <param name="rt_band" value="0.0"/>
+        <param name="rt_min" value="0.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="1000.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.7"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderSuperHirn">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderSuperHirn_input_1.mzML"/>
+      <output name="out" file="FeatureFinderSuperHirn_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="centroiding">
+          <param name="active" value="false"/>
+          <param name="window_width" value="5"/>
+          <param name="absolute_isotope_mass_precision" value="0.01"/>
+          <param name="relative_isotope_mass_precision" value="10.0"/>
+          <param name="minimal_peak_height" value="0.0"/>
+          <param name="min_ms_signal_intensity" value="50.0"/>
+        </section>
+        <section name="ms1">
+          <param name="precursor_detection_scan_levels" value="1"/>
+          <param name="max_inter_scan_distance" value="0"/>
+          <param name="tr_resolution" value="0.01"/>
+          <param name="intensity_threshold" value="1000.0"/>
+          <param name="max_inter_scan_rt_distance" value="0.1"/>
+          <param name="min_nb_cluster_members" value="4"/>
+          <param name="detectable_isotope_factor" value="0.05"/>
+          <param name="intensity_cv" value="0.9"/>
+          <param name="retention_time_tolerance" value="0.5"/>
+          <param name="mz_tolerance" value="0.0"/>
+        </section>
+        <section name="ms1_feature_merger">
+          <param name="active" value="true"/>
+          <param name="tr_resolution" value="0.01"/>
+          <param name="initial_apex_tr_tolerance" value="5.0"/>
+          <param name="feature_merging_tr_tolerance" value="1.0"/>
+          <param name="intensity_variation_percentage" value="25.0"/>
+          <param name="ppm_tolerance_for_mz_clustering" value="10.0"/>
+        </section>
+        <section name="ms1_feature_selection_options">
+          <param name="start_elution_window" value="0.0"/>
+          <param name="end_elution_window" value="180.0"/>
+          <param name="mz_range_min" value="0.0"/>
+          <param name="mz_range_max" value="2000.0"/>
+          <param name="chrg_range_min" value="1"/>
+          <param name="chrg_range_max" value="5"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderSuperHirn_input_2.mzML"/>
+      <output name="out" file="FeatureFinderSuperHirn_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="centroiding">
+          <param name="active" value="true"/>
+          <param name="window_width" value="5"/>
+          <param name="absolute_isotope_mass_precision" value="0.01"/>
+          <param name="relative_isotope_mass_precision" value="10.0"/>
+          <param name="minimal_peak_height" value="0.0"/>
+          <param name="min_ms_signal_intensity" value="50.0"/>
+        </section>
+        <section name="ms1">
+          <param name="precursor_detection_scan_levels" value="1"/>
+          <param name="max_inter_scan_distance" value="0"/>
+          <param name="tr_resolution" value="0.01"/>
+          <param name="intensity_threshold" value="1000.0"/>
+          <param name="max_inter_scan_rt_distance" value="0.1"/>
+          <param name="min_nb_cluster_members" value="4"/>
+          <param name="detectable_isotope_factor" value="0.05"/>
+          <param name="intensity_cv" value="0.9"/>
+          <param name="retention_time_tolerance" value="0.5"/>
+          <param name="mz_tolerance" value="0.0"/>
+        </section>
+        <section name="ms1_feature_merger">
+          <param name="active" value="true"/>
+          <param name="tr_resolution" value="0.01"/>
+          <param name="initial_apex_tr_tolerance" value="5.0"/>
+          <param name="feature_merging_tr_tolerance" value="1.0"/>
+          <param name="intensity_variation_percentage" value="25.0"/>
+          <param name="ppm_tolerance_for_mz_clustering" value="10.0"/>
+        </section>
+        <section name="ms1_feature_selection_options">
+          <param name="start_elution_window" value="0.0"/>
+          <param name="end_elution_window" value="180.0"/>
+          <param name="mz_range_min" value="0.0"/>
+          <param name="mz_range_max" value="2000.0"/>
+          <param name="chrg_range_min" value="1"/>
+          <param name="chrg_range_max" value="5"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureLinkerLabeled">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerLabeled_1_input.featureXML"/>
+      <output name="out" file="FeatureLinkerLabeled_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="rt_estimate" value="false"/>
+        <param name="rt_pair_dist" value="-1.0"/>
+        <param name="rt_dev_low" value="0.4"/>
+        <param name="rt_dev_high" value="0.4"/>
+        <param name="mz_pair_dists" value="8.0"/>
+        <param name="mz_dev" value="0.1"/>
+        <param name="mrm" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerLabeled_2_input.featureXML"/>
+      <output name="out" file="FeatureLinkerLabeled_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="rt_estimate" value="true"/>
+        <param name="rt_pair_dist" value="-121.0382"/>
+        <param name="rt_dev_low" value="123.3965"/>
+        <param name="rt_dev_high" value="123.3965"/>
+        <param name="mz_pair_dists" value="4.0"/>
+        <param name="mz_dev" value="0.1"/>
+        <param name="mrm" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureLinkerUnlabeledKD">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="Da"/>
+        <param name="nr_partitions" value="1"/>
+        <section name="warp">
+          <param name="enabled" value="false"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="charge_merging" value="With_charge_zero"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_1_output.consensusXML,FeatureLinkerUnlabeledKD_1_output_2.consensusXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="true"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="Da"/>
+        <param name="nr_partitions" value="99999"/>
+        <section name="warp">
+          <param name="enabled" value="false"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="charge_merging" value="With_charge_zero"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_3_input1.featureXML,FeatureLinkerUnlabeledQT_3_input2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="Da"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="false"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="charge_merging" value="With_charge_zero"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="ppm"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="true"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="5.0"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="30.0"/>
+          <param name="mz_tol" value="10.0"/>
+          <param name="charge_merging" value="Identical"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_5_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="ppm"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="true"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="5.0"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="30.0"/>
+          <param name="mz_tol" value="10.0"/>
+          <param name="charge_merging" value="With_charge_zero"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_6_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="ppm"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="true"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="5.0"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="30.0"/>
+          <param name="mz_tol" value="10.0"/>
+          <param name="charge_merging" value="Any"/>
+          <param name="adduct_merging" value="With_unknown_adducts"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_7_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="ppm"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="true"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="5.0"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="30.0"/>
+          <param name="mz_tol" value="10.0"/>
+          <param name="charge_merging" value="Any"/>
+          <param name="adduct_merging" value="Identical"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureLinkerUnlabeledQT">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="false"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_1_output.consensusXML,FeatureLinkerUnlabeledQT_1_output_2.consensusXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="true"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="false"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_3_input1.featureXML,FeatureLinkerUnlabeledQT_3_input2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="false"/>
+        <param name="nr_partitions" value="99999"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="true"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_5_input1.featureXML,FeatureLinkerUnlabeledQT_5_input2.featureXML,FeatureLinkerUnlabeledQT_5_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_5_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="false"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="200.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_5_input1.featureXML,FeatureLinkerUnlabeledQT_5_input2.featureXML,FeatureLinkerUnlabeledQT_5_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_6_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="true"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="200.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureLinkerUnlabeled">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeled_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="second_nearest_gap" value="2.0"/>
+        <param name="use_identifications" value="false"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="200.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.5"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_2_input1.featureXML,FeatureLinkerUnlabeled_2_input2.featureXML,FeatureLinkerUnlabeled_2_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeled_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="second_nearest_gap" value="2.0"/>
+        <param name="use_identifications" value="false"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.5"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_3_input1.featureXML,FeatureLinkerUnlabeled_3_input2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeled_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="second_nearest_gap" value="1.5"/>
+        <param name="use_identifications" value="false"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="30.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeled_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="second_nearest_gap" value="2.0"/>
+        <param name="use_identifications" value="true"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="200.0"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.5"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FFEval">
+</xml>
+  <xml name="autotest_FidoAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="FidoAdapter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="FidoAdapter_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="true"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="FidoAdapter_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="true"/>
+      <param name="group_level" value="true"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_4_input.idXML"/>
+      <output name="out" file="FidoAdapter_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_5_input.idXML"/>
+      <output name="out" file="FidoAdapter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="true"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="FidoAdapter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.9"/>
+        <param name="peptide" value="0.01"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FileConverter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_1_input.mzData"/>
+      <output name="out" file="FileConverter_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_2_input.someInputDTA2D"/>
+      <output name="out" file="FileConverter_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_3_input.featureXML"/>
+      <output name="out" file="FileConverter_3_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_4_input.mzXML"/>
+      <output name="out" file="FileConverter_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_5_input.mzML"/>
+      <output name="out" file="FileConverter_5_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
+      <param name="out_type" value="mzXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_6_input.mzML"/>
+      <output name="out" file="FileConverter_6_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
+      <param name="out_type" value="mzXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_7_input.consensusXML"/>
+      <output name="out" file="FileConverter_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_8_input.mzML"/>
+      <output name="out" file="FileConverter_8_output.mzData" compare="sim_size" delta="5700" ftype="mzdata"/>
+      <param name="out_type" value="mzData"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_9_input.consensusXML"/>
+      <output name="out" file="FileConverter_9_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_10_input.edta" ftype="edta"/>
+      <output name="out" file="FileConverter_10_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_11_input.peplist"/>
+      <output name="out" file="FileConverter_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_12_input.peptides.tsv" ftype="tabular"/>
+      <output name="out" file="FileConverter_12_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_13_input.peptides.kroenik"/>
+      <output name="out" file="FileConverter_13_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_9_output.featureXML"/>
+      <output name="out" file="FileConverter_14_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_10_input.edta" ftype="edta"/>
+      <output name="out" file="FileConverter_15_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_16_input.edta" ftype="edta"/>
+      <output name="out" file="FileConverter_16_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_17_input.consensusXML"/>
+      <output name="out" file="FileConverter_17.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="out_type" value="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_17_input.consensusXML"/>
+      <output name="out" file="FileConverter_17_output.ibspectra.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="out_type" value="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileConverter_19_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_20_input.featureXML"/>
+      <output name="out" file="FileConverter_20_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_4_input.mzXML"/>
+      <output name="out" file="FileConverter_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_23_input.mzML"/>
+      <output name="out" file="FileConverter_23_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="true"/>
+        <param name="lossy_mass_accuracy" value="0.0001"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileConverter_24_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="true"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileConverter_25_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="true"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileConverter_26_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
+      <param name="out_type" value="mzXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="true"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_26_output.mzXML"/>
+      <output name="out" file="FileConverter_26-2_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
+      <param name="out_type" value="mzXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="true"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_27_input.mzML"/>
+      <output name="out" file="FileConverter_27_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="true"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_28_input.mzML"/>
+      <output name="out" file="FileConverter_28_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="true"/>
+        <param name="lossy_mass_accuracy" value="1e-05"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <output name="out" file="FileConverter_29_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_29_output.mzML"/>
+      <output name="out" file="FileConverter_29.back.tmp" compare="sim_size" delta="5700"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="multiple"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_30_input.mzML"/>
+      <output name="out" file="FileConverter_30_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="single"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_30_output.mzML"/>
+      <output name="out" file="FileConverter_31_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ginkgotoxin-ms-switching.raw"/>
+      <output name="out" file="ginkgotoxin-ms-switching_out_tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FileFilter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":30"/>
+      <param name="mz" value=":1000"/>
+      <param name="int" value=":20000"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value="30:"/>
+      <param name="mz" value="1000:"/>
+      <param name="int" value="100:"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_3_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="2"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_4_input.mzML"/>
+      <output name="out" file="FileFilter_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="true"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_5_input.featureXML"/>
+      <output name="out" file="FileFilter_5_out.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="rt" value=":1000"/>
+      <param name="mz" value=":480"/>
+      <param name="int" value=":79000"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":0.6"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":3"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_5_input.featureXML"/>
+      <output name="out" file="FileFilter_6_out.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="rt" value="1000:"/>
+      <param name="mz" value="440:"/>
+      <param name="int" value="70000:"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value="0.51:"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value="3:"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_7_input.mzML"/>
+      <output name="out" file="FileFilter_7_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value="7000:"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_8_input.consensusXML"/>
+      <output name="out" file="FileFilter_8_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="rt" value="600:1400"/>
+      <param name="mz" value="700:2300"/>
+      <param name="int" value="1100:6000"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_9_input.mzML"/>
+      <output name="out" file="FileFilter_9_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value="SelectedIonMonitoring"/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_10_input.mzML"/>
+      <output name="out" file="FileFilter_10_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value="Collision-induced dissociation"/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_11_input.mzML"/>
+      <output name="out" file="FileFilter_11_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value="Plasma desorption"/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_12_input.mzML"/>
+      <output name="out" file="FileFilter_12_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="true"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_13_input.consensusXML"/>
+      <output name="out" file="FileFilter_13_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value="2"/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_14_input.consensusXML"/>
+      <output name="out" file="FileFilter_14_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value="0 2"/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_15_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;Oxidation&quot;"/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_16_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value="3000:4000"/>
+      <param name="mz" value="400:600"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;Oxidation&quot;"/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_17_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value="3000:4000"/>
+      <param name="mz" value="400:600"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="true"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_18_input.consensusXML"/>
+      <output name="out" file="FileFilter_18_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;Oxidation&quot;"/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_18_input.consensusXML"/>
+      <output name="out" file="FileFilter_19_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value="3000:4000"/>
+      <param name="mz" value="400:600"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="true"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_20_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value="&quot;YDL217C&quot;"/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_21_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="true"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="true"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_22_input.consensusXML"/>
+      <output name="out" file="FileFilter_22_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value="&quot;distinct_charges&quot; &quot;gt&quot; &quot;1,2&quot;"/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_22_input.consensusXML"/>
+      <output name="out" file="FileFilter_22_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value="&quot;distinct_charges_size&quot; &quot;gt&quot; &quot;2&quot;"/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_22_input.consensusXML"/>
+      <output name="out" file="FileFilter_24_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value="&quot;DOESNOTEXIST&quot; &quot;lt&quot; &quot;whatever&quot;"/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_25_input.mzML.gz"/>
+      <output name="out" file="FileFilter_25_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="blacklist" value="FileFilter_25_input.idXML"/>
+        <param name="rt" value="1.0"/>
+        <param name="mz" value="0.05"/>
+        <param name="blacklist_imperfect" value="true"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_25_input.mzML.gz"/>
+      <output name="out" file="FileFilter_25_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="blacklist" value="FileFilter_25_input.idXML"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="true"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_28_input.mzML.gz"/>
+      <output name="out" file="FileFilter_28_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value="832:836"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="2"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_28_input.mzML.gz"/>
+      <output name="out" file="FileFilter_29_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value="832:836"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_28_input.mzML.gz"/>
+      <output name="out" file="FileFilter_30_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value="832:836"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_31_34_input.mzML"/>
+      <output name="out" file="FileFilter_31_remove_collision_energy.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":2"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_31_34_input.mzML"/>
+      <output name="out" file="FileFilter_32_select_collision_energy.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":2"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_31_34_input.mzML"/>
+      <output name="out" file="FileFilter_33_remove_isolation_window.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":35"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_31_34_input.mzML"/>
+      <output name="out" file="FileFilter_34_select_isolation_window.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":35"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_35_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_36_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="false"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_37_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="linear"/>
+          <param name="lossy_mass_accuracy" value="0.0001"/>
+          <param name="intensity" value="slof"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_38_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="linear"/>
+          <param name="lossy_mass_accuracy" value="0.0001"/>
+          <param name="intensity" value="pic"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_40_input.mzML"/>
+      <output name="out" file="FileFilter_40_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value="positive"/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_40_input.mzML"/>
+      <output name="out" file="FileFilter_41_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value="negative"/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_40_input.mzML"/>
+      <output name="out" file="FileFilter_42_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_43_input.mzML"/>
+      <output name="out" file="FileFilter_43.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_43.tmp.mzML"/>
+      <output name="out" file="FileFilter_43.dummy.tmp" compare="sim_size" delta="5700"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_44_input.mzML"/>
+      <output name="out" file="FileFilter_44_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_45_input.featureXML"/>
+      <output name="out" file="FileFilter_45_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;YSFS&quot; &quot;STLIPPPSK(Label:13C(6)15N(2))&quot;"/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_46_input.featureXML"/>
+      <output name="out" file="FileFilter_46_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;YSFS&quot; &quot;STLIPPPSK(Label:13C(6)15N(2))&quot;"/>
+        <param name="sequence_comparison_method" value="exact"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_47_input.mzML"/>
+      <output name="out" file="FileFilter_47_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="file" value="FileFilter_47_input_select.mzML"/>
+          <param name="similarity_threshold" value="0.9"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_47_input.mzML"/>
+      <output name="out" file="FileFilter_48_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="file" value="FileFilter_47_input_select.mzML"/>
+          <param name="similarity_threshold" value="0.9"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="false"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_49_input.mzML"/>
+      <output name="out" file="FileFilter_49_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="true"/>
+        <section name="numpress">
+          <param name="masstime" value="linear"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="pic"/>
+          <param name="float_da" value="slof"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FileInfo">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_1_input.dta" ftype="dta"/>
+      <output name="out" file="FileInfo_1_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_2_input.dta2d" ftype="dta2d"/>
+      <output name="out" file="FileInfo_2_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_3_input.featureXML"/>
+      <output name="out" file="FileInfo_3_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="true"/>
+      <param name="s" value="true"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_4_input.mzXML"/>
+      <output name="out" file="FileInfo_4_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_5_input.mzDat"/>
+      <output name="out" file="FileInfo_5_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="false"/>
+      <param name="s" value="true"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_6_input.mzData"/>
+      <output name="out" file="FileInfo_6_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="true"/>
+      <param name="d" value="true"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_7_input.consensusXML"/>
+      <output name="out" file="FileInfo_7_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="true"/>
+      <param name="s" value="true"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_9_input.mzML"/>
+      <output name="out" file="FileInfo_9_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="true"/>
+      <param name="s" value="true"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_10_input.idXML"/>
+      <output name="out" file="FileInfo_10_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_12_input.mzML"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_13_input.consensusXML"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_14_input.mzid"/>
+      <output name="out" file="FileInfo_14_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="true"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_15_input.mzid"/>
+      <output name="out" file="FileInfo_15_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="true"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_16_input.trafoXML"/>
+      <output name="out" file="FileInfo_16_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_17_input.fasta"/>
+      <output name="out" file="FileInfo_17_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_18_input.fasta"/>
+      <output name="out" file="FileInfo_18_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FileMerger">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_2_input1.dta,FileMerger_2_input2.dta" ftype="dta"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value="5.0 10.0"/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_3_input1.dta,FileMerger_3_input2.dta" ftype="dta"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_3_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="true"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_4_input1.dta2d,FileMerger_4_input2.dta2d" ftype="dta2d"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_5_input_rt1023.331.dta,FileMerger_5_input_rt2044.334.dta,FileMerger_5_input_rt889.32.dta" ftype="dta"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_5_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="true"/>
+        <param name="ms_level" value="2"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_6_input1.mzML,FileMerger_6_input2.mzML"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_6_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_7_input1.featureXML,FileMerger_7_input2.featureXML"/>
+      <param name="out_type" value="featureXML"/>
+      <output name="out" file="FileMerger_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_8_input1.consensusXML,FileMerger_8_input2.consensusXML"/>
+      <param name="out_type" value="consensusXML"/>
+      <output name="out" file="FileMerger_8_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_9_input1.traML,FileMerger_9_input2.traML"/>
+      <param name="out_type" value="traML"/>
+      <output name="out" file="FileMerger_9_output.traML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_6_input2.mzML,FileMerger_6_input2_2.mzML"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_10_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="10.0"/>
+      </section>
+      <output_collection name="rt_concat_trafo_out" count="2"/>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_8_input1.consensusXML,FileMerger_8_input2.consensusXML"/>
+      <param name="out_type" value="consensusXML"/>
+      <output name="out" file="FileMerger_11_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_cols"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FuzzyDiff">
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="whitelist" value="&quot;&lt;?xml-stylesheet&quot;"/>
+        <param name="matched_whitelist" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in1" value="FuzzyDiff_3_in1.featureXML"/>
+      <param name="in2" value="FuzzyDiff_3_in2.featureXML"/>
+      <param name="ratio" value="1.01"/>
+      <param name="absdiff" value="0.01"/>
+      <param name="verbose" value="1"/>
+      <param name="tab_width" value="8"/>
+      <param name="first_column" value="1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_GNPSExport">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="GNPSExport_single.consensusXML"/>
+      <param name="in_mzml" value="GNPSExport_mz1.mzML"/>
+      <output name="out" file="GNPSExport_1_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
+      <param name="output_type" value="full_spectra"/>
+      <param name="precursor_mz_tolerance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <section name="merged_spectra">
+        <param name="cos_similarity" value="0.95"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="GNPSExport_single.consensusXML"/>
+      <param name="in_mzml" value="GNPSExport_mz1.mzML"/>
+      <output name="out" file="GNPSExport_2_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
+      <param name="output_type" value="merged_spectra"/>
+      <param name="precursor_mz_tolerance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <section name="merged_spectra">
+        <param name="cos_similarity" value="0.95"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="GNPSExport_merged.consensusXML"/>
+      <param name="in_mzml" value="GNPSExport_mz1.mzML,GNPSExport_mz2.mzML"/>
+      <output name="out" file="GNPSExport_3_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
+      <param name="output_type" value="full_spectra"/>
+      <param name="precursor_mz_tolerance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <section name="merged_spectra">
+        <param name="cos_similarity" value="0.95"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="GNPSExport_merged.consensusXML"/>
+      <param name="in_mzml" value="GNPSExport_mz1.mzML,GNPSExport_mz2.mzML"/>
+      <output name="out" file="GNPSExport_4_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
+      <param name="output_type" value="full_spectra"/>
+      <param name="precursor_mz_tolerance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <section name="merged_spectra">
+        <param name="cos_similarity" value="0.95"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_HighResPrecursorMassCorrector">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_2860_1103_3.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_2860_1103_3_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_2860_1103_3.featureXML"/>
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_1035_1178_4.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_1035_1178_4_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_1035_1178_4.featureXML"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="4"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_2538_1091_2.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_2538_1091_2_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_2538_1091_2.featureXML"/>
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_2810_1091_3.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_2810_1091_3_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_2810_1091_3.featureXML"/>
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_3070_1191_3.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_3070_1191_3_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_3070_1191_3.featureXML"/>
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_6.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_6_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.2"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDConflictResolver">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDConflictResolver_1_input.featureXML"/>
+      <output name="out" file="IDConflictResolver_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="resolve_between_features" value="off"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDConflictResolver_2_input.consensusXML"/>
+      <output name="out" file="IDConflictResolver_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="resolve_between_features" value="off"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDConflictResolver_3_input.consensusXML"/>
+      <output name="out" file="IDConflictResolver_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="resolve_between_features" value="off"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDConflictResolver_4_input.featureXML"/>
+      <output name="out" file="IDConflictResolver_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="resolve_between_features" value="highest_intensity"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDExtractor">
+</xml>
+  <xml name="autotest_IDFileConverter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_1_input1.mascotXML"/>
+      <output name="out" file="IDFileConverter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="IDFileConverter_1_input2.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PepXMLFile_test.pepxml"/>
+      <output name="out" file="IDFileConverter_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="PepXMLFile_test.mzML"/>
+      <param name="mz_name" value="PepXMLFile_test"/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_3_input.protXML"/>
+      <output name="out" file="IDFileConverter_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value="scan=(?&lt;SCAN&gt;\d+)"/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_1_input1.mascotXML"/>
+      <output name="out" file="IDFileConverter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="IDFileConverter_1_input2.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_6_input1.pepXML"/>
+      <output name="out" file="IDFileConverter_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="IDFileConverter_1_input2.mzML"/>
+      <param name="mz_name" value="F025589.dat.mzML"/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_7_input1.xml"/>
+      <output name="out" file="IDFileConverter_7_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_8_input.mzid"/>
+      <output name="out" file="IDFileConverter_8_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_9_input.idXML"/>
+      <output name="out" file="IDFileConverter_9_output.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <param name="out_type" value="mzid"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_10_input.pepXML"/>
+      <output name="out" file="IDFileConverter_10_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_11_input.tsv" ftype="tabular"/>
+      <output name="out" file="IDFileConverter_11_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_12_input.psms"/>
+      <output name="out" file="IDFileConverter_12_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_12_input.psms"/>
+      <output name="out" file="IDFileConverter_13_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="PEP"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_12_input.psms"/>
+      <output name="out" file="IDFileConverter_14_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="score"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSGFPlusAdapter_1_out.mzid"/>
+      <output name="out" file="IDFileConverter_15_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="spectra.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_16_input.pepXML"/>
+      <output name="out" file="IDFileConverter_16_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_17_input.idXML"/>
+      <output name="out" file="IDFileConverter_17_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_18_input.idXML"/>
+      <output name="out" file="IDFileConverter_18_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_19_input.idXML"/>
+      <output name="out" file="IDFileConverter_19_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_20_input.idXML"/>
+      <output name="out" file="IDFileConverter_20_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_21_input.idXML"/>
+      <output name="out" file="IDFileConverter_21_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="IDMapper_4_input.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.01"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSGFPlusAdapter_1_out.mzid"/>
+      <output name="out" file="IDFileConverter_22_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="spectra.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_23_input.mzid"/>
+      <output name="out" file="IDFileConverter_23_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_24_input.pep.xml"/>
+      <output name="out" file="IDFileConverter_24_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_25_input.idXML"/>
+      <output name="out" file="IDFileConverter_25_output.pep.xml" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_26_input.mzid"/>
+      <output name="out" file="IDFileConverter_26_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDFilter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_1_input.idXML"/>
+      <output name="out" file="IDFilter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="proteins" value="IDFilter_1_input.fas"/>
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_3_input.idXML"/>
+      <output name="out" file="IDFilter_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="peptides" value="IDFilter_3_2_input.idXML"/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_4_input.idXML"/>
+      <output name="out" file="IDFilter_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.08"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_5_input.idXML"/>
+      <output name="out" file="IDFilter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="32.0"/>
+        <param name="prot" value="25.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_5_input.idXML"/>
+      <output name="out" file="IDFilter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="32.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_5_input.idXML"/>
+      <output name="out" file="IDFilter_5b_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="25.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_5_input.idXML"/>
+      <output name="out" file="IDFilter_5c_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="true"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="25.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_6_input.idXML"/>
+      <output name="out" file="IDFilter_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="2"/>
+        <param name="n_protein_hits" value="10"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="true"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_7_input.idXML"/>
+      <output name="out" file="IDFilter_7_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_8_input.idXML"/>
+      <output name="out" file="IDFilter_8_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value="200:350"/>
+        <param name="mz" value="999:1000"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_9_input.idXML"/>
+      <output name="out" file="IDFilter_9_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.05"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_10_input.idXML"/>
+      <output name="out" file="IDFilter_10_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="true"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.3"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_11_input.idXML"/>
+      <output name="out" file="IDFilter_11_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="true"/>
+      <param name="delete_unreferenced_peptide_hits" value="true"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_12_input.idXML"/>
+      <output name="out" file="IDFilter_12_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_12_input.fasta"/>
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_13_input.idXML"/>
+      <output name="out" file="IDFilter_13_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_13_input.fasta"/>
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_14_input.idXML"/>
+      <output name="out" file="IDFilter_14_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_14_input.fasta"/>
+        <param name="enzyme" value="Trypsin/P"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_15_input.idXML"/>
+      <output name="out" file="IDFilter_15_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_15_input.fasta"/>
+        <param name="enzyme" value="Trypsin/P"/>
+        <param name="specificity" value="semi"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_16_input.idXML"/>
+      <output name="out" file="IDFilter_16_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_16_input.fasta"/>
+        <param name="enzyme" value="Trypsin/P"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="methionine_cleavage" value="true"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
+      <output name="out" file="IDFilter_17_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":2"/>
+        <param name="enzyme" value="Lys-N"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
+      <output name="out" file="IDFilter_18_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value="2:"/>
+        <param name="enzyme" value="Lys-N"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
+      <output name="out" file="IDFilter_19_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value="1:3"/>
+        <param name="enzyme" value="Lys-N"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
+      <output name="out" file="IDFilter_20_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value="1:0"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value="&quot;calcMZ&quot; &quot;gt&quot; &quot;750.0&quot;"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_16_input.idXML"/>
+      <output name="out" file="IDFilter_21_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value="&quot;end&quot; &quot;ne&quot; &quot;23&quot;"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_16_input.idXML"/>
+      <output name="out" file="IDFilter_22_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDMapper">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_1_input.idXML"/>
+      <param name="in" value="IDMapper_1_input.featureXML"/>
+      <output name="out" file="IDMapper_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_tolerance" value="5.0"/>
+      <param name="mz_tolerance" value="1.0"/>
+      <param name="mz_measure" value="Da"/>
+      <param name="mz_reference" value="precursor"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="false"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_2_input.idXML"/>
+      <param name="in" value="IDMapper_2_input.consensusXML"/>
+      <output name="out" file="IDMapper_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="rt_tolerance" value="5.0"/>
+      <param name="mz_tolerance" value="1.0"/>
+      <param name="mz_measure" value="Da"/>
+      <param name="mz_reference" value="precursor"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="true"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_3_input.idXML"/>
+      <param name="in" value="IDMapper_3_input.featureXML"/>
+      <output name="out" file="IDMapper_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_tolerance" value="4.0"/>
+      <param name="mz_tolerance" value="3.0"/>
+      <param name="mz_measure" value="ppm"/>
+      <param name="mz_reference" value="precursor"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="true"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_4_input.idXML"/>
+      <param name="in" value="IDMapper_4_input.featureXML"/>
+      <output name="out" file="IDMapper_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_tolerance" value="10.0"/>
+      <param name="mz_tolerance" value="20.0"/>
+      <param name="mz_measure" value="ppm"/>
+      <param name="mz_reference" value="peptide"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="true"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra">
+        <param name="_in" value="IDMapper_4_input.mzML"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_5_input.idXML"/>
+      <param name="in" value="IDMapper_5_input.featureXML"/>
+      <output name="out" file="IDMapper_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_tolerance" value="20.0"/>
+      <param name="mz_tolerance" value="10.0"/>
+      <param name="mz_measure" value="ppm"/>
+      <param name="mz_reference" value="peptide"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="false"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra">
+        <param name="_in" value="IDMapper_5_input.mzML"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDMassAccuracy">
+    <test expect_num_outputs="5">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="number_of_bins" value="10"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <param name="id_in" value="MSGFPlusAdapter_1_out.idXML"/>
+      <output name="out_precursor" file="IDMassAccuracy_1_out_precursor.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="precursor_error_ppm" value="false"/>
+      <output name="out_fragment" file="IDMassAccuracy_1_out_fragment.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_error_ppm" value="false"/>
+      <param name="fragment_mass_tolerance" value="0.5"/>
+      <output name="out_precursor_fit" file="IDMassAccuracy_1_out_precursor_fit.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <output name="out_fragment_fit" file="IDMassAccuracy_1_out_fragment_fit.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_precursor_FLAG,out_fragment_FLAG,out_precursor_fit_FLAG,out_fragment_fit_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDMerger">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMerger_1_input1.idXML,IDMerger_1_input2.idXML"/>
+      <output name="out" file="IDMerger_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="true"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMerger_2_input1.idXML,IDMerger_2_input2.idXML"/>
+      <output name="out" file="IDMerger_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="pepxml_protxml" value="true"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMerger_1_input1.idXML,IDMerger_1_input1_2.idXML"/>
+      <output name="out" file="IDMerger_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="degenerated_empty.idXML,degenerated_empty_2.idXML"/>
+      <output name="out" file="IDMerger_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMerger_2_input1.idXML"/>
+      <output name="out" file="IDMerger_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="add_to" value="IDMerger_5_input1.idXML"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRipper_3_input1.idXML,IDRipper_3_input2.idXML"/>
+      <output name="out" file="IDRipper_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="true"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDPosteriorErrorProbability">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_Mascot_input.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_Mascot_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_XTandem_input.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_XTandem_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_OMSSA_input.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_OMSSA_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_OMSSA_input2.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_OMSSA_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="true"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_XTandem_input2.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_XTandem_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="true"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_Mascot_input2.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_Mascot_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="true"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_bad_data.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_bad_data_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="true"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_OMSSA_input.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_prob_correct_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="true"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDRipper"/>
+  <xml name="autotest_IDRTCalibration">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRTCalibration_1_input.idXML"/>
+      <output name="out" file="IDRTCalibration_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="calibrant_1_reference" value="0.1"/>
+      <param name="calibrant_2_reference" value="0.9"/>
+      <param name="calibrant_1_input" value="10.0"/>
+      <param name="calibrant_2_input" value="90.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="degenerated_empty.idXML"/>
+      <output name="out" file="IDRTCalibration_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="calibrant_1_reference" value="0.1"/>
+      <param name="calibrant_2_reference" value="0.9"/>
+      <param name="calibrant_1_input" value="10.0"/>
+      <param name="calibrant_2_input" value="90.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDScoreSwitcher">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_12_output.idXML"/>
+      <output name="out" file="IDFileConverter_13_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="new_score" value="Percolator_PEP"/>
+      <param name="new_score_orientation" value="lower_better"/>
+      <param name="new_score_type" value="Posterior Error Probability"/>
+      <param name="old_score" value="Percolator_qvalue"/>
+      <param name="proteins" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDScoreSwitcher_2_input.idXML"/>
+      <output name="out" file="IDScoreSwitcher_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="new_score" value="Posterior Probability_score"/>
+      <param name="new_score_orientation" value="higher_better"/>
+      <param name="new_score_type" value="Posterior Probability"/>
+      <param name="old_score" value=""/>
+      <param name="proteins" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDSplitter">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMapper_1_output.featureXML"/>
+      <output name="out" file="IDSplitter_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="id_out" file="IDSplitter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,id_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_InternalCalibration">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="InternalCalibration_1_BSA1.mzML"/>
+      <output name="out" file="InternalCalibration_1_BSA1_out.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="ppm_match_tolerance" value="25.0"/>
+      <param name="ms_level" value="1"/>
+      <param name="RT_chunking" value="-1.0"/>
+      <section name="cal">
+        <param name="id_in" value="InternalCalibration_1_BSA1_OMSSA.idXML"/>
+        <param name="lock_require_mono" value="false"/>
+        <param name="lock_require_iso" value="false"/>
+        <param name="model_type" value="linear"/>
+      </section>
+      <section name="RANSAC">
+        <param name="enabled" value="true"/>
+        <param name="threshold" value="1.0"/>
+        <param name="pc_inliers" value="30"/>
+        <param name="iter" value="500"/>
+      </section>
+      <section name="goodness">
+        <param name="median" value="4.0"/>
+        <param name="MAD" value="2.0"/>
+      </section>
+      <section name="quality_control"/>
+      <output name="quality_control_models" file="InternalCalibration_1_models.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="quality_control_residuals" file="InternalCalibration_1_residuals.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,models_FLAG,residuals_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="InternalCalibration_2_lockmass.mzML.gz"/>
+      <output name="out" file="InternalCalibration_2_lockmass.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="ppm_match_tolerance" value="25.0"/>
+      <param name="ms_level" value="1 2 3"/>
+      <param name="RT_chunking" value="60.0"/>
+      <section name="cal">
+        <param name="lock_in" value="InternalCalibration_2_lock.csv" ftype="csv"/>
+        <param name="lock_require_mono" value="true"/>
+        <param name="lock_require_iso" value="false"/>
+        <param name="model_type" value="linear"/>
+      </section>
+      <section name="RANSAC">
+        <param name="enabled" value="false"/>
+        <param name="threshold" value="10.0"/>
+        <param name="pc_inliers" value="30"/>
+        <param name="iter" value="70"/>
+      </section>
+      <section name="goodness">
+        <param name="median" value="4.0"/>
+        <param name="MAD" value="2.0"/>
+      </section>
+      <section name="quality_control"/>
+      <output name="quality_control_models" file="InternalCalibration_2_models.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="quality_control_residuals" file="InternalCalibration_2_residuals.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,models_FLAG,residuals_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IsobaricAnalyzer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="type" value="itraq4plex"/>
+      <param name="in" value="IsobaricAnalyzer_input_1.mzML"/>
+      <output name="out" file="IsobaricAnalyzer_output_1.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="extraction">
+        <param name="select_activation" value=""/>
+        <param name="reporter_mass_shift" value="0.1"/>
+        <param name="min_precursor_intensity" value="1.0"/>
+        <param name="keep_unannotated_precursor" value="true"/>
+        <param name="min_reporter_intensity" value="0.0"/>
+        <param name="discard_low_intensity_quantifications" value="false"/>
+        <param name="min_precursor_purity" value="0.0"/>
+        <param name="precursor_isotope_deviation" value="10.0"/>
+        <param name="purity_interpolation" value="true"/>
+      </section>
+      <section name="itraq4plex">
+        <param name="channel_114_description" value="l1"/>
+        <param name="channel_115_description" value="l2"/>
+        <param name="channel_116_description" value="l3"/>
+        <param name="channel_117_description" value="lung"/>
+        <param name="reference_channel" value="114"/>
+        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
+      </section>
+      <section name="itraq8plex">
+        <param name="channel_113_description" value=""/>
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="channel_118_description" value=""/>
+        <param name="channel_119_description" value=""/>
+        <param name="channel_121_description" value=""/>
+        <param name="reference_channel" value="113"/>
+        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
+      </section>
+      <section name="quantification">
+        <param name="isotope_correction" value="true"/>
+        <param name="normalization" value="false"/>
+      </section>
+      <section name="tmt10plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt11plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt16plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="channel_132N_description" value=""/>
+        <param name="channel_132C_description" value=""/>
+        <param name="channel_133N_description" value=""/>
+        <param name="channel_133C_description" value=""/>
+        <param name="channel_134N_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
+      </section>
+      <section name="tmt6plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127_description" value=""/>
+        <param name="channel_128_description" value=""/>
+        <param name="channel_129_description" value=""/>
+        <param name="channel_130_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="type" value="itraq4plex"/>
+      <param name="in" value="TMTTenPlexMethod_test.mzML"/>
+      <output name="out" file="TMTTenPlexMethod_test.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="extraction">
+        <param name="select_activation" value="High-energy collision-induced dissociation"/>
+        <param name="reporter_mass_shift" value="0.002"/>
+        <param name="min_precursor_intensity" value="1.0"/>
+        <param name="keep_unannotated_precursor" value="true"/>
+        <param name="min_reporter_intensity" value="0.0"/>
+        <param name="discard_low_intensity_quantifications" value="false"/>
+        <param name="min_precursor_purity" value="0.0"/>
+        <param name="precursor_isotope_deviation" value="10.0"/>
+        <param name="purity_interpolation" value="true"/>
+      </section>
+      <section name="itraq4plex">
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="reference_channel" value="114"/>
+        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
+      </section>
+      <section name="itraq8plex">
+        <param name="channel_113_description" value=""/>
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="channel_118_description" value=""/>
+        <param name="channel_119_description" value=""/>
+        <param name="channel_121_description" value=""/>
+        <param name="reference_channel" value="113"/>
+        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
+      </section>
+      <section name="quantification">
+        <param name="isotope_correction" value="true"/>
+        <param name="normalization" value="false"/>
+      </section>
+      <section name="tmt10plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/5.0/0.0&quot; &quot;0.0/0.2/4.6/0.0&quot; &quot;0.0/0.2/4.6/0.3&quot; &quot;0.0/0.9/4.7/0.2&quot; &quot;0.0/0.5/3.2/0.0&quot; &quot;0.0/0.7/3.3/0.0&quot; &quot;0.0/1.3/2.5/0.0&quot; &quot;0.0/1.2/2.8/2.7&quot; &quot;0.0/1.5/2.0/0.0&quot; &quot;0.0/1.5/1.9/0.0&quot;"/>
+      </section>
+      <section name="tmt11plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt16plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="channel_132N_description" value=""/>
+        <param name="channel_132C_description" value=""/>
+        <param name="channel_133N_description" value=""/>
+        <param name="channel_133C_description" value=""/>
+        <param name="channel_134N_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
+      </section>
+      <section name="tmt6plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127_description" value=""/>
+        <param name="channel_128_description" value=""/>
+        <param name="channel_129_description" value=""/>
+        <param name="channel_130_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="type" value="itraq4plex"/>
+      <param name="in" value="TMTTenPlexMethod_test.mzML"/>
+      <output name="out" file="TMTElevenPlexMethod_test.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="extraction">
+        <param name="select_activation" value="High-energy collision-induced dissociation"/>
+        <param name="reporter_mass_shift" value="0.002"/>
+        <param name="min_precursor_intensity" value="1.0"/>
+        <param name="keep_unannotated_precursor" value="true"/>
+        <param name="min_reporter_intensity" value="0.0"/>
+        <param name="discard_low_intensity_quantifications" value="false"/>
+        <param name="min_precursor_purity" value="0.0"/>
+        <param name="precursor_isotope_deviation" value="10.0"/>
+        <param name="purity_interpolation" value="true"/>
+      </section>
+      <section name="itraq4plex">
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="reference_channel" value="114"/>
+        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
+      </section>
+      <section name="itraq8plex">
+        <param name="channel_113_description" value=""/>
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="channel_118_description" value=""/>
+        <param name="channel_119_description" value=""/>
+        <param name="channel_121_description" value=""/>
+        <param name="reference_channel" value="113"/>
+        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
+      </section>
+      <section name="quantification">
+        <param name="isotope_correction" value="true"/>
+        <param name="normalization" value="false"/>
+      </section>
+      <section name="tmt10plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt11plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt16plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="channel_132N_description" value=""/>
+        <param name="channel_132C_description" value=""/>
+        <param name="channel_133N_description" value=""/>
+        <param name="channel_133C_description" value=""/>
+        <param name="channel_134N_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
+      </section>
+      <section name="tmt6plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127_description" value=""/>
+        <param name="channel_128_description" value=""/>
+        <param name="channel_129_description" value=""/>
+        <param name="channel_130_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="type" value="tmt10plex"/>
+      <param name="in" value="MS3_nonHierarchical.mzML"/>
+      <output name="out" file="MS3TMT10Plex_test.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="extraction">
+        <param name="select_activation" value="Collision-induced dissociation"/>
+        <param name="reporter_mass_shift" value="0.002"/>
+        <param name="min_precursor_intensity" value="1.0"/>
+        <param name="keep_unannotated_precursor" value="true"/>
+        <param name="min_reporter_intensity" value="0.0"/>
+        <param name="discard_low_intensity_quantifications" value="false"/>
+        <param name="min_precursor_purity" value="0.0"/>
+        <param name="precursor_isotope_deviation" value="10.0"/>
+        <param name="purity_interpolation" value="true"/>
+      </section>
+      <section name="itraq4plex">
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="reference_channel" value="114"/>
+        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
+      </section>
+      <section name="itraq8plex">
+        <param name="channel_113_description" value=""/>
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="channel_118_description" value=""/>
+        <param name="channel_119_description" value=""/>
+        <param name="channel_121_description" value=""/>
+        <param name="reference_channel" value="113"/>
+        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
+      </section>
+      <section name="quantification">
+        <param name="isotope_correction" value="true"/>
+        <param name="normalization" value="false"/>
+      </section>
+      <section name="tmt10plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/5.09/0.0&quot; &quot;0.0/0.25/5.27/0.0&quot; &quot;0.0/0.37/5.36/0.15&quot; &quot;0.0/0.65/4.17/0.1&quot; &quot;0.08/0.49/3.06/0.0&quot; &quot;0.01/0.71/3.07/0.0&quot; &quot;0.0/1.32/2.62/0.0&quot; &quot;0.02/1.28/2.75/2.53&quot; &quot;0.03/2.08/2.23/0.0&quot; &quot;0.08/1.99/1.65/0.0&quot;"/>
+      </section>
+      <section name="tmt11plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt16plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="channel_132N_description" value=""/>
+        <param name="channel_132C_description" value=""/>
+        <param name="channel_133N_description" value=""/>
+        <param name="channel_133C_description" value=""/>
+        <param name="channel_134N_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
+      </section>
+      <section name="tmt6plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127_description" value=""/>
+        <param name="channel_128_description" value=""/>
+        <param name="channel_129_description" value=""/>
+        <param name="channel_130_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_LabeledEval">
+</xml>
+  <xml name="autotest_LowMemPeakPickerHiResRandomAccess">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_RandomAccess_input.mzML"/>
+      <output name="out" file="LowMemPeakPickerHiRes_RandomAccess_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="false"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_LowMemPeakPickerHiRes">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_input.mzML"/>
+      <output name="out" file="LowMemPeakPickerHiRes_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="false"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_LuciphorAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="LuciphorAdapter_1_input.mzML"/>
+      <param name="id" value="LuciphorAdapter_1_input.idXML"/>
+      <output name="out" file="LuciphorAdapter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="fragment_method" value="CID"/>
+      <param name="fragment_mass_tolerance" value="0.5"/>
+      <param name="fragment_error_units" value="Da"/>
+      <param name="min_mz" value="150.0"/>
+      <param name="target_modifications" value="Phospho (S),Phospho (T),Phospho (Y)"/>
+      <param name="neutral_losses" value="&quot;sty -H3PO4 -97.97690&quot;"/>
+      <param name="decoy_mass" value="79.966331"/>
+      <param name="decoy_neutral_losses" value="&quot;X -H3PO4 -97.97690&quot;"/>
+      <param name="max_charge_state" value="5"/>
+      <param name="max_peptide_length" value="40"/>
+      <param name="max_num_perm" value="16384"/>
+      <param name="modeling_score_threshold" value="0.95"/>
+      <param name="scoring_threshold" value="0.0"/>
+      <param name="min_num_psms_model" value="1"/>
+      <param name="run_mode" value="0"/>
+      <param name="rt_tolerance" value="0.01"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapAlignerIdentification">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input1.featureXML,MapAlignerIdentification_1_input2.featureXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input1.featureXML"/>
+      <output_collection name="out" count="1"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerIdentification_1_input2.featureXML"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input2.featureXML,MapAlignerIdentification_1_input1.featureXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="index" value="1"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input1.featureXML,MapAlignerIdentification_1_input2.featureXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="index" value="2"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_5_input1.consensusXML,MapAlignerIdentification_5_input2.consensusXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input1.featureXML"/>
+      <output_collection name="trafo_out" count="1"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerIdentification_1_input2.featureXML"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapAlignerPoseClustering">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerPoseClustering_1_input1.featureXML,MapAlignerPoseClustering_1_input2.featureXML,MapAlignerPoseClustering_1_input3.featureXML"/>
+      <output_collection name="out" count="3"/>
+      <output_collection name="trafo_out" count="3"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="max_num_peaks_considered" value="400"/>
+        <section name="superimposer">
+          <param name="mz_pair_max_distance" value="0.5"/>
+          <param name="rt_pair_distance_fraction" value="0.1"/>
+          <param name="num_used_points" value="2000"/>
+          <param name="scaling_bucket_size" value="0.005"/>
+          <param name="shift_bucket_size" value="3.0"/>
+          <param name="max_shift" value="1000.0"/>
+          <param name="max_scaling" value="2.0"/>
+          <param name="dump_buckets" value=""/>
+          <param name="dump_pairs" value=""/>
+        </section>
+        <section name="pairfinder">
+          <param name="second_nearest_gap" value="2.0"/>
+          <param name="use_identifications" value="false"/>
+          <param name="ignore_charge" value="true"/>
+          <param name="ignore_adduct" value="true"/>
+          <section name="distance_RT">
+            <param name="max_difference" value="30.0"/>
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_MZ">
+            <param name="max_difference" value="0.3"/>
+            <param name="unit" value="Da"/>
+            <param name="exponent" value="2.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_intensity">
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="0.0"/>
+            <param name="log_transform" value="disabled"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerPoseClustering_2_input1.mzML,MapAlignerPoseClustering_2_input2.mzML,MapAlignerPoseClustering_2_input3.mzML"/>
+      <output_collection name="out" count="3"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="max_num_peaks_considered" value="400"/>
+        <section name="superimposer">
+          <param name="mz_pair_max_distance" value="0.5"/>
+          <param name="rt_pair_distance_fraction" value="0.1"/>
+          <param name="num_used_points" value="2000"/>
+          <param name="scaling_bucket_size" value="0.005"/>
+          <param name="shift_bucket_size" value="3.0"/>
+          <param name="max_shift" value="1000.0"/>
+          <param name="max_scaling" value="2.0"/>
+          <param name="dump_buckets" value=""/>
+          <param name="dump_pairs" value=""/>
+        </section>
+        <section name="pairfinder">
+          <param name="second_nearest_gap" value="2.0"/>
+          <param name="use_identifications" value="false"/>
+          <param name="ignore_charge" value="false"/>
+          <param name="ignore_adduct" value="true"/>
+          <section name="distance_RT">
+            <param name="max_difference" value="100.0"/>
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_MZ">
+            <param name="max_difference" value="0.3"/>
+            <param name="unit" value="Da"/>
+            <param name="exponent" value="2.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_intensity">
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="0.0"/>
+            <param name="log_transform" value="disabled"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerPoseClustering_1_input2.featureXML,MapAlignerPoseClustering_1_input3.featureXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerPoseClustering_1_input1.featureXML"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="max_num_peaks_considered" value="400"/>
+        <section name="superimposer">
+          <param name="mz_pair_max_distance" value="0.5"/>
+          <param name="rt_pair_distance_fraction" value="0.1"/>
+          <param name="num_used_points" value="2000"/>
+          <param name="scaling_bucket_size" value="0.005"/>
+          <param name="shift_bucket_size" value="3.0"/>
+          <param name="max_shift" value="1000.0"/>
+          <param name="max_scaling" value="2.0"/>
+          <param name="dump_buckets" value=""/>
+          <param name="dump_pairs" value=""/>
+        </section>
+        <section name="pairfinder">
+          <param name="second_nearest_gap" value="2.0"/>
+          <param name="use_identifications" value="false"/>
+          <param name="ignore_charge" value="true"/>
+          <param name="ignore_adduct" value="true"/>
+          <section name="distance_RT">
+            <param name="max_difference" value="30.0"/>
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_MZ">
+            <param name="max_difference" value="0.3"/>
+            <param name="unit" value="Da"/>
+            <param name="exponent" value="2.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_intensity">
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="0.0"/>
+            <param name="log_transform" value="disabled"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerPoseClustering_1_input1.featureXML,MapAlignerPoseClustering_1_input2.featureXML"/>
+      <output_collection name="trafo_out" count="2"/>
+      <section name="reference">
+        <param name="index" value="2"/>
+      </section>
+      <section name="algorithm">
+        <param name="max_num_peaks_considered" value="400"/>
+        <section name="superimposer">
+          <param name="mz_pair_max_distance" value="0.5"/>
+          <param name="rt_pair_distance_fraction" value="0.1"/>
+          <param name="num_used_points" value="2000"/>
+          <param name="scaling_bucket_size" value="0.005"/>
+          <param name="shift_bucket_size" value="3.0"/>
+          <param name="max_shift" value="1000.0"/>
+          <param name="max_scaling" value="2.0"/>
+          <param name="dump_buckets" value=""/>
+          <param name="dump_pairs" value=""/>
+        </section>
+        <section name="pairfinder">
+          <param name="second_nearest_gap" value="2.0"/>
+          <param name="use_identifications" value="false"/>
+          <param name="ignore_charge" value="true"/>
+          <param name="ignore_adduct" value="true"/>
+          <section name="distance_RT">
+            <param name="max_difference" value="30.0"/>
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_MZ">
+            <param name="max_difference" value="0.3"/>
+            <param name="unit" value="Da"/>
+            <param name="exponent" value="2.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_intensity">
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="0.0"/>
+            <param name="log_transform" value="disabled"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapAlignerSpectrum">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerSpectrum_1_input1.mzML,MapAlignerSpectrum_1_input2.mzML,MapAlignerSpectrum_1_input3.mzML"/>
+      <output_collection name="out" count="3"/>
+      <section name="algorithm">
+        <param name="gapcost" value="1.0"/>
+        <param name="affinegapcost" value="0.5"/>
+        <param name="cutoff_score" value="0.7"/>
+        <param name="bucketsize" value="100"/>
+        <param name="anchorpoints" value="100"/>
+        <param name="mismatchscore" value="-5.0"/>
+        <param name="scorefunction" value="SteinScottImproveScore"/>
+      </section>
+      <section name="model">
+        <param name="type" value="interpolated"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapAlignerTreeGuided">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerTreeGuided_1_input1.featureXML,MapAlignerTreeGuided_1_input2.featureXML,MapAlignerTreeGuided_1_input3.featureXML"/>
+      <output_collection name="out" count="3"/>
+      <section name="algorithm">
+        <param name="model_type" value="b_spline"/>
+        <section name="model">
+          <param name="type" value="b_spline"/>
+          <section name="linear">
+            <param name="symmetric_regression" value="false"/>
+            <param name="x_weight" value=""/>
+            <param name="y_weight" value=""/>
+            <param name="x_datum_min" value="1e-15"/>
+            <param name="x_datum_max" value="1000000000000000.0"/>
+            <param name="y_datum_min" value="1e-15"/>
+            <param name="y_datum_max" value="1000000000000000.0"/>
+          </section>
+          <section name="b_spline">
+            <param name="wavelength" value="0.0"/>
+            <param name="num_nodes" value="5"/>
+            <param name="extrapolate" value="linear"/>
+            <param name="boundary_condition" value="2"/>
+          </section>
+          <section name="lowess">
+            <param name="span" value="0.666666666666667"/>
+            <param name="num_iterations" value="3"/>
+            <param name="delta" value="-1.0"/>
+            <param name="interpolation_type" value="cspline"/>
+            <param name="extrapolation_type" value="four-point-linear"/>
+          </section>
+          <section name="interpolated">
+            <param name="interpolation_type" value="cspline"/>
+            <param name="extrapolation_type" value="two-point-linear"/>
+          </section>
+        </section>
+        <section name="align_algorithm">
+          <param name="score_cutoff" value="false"/>
+          <param name="min_score" value="0.05"/>
+          <param name="min_run_occur" value="2"/>
+          <param name="max_rt_shift" value="0.5"/>
+          <param name="use_unassigned_peptides" value="true"/>
+          <param name="use_feature_rt" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerTreeGuided_1_input1.featureXML,MapAlignerTreeGuided_1_input2.featureXML,MapAlignerTreeGuided_1_input3.featureXML"/>
+      <output_collection name="trafo_out" count="3"/>
+      <section name="algorithm">
+        <param name="model_type" value="b_spline"/>
+        <section name="model">
+          <param name="type" value="b_spline"/>
+          <section name="linear">
+            <param name="symmetric_regression" value="false"/>
+            <param name="x_weight" value=""/>
+            <param name="y_weight" value=""/>
+            <param name="x_datum_min" value="1e-15"/>
+            <param name="x_datum_max" value="1000000000000000.0"/>
+            <param name="y_datum_min" value="1e-15"/>
+            <param name="y_datum_max" value="1000000000000000.0"/>
+          </section>
+          <section name="b_spline">
+            <param name="wavelength" value="0.0"/>
+            <param name="num_nodes" value="5"/>
+            <param name="extrapolate" value="linear"/>
+            <param name="boundary_condition" value="2"/>
+          </section>
+          <section name="lowess">
+            <param name="span" value="0.666666666666667"/>
+            <param name="num_iterations" value="3"/>
+            <param name="delta" value="-1.0"/>
+            <param name="interpolation_type" value="cspline"/>
+            <param name="extrapolation_type" value="four-point-linear"/>
+          </section>
+          <section name="interpolated">
+            <param name="interpolation_type" value="cspline"/>
+            <param name="extrapolation_type" value="two-point-linear"/>
+          </section>
+        </section>
+        <section name="align_algorithm">
+          <param name="score_cutoff" value="false"/>
+          <param name="min_score" value="0.05"/>
+          <param name="min_run_occur" value="2"/>
+          <param name="max_rt_shift" value="0.5"/>
+          <param name="use_unassigned_peptides" value="true"/>
+          <param name="use_feature_rt" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapNormalizer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_input.mzML"/>
+      <output name="out" file="MapNormalizer.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapRTTransformer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
+      <output name="out" file="MapRTTransformer_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_2_input.mzML"/>
+      <output name="out" file="MapRTTransformer_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="trafo_in" value="MapAlignerPoseClustering_1_trafo2.trafoXML"/>
+      <output name="trafo_out" file="MapRTTransformer_3_trafo.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <param name="invert" value="true"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_4_input.chrom.mzML"/>
+      <output name="out" file="MapRTTransformer_4_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
+      <output name="out" file="MapRTTransformer_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_none.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
+      <output name="out" file="MapRTTransformer_6_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="true"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapStatistics">
+</xml>
+  <xml name="autotest_MaRaClusterAdapter"/>
+  <xml name="autotest_MascotAdapterOnline">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_protein_links" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra_comet.mzML"/>
+      <output name="out" file="MascotAdapterOnline_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="Mascot_parameters">
+        <param name="database" value="SwissProt"/>
+        <param name="search_type" value="MIS"/>
+        <param name="enzyme" value="Trypsin"/>
+        <param name="instrument" value="Default"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="precursor_mass_tolerance" value="3.0"/>
+        <param name="precursor_error_units" value="Da"/>
+        <param name="fragment_mass_tolerance" value="0.3"/>
+        <param name="fragment_error_units" value="Da"/>
+        <param name="charges" value="1,2,3"/>
+        <param name="taxonomy" value="All entries"/>
+        <param name="fixed_modifications" value=""/>
+        <param name="variable_modifications" value=""/>
+        <param name="special_modifications" value="Cation:Na (DE),Deamidated (NQ),Oxidation (HW),Phospho (ST),Sulfo (ST)"/>
+        <param name="mass_type" value="monoisotopic"/>
+        <param name="number_of_hits" value="0"/>
+        <param name="skip_spectrum_charges" value="false"/>
+        <param name="search_title" value="OpenMS_search"/>
+        <param name="username" value="OpenMS"/>
+        <param name="email" value="openmsjenkins@gmail.com"/>
+      </section>
+      <section name="Mascot_server">
+        <param name="hostname" value="www.matrixscience.com"/>
+        <param name="host_port" value="80"/>
+        <param name="server_path" value=""/>
+        <param name="timeout" value="1500"/>
+        <param name="boundary" value="GZWgAaYKjHFeUaLOLEIOMq"/>
+        <param name="use_proxy" value="false"/>
+        <param name="proxy_host" value=""/>
+        <param name="proxy_port" value="0"/>
+        <param name="proxy_username" value=""/>
+        <param name="proxy_password" value=""/>
+        <param name="login" value="false"/>
+        <param name="username" value=""/>
+        <param name="password" value=""/>
+        <param name="use_ssl" value="false"/>
+        <param name="export_params" value="_ignoreionsscorebelow=0&amp;_sigthreshold=0.99&amp;_showsubsets=1&amp;show_same_sets=1&amp;report=0&amp;percolate=0&amp;query_master=0"/>
+        <param name="skip_export" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MascotAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MascotAdapter_1_input.mzData"/>
+      <output name="out" file="output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="mascot_in" value="true"/>
+      <param name="mascot_out" value="false"/>
+      <param name="instrument" value="ESI-TRAP"/>
+      <param name="precursor_mass_tolerance" value="1.3"/>
+      <param name="peak_mass_tolerance" value="0.3"/>
+      <param name="taxonomy" value=". . . . . . Chordata (vertebrates and relatives)"/>
+      <param name="modifications" value="&quot;Carboxymethyl (C)&quot;"/>
+      <param name="variable_modifications" value="&quot;Variable_Modifications_TEST_1&quot;"/>
+      <param name="charges" value="&quot;1+&quot; &quot;2+&quot; &quot;3+&quot;"/>
+      <param name="db" value="MSDB"/>
+      <param name="hits" value="AUTO"/>
+      <param name="cleavage" value="Trypsin"/>
+      <param name="missed_cleavages" value="1"/>
+      <param name="sig_threshold" value="0.05"/>
+      <param name="pep_homol" value="1.0"/>
+      <param name="pep_ident" value="1.0"/>
+      <param name="pep_rank" value="1"/>
+      <param name="prot_score" value="1.0"/>
+      <param name="pep_score" value="1.0"/>
+      <param name="pep_exp_z" value="1"/>
+      <param name="show_unassigned" value="1"/>
+      <param name="first_dim_rt" value="0.0"/>
+      <param name="boundary" value="ABCDEFGHIJKMNOPQRSTUVWXYZ"/>
+      <param name="mass_type" value="Monoisotopic"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MascotAdapter_2_input.mascotXML"/>
+      <output name="out" file="MascotAdapter_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="mascot_in" value="false"/>
+      <param name="mascot_out" value="true"/>
+      <param name="instrument" value="Default"/>
+      <param name="precursor_mass_tolerance" value="2.0"/>
+      <param name="peak_mass_tolerance" value="1.0"/>
+      <param name="taxonomy" value="All entries"/>
+      <param name="modifications" value=""/>
+      <param name="variable_modifications" value=""/>
+      <param name="charges" value="&quot;1+&quot; &quot;2+&quot; &quot;3+&quot;"/>
+      <param name="db" value="MSDB"/>
+      <param name="hits" value="AUTO"/>
+      <param name="cleavage" value="Trypsin"/>
+      <param name="missed_cleavages" value="0"/>
+      <param name="sig_threshold" value="0.05"/>
+      <param name="pep_homol" value="1.0"/>
+      <param name="pep_ident" value="1.0"/>
+      <param name="pep_rank" value="1"/>
+      <param name="prot_score" value="1.0"/>
+      <param name="pep_score" value="1.0"/>
+      <param name="pep_exp_z" value="1"/>
+      <param name="show_unassigned" value="1"/>
+      <param name="first_dim_rt" value="0.0"/>
+      <param name="boundary" value=""/>
+      <param name="mass_type" value="Monoisotopic"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MassCalculator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MassCalculator_1_input.txt" ftype="txt"/>
+      <param name="in_seq" value=""/>
+      <output name="out" file="MassCalculator_1_output.csv" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="charge" value="0 1"/>
+      <param name="format" value="table"/>
+      <param name="average_mass" value="false"/>
+      <param name="fragment_type" value="full"/>
+      <param name="separator" value=","/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_seq" value="&quot;LDQWLC(Carbamidomethyl)EKL&quot; &quot;(Glu-&gt;pyro-Glu)EAM(Oxidation)APKHK&quot; &quot;RANVM(Oxidation)DYR&quot; &quot;FGVEQDVDMVFASFIR&quot;"/>
+      <output name="out" file="MassCalculator_2_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="charge" value="1 2 3"/>
+      <param name="format" value="list"/>
+      <param name="average_mass" value="false"/>
+      <param name="fragment_type" value="full"/>
+      <param name="separator" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MassTraceExtractor">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MassTraceExtractor_1_input.mzML"/>
+      <output name="out" file="MassTraceExtractor_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="20.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="-1.0"/>
+        </section>
+        <section name="epd">
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+          <param name="enabled" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MassTraceExtractor_1_input.mzML"/>
+      <output name="out" file="MassTraceExtractor_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="20.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="6.0"/>
+          <param name="max_trace_length" value="12.0"/>
+        </section>
+        <section name="epd">
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+          <param name="enabled" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MetaboliteAdductDecharger">
+</xml>
+  <xml name="autotest_MetaboliteSpectralMatcher">
+</xml>
+  <xml name="autotest_MetaProSIP">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_correlation_distance_to_averagine" value="-1.0"/>
+        <param name="pattern_15N_TIC_threshold" value="0.95"/>
+        <param name="pattern_13C_TIC_threshold" value="0.95"/>
+        <param name="pattern_2H_TIC_threshold" value="0.95"/>
+        <param name="pattern_18O_TIC_threshold" value="0.95"/>
+        <param name="heatmap_bins" value="20"/>
+        <param name="observed_peak_fraction" value="0.5"/>
+        <param name="min_consecutive_isotopes" value="2"/>
+        <param name="score_plot_yaxis_min" value="0.0"/>
+        <param name="collect_method" value="correlation_maximum"/>
+        <param name="lowRIA_correlation_threshold" value="-1.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_mzML" value="MetaProSIP_1_input.mzML"/>
+      <param name="in_fasta" value="MetaProSIP_1_input.fasta"/>
+      <output name="out_csv" file="MetaProSIP_1_output_1.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="out_peptide_centric_csv" file="MetaProSIP_1_output_2.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="in_featureXML" value="MetaProSIP_1_input.featureXML"/>
+      <param name="mz_tolerance_ppm" value="10.0"/>
+      <param name="rt_tolerance_s" value="30.0"/>
+      <param name="intensity_threshold" value="10.0"/>
+      <param name="correlation_threshold" value="0.7"/>
+      <param name="xic_threshold" value="0.7"/>
+      <param name="decomposition_threshold" value="0.7"/>
+      <param name="weight_merge_window" value="5.0"/>
+      <param name="plot_extension" value="png"/>
+      <param name="qc_output_directory" value=""/>
+      <param name="labeling_element" value="C"/>
+      <param name="use_unassigned_ids" value="false"/>
+      <param name="use_averagine_ids" value="false"/>
+      <param name="report_natural_peptides" value="false"/>
+      <param name="filter_monoisotopic" value="false"/>
+      <param name="cluster" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MRMMapper">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MRMMapping_input.chrom.mzML"/>
+      <param name="tr" value="MRMMapping_input.TraML"/>
+      <output name="out" file="MRMMapping_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="precursor_tolerance" value="0.3"/>
+        <param name="product_tolerance" value="0.3"/>
+        <param name="map_multiple_assays" value="false"/>
+        <param name="error_on_unmapped" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MRMMapping_input.chrom.mzML"/>
+      <param name="tr" value="MRMMapping_input_2.TraML"/>
+      <output name="out" file="MRMMapping_output_2.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="precursor_tolerance" value="0.01"/>
+        <param name="product_tolerance" value="0.01"/>
+        <param name="map_multiple_assays" value="false"/>
+        <param name="error_on_unmapped" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MRMPairFinder">
+</xml>
+  <xml name="autotest_MRMTransitionGroupPicker">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MRMTransitionGroupPicker_1_input.mzML"/>
+      <param name="tr" value="MRMTransitionGroupPicker_1_input.TraML"/>
+      <output name="out" file="MRMTransitionGroupPicker_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <param name="stop_after_feature" value="-1"/>
+        <param name="stop_after_intensity_ratio" value="0.0001"/>
+        <param name="min_peak_width" value="-1.0"/>
+        <param name="peak_integration" value="original"/>
+        <param name="background_subtraction" value="none"/>
+        <param name="recalculate_peaks" value="false"/>
+        <param name="use_precursors" value="false"/>
+        <param name="use_consensus" value="true"/>
+        <param name="recalculate_peaks_max_z" value="1.0"/>
+        <param name="minimal_quality" value="-10000.0"/>
+        <param name="resample_boundary" value="15.0"/>
+        <param name="compute_peak_quality" value="false"/>
+        <param name="compute_peak_shape_metrics" value="false"/>
+        <param name="compute_total_mi" value="false"/>
+        <param name="boundary_selection_method" value="largest"/>
+        <section name="PeakPickerMRM">
+          <param name="sgolay_frame_length" value="15"/>
+          <param name="sgolay_polynomial_order" value="3"/>
+          <param name="gauss_width" value="50.0"/>
+          <param name="use_gauss" value="true"/>
+          <param name="peak_width" value="40.0"/>
+          <param name="signal_to_noise" value="1.0"/>
+          <param name="sn_win_len" value="1000.0"/>
+          <param name="sn_bin_count" value="30"/>
+          <param name="write_sn_log_messages" value="false"/>
+          <param name="remove_overlapping_peaks" value="true"/>
+          <param name="method" value="legacy"/>
+        </section>
+        <section name="PeakIntegrator">
+          <param name="integration_type" value="intensity_sum"/>
+          <param name="baseline_type" value="base_to_base"/>
+          <param name="fit_EMG" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MRMTransitionGroupPicker_1_input.mzML"/>
+      <param name="tr" value="MRMTransitionGroupPicker_1_input.TraML"/>
+      <output name="out" file="MRMTransitionGroupPicker_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <param name="stop_after_feature" value="-1"/>
+        <param name="stop_after_intensity_ratio" value="0.0001"/>
+        <param name="min_peak_width" value="-1.0"/>
+        <param name="peak_integration" value="original"/>
+        <param name="background_subtraction" value="none"/>
+        <param name="recalculate_peaks" value="false"/>
+        <param name="use_precursors" value="false"/>
+        <param name="use_consensus" value="true"/>
+        <param name="recalculate_peaks_max_z" value="1.0"/>
+        <param name="minimal_quality" value="-10000.0"/>
+        <param name="resample_boundary" value="15.0"/>
+        <param name="compute_peak_quality" value="false"/>
+        <param name="compute_peak_shape_metrics" value="false"/>
+        <param name="compute_total_mi" value="true"/>
+        <param name="boundary_selection_method" value="largest"/>
+        <section name="PeakPickerMRM">
+          <param name="sgolay_frame_length" value="15"/>
+          <param name="sgolay_polynomial_order" value="3"/>
+          <param name="gauss_width" value="50.0"/>
+          <param name="use_gauss" value="true"/>
+          <param name="peak_width" value="40.0"/>
+          <param name="signal_to_noise" value="1.0"/>
+          <param name="sn_win_len" value="1000.0"/>
+          <param name="sn_bin_count" value="30"/>
+          <param name="write_sn_log_messages" value="false"/>
+          <param name="remove_overlapping_peaks" value="true"/>
+          <param name="method" value="legacy"/>
+        </section>
+        <section name="PeakIntegrator">
+          <param name="integration_type" value="intensity_sum"/>
+          <param name="baseline_type" value="base_to_base"/>
+          <param name="fit_EMG" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MSFraggerAdapter"/>
+  <xml name="autotest_MSGFPlusAdapter">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_conversion" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="MSGFPlusAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="mzid_out" file="MSGFPlusAdapter_1_out2.tmp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="add_decoys" value="false"/>
+      <param name="precursor_mass_tolerance" value="10.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="isotope_error_range" value="0,1"/>
+      <param name="fragment_method" value="from_spectrum"/>
+      <param name="instrument" value="high_res"/>
+      <param name="enzyme" value="Trypsin/P"/>
+      <param name="protocol" value="none"/>
+      <param name="tryptic" value="fully"/>
+      <param name="min_precursor_charge" value="1"/>
+      <param name="max_precursor_charge" value="3"/>
+      <param name="min_peptide_length" value="6"/>
+      <param name="max_peptide_length" value="40"/>
+      <param name="matches_per_spec" value="1"/>
+      <param name="add_features" value="false"/>
+      <param name="max_mods" value="2"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,mzid_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MSSimulator">
+</xml>
+  <xml name="autotest_MSstatsConverter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="retention_time_summarization_method" value="max"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSstatsConverter_1_in.consensusXML"/>
+      <param name="in_design" value="MSstatsConverter_1_design.tsv" ftype="tabular"/>
+      <param name="method" value="LFQ"/>
+      <param name="msstats_bioreplicate" value="MSstats_BioReplicate"/>
+      <param name="msstats_condition" value="MSstats_Condition"/>
+      <param name="msstats_mixture" value="MSstats_Mixture"/>
+      <param name="labeled_reference_peptides" value="false"/>
+      <output name="out" file="MSstatsConverter_1_out.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="retention_time_summarization_method" value="manual"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSstatsConverter_2_in.consensusXML"/>
+      <param name="in_design" value="MSstatsConverter_2_design.tsv" ftype="tabular"/>
+      <param name="method" value="ISO"/>
+      <param name="msstats_bioreplicate" value="MSstats_BioReplicate"/>
+      <param name="msstats_condition" value="MSstats_Condition"/>
+      <param name="msstats_mixture" value="MSstats_Mixture"/>
+      <param name="labeled_reference_peptides" value="false"/>
+      <output name="out" file="MSstatsConverter_2_out.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="retention_time_summarization_method" value="manual"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSstatsConverter_3_in.consensusXML"/>
+      <param name="in_design" value="MSstatsConverter_3_design.tsv" ftype="tabular"/>
+      <param name="method" value="ISO"/>
+      <param name="msstats_bioreplicate" value="MSstats_BioReplicate"/>
+      <param name="msstats_condition" value="MSstats_Condition"/>
+      <param name="msstats_mixture" value="MSstats_Mixture"/>
+      <param name="labeled_reference_peptides" value="false"/>
+      <output name="out" file="MSstatsConverter_3_out.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MultiplexResolver">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MultiplexResolver_1_input.consensusXML"/>
+      <output name="out" file="MultiplexResolver_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_conflicts" file="MultiplexResolver_1_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[][Lys4,Arg6][Lys8,Arg10]"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="mass_tolerance" value="0.1"/>
+        <param name="mz_tolerance" value="10"/>
+        <param name="rt_tolerance" value="5"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MultiplexResolver_2_input.consensusXML"/>
+      <output name="out" file="MultiplexResolver_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_conflicts" file="MultiplexResolver_2_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl4][Dimethyl8]"/>
+        <param name="missed_cleavages" value="4"/>
+        <param name="mass_tolerance" value="0.1"/>
+        <param name="mz_tolerance" value="10"/>
+        <param name="rt_tolerance" value="5"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MultiplexResolver_3_input.consensusXML"/>
+      <output name="out" file="MultiplexResolver_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_conflicts" file="MultiplexResolver_3_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[][Leu3]"/>
+        <param name="missed_cleavages" value="2"/>
+        <param name="mass_tolerance" value="0.1"/>
+        <param name="mz_tolerance" value="10"/>
+        <param name="rt_tolerance" value="5"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MultiplexResolver_4_input.consensusXML"/>
+      <param name="in_blacklist" value="MultiplexResolver_4_input.mzML"/>
+      <output name="out" file="MultiplexResolver_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_conflicts" file="MultiplexResolver_4_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
+        <param name="missed_cleavages" value="3"/>
+        <param name="mass_tolerance" value="0.1"/>
+        <param name="mz_tolerance" value="10"/>
+        <param name="rt_tolerance" value="10"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MyriMatchAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="MinPeptideMass" value="0.0"/>
+        <param name="MaxPeptideMass" value="10000.0"/>
+        <param name="MinPeptideLength" value="5"/>
+        <param name="MaxPeptideLength" value="75"/>
+        <param name="UseSmartPlusThreeModel" value="false"/>
+        <param name="NumIntensityClasses" value="3"/>
+        <param name="ClassSizeMultiplier" value="2.0"/>
+        <param name="MonoisotopeAdjustmentSet" value="[-1,2]"/>
+        <param name="SpectrumListFilters" value=""/>
+        <param name="ignoreConfigErrors" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="MyriMatchAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="precursor_mass_tolerance_unit" value="ppm"/>
+      <param name="precursor_mass_tolerance_avg" value="false"/>
+      <param name="fragment_mass_tolerance" value="0.3"/>
+      <param name="fragment_mass_tolerance_unit" value="Da"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="NumChargeStates" value="3"/>
+      <param name="TicCutoffPercentage" value="0.98"/>
+      <param name="MaxDynamicMods" value="2"/>
+      <param name="MaxResultRank" value="5"/>
+      <param name="CleavageRules" value=""/>
+      <param name="MinTerminiCleavages" value="2"/>
+      <param name="MaxMissedCleavages" value="-1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MzMLSplitter"/>
+  <xml name="autotest_MzTabExporter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="first_run_inference_only" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MzTabExporter_1_input.consensusXML"/>
+      <output name="out" file="MzTabExporter_1_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="opt_columns" value="subfeatures"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="first_run_inference_only" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MzTabExporter_2_input.idXML"/>
+      <output name="out" file="MzTabExporter_2_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="opt_columns" value="subfeatures"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="first_run_inference_only" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MzTabExporter_3_input.featureXML"/>
+      <output name="out" file="MzTabExporter_3_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="opt_columns" value="subfeatures"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_NoiseFilterGaussian">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterGaussian_1_input.mzML"/>
+      <output name="out" file="NoiseFilterGaussian_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="gaussian_width" value="1.0"/>
+        <param name="ppm_tolerance" value="10.0"/>
+        <param name="use_ppm_tolerance" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterGaussian_2_input.chrom.mzML"/>
+      <output name="out" file="NoiseFilterGaussian_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="gaussian_width" value="50.0"/>
+        <param name="ppm_tolerance" value="10.0"/>
+        <param name="use_ppm_tolerance" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterGaussian_1_input.mzML"/>
+      <output name="out" file="NoiseFilterGaussian_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="gaussian_width" value="1.0"/>
+        <param name="ppm_tolerance" value="10.0"/>
+        <param name="use_ppm_tolerance" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterGaussian_2_input.chrom.mzML"/>
+      <output name="out" file="NoiseFilterGaussian_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="gaussian_width" value="50.0"/>
+        <param name="ppm_tolerance" value="10.0"/>
+        <param name="use_ppm_tolerance" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_NoiseFilterSGolay">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterSGolay_1_input.mzML"/>
+      <output name="out" file="NoiseFilterSGolay_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="frame_length" value="9"/>
+        <param name="polynomial_order" value="4"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterSGolay_2_input.chrom.mzML"/>
+      <output name="out" file="NoiseFilterSGolay_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="frame_length" value="11"/>
+        <param name="polynomial_order" value="4"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterSGolay_1_input.mzML"/>
+      <output name="out" file="NoiseFilterSGolay_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="frame_length" value="9"/>
+        <param name="polynomial_order" value="4"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterSGolay_2_input.chrom.mzML"/>
+      <output name="out" file="NoiseFilterSGolay_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="frame_length" value="11"/>
+        <param name="polynomial_order" value="4"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_NovorAdapter"/>
+  <xml name="autotest_NucleicAcidSearchEngine">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="decharge_ms2" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NucleicAcidSearchEngine_1.mzML"/>
+      <param name="database" value="NucleicAcidSearchEngine_1.fasta"/>
+      <output name="out" file="NucleicAcidSearchEngine_12_out.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="id_out" file="NucleicAcidSearchEngine_11_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="5.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="-2"/>
+        <param name="max_charge" value="-14"/>
+        <param name="include_unknown_charge" value="true"/>
+        <param name="use_avg_mass" value="false"/>
+        <param name="use_adducts" value="false"/>
+        <param name="potential_adducts" value="&quot;K:+&quot; &quot;Na:+&quot; &quot;Na2:++&quot; &quot;K2:++&quot; &quot;NaK:++&quot; &quot;K3:+++&quot; &quot;Na3:+++&quot; &quot;NaK2:+++&quot; &quot;Na2K:+++&quot;"/>
+        <param name="isotopes" value="0 1 2"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="5.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="ions" value="a-B,c,w,y"/>
+      </section>
+      <section name="modifications">
+        <param name="variable" value=""/>
+        <param name="variable_max_per_oligo" value="2"/>
+        <param name="resolve_ambiguities" value="false"/>
+      </section>
+      <section name="oligo">
+        <param name="min_size" value="5"/>
+        <param name="max_size" value="0"/>
+        <param name="missed_cleavages" value="22"/>
+        <param name="enzyme" value="no cleavage"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="1"/>
+      </section>
+      <section name="fdr">
+        <param name="decoy_pattern" value="DECOY_"/>
+        <param name="cutoff" value="0.05"/>
+        <param name="remove_decoys" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,id_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OMSSAAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="pc" value="1"/>
+        <param name="hs" value="4"/>
+        <param name="tez" value="1"/>
+        <param name="tom" value="0"/>
+        <param name="tem" value="0"/>
+        <param name="tex" value="1446.94"/>
+        <param name="zt" value="3"/>
+        <param name="z1" value="0.95"/>
+        <param name="zc" value="1"/>
+        <param name="zcc" value="2"/>
+        <param name="zoh" value="2"/>
+        <param name="no" value="4"/>
+        <param name="nox" value="40"/>
+        <param name="i" value="1,4"/>
+        <param name="sp" value="100"/>
+        <param name="sb1" value="1"/>
+        <param name="sct" value="0"/>
+        <param name="x" value="0"/>
+        <param name="hm" value="2"/>
+        <param name="ht" value="6"/>
+        <param name="mm" value="128"/>
+        <param name="mnm" value="false"/>
+        <param name="is" value="0.0"/>
+        <param name="ir" value="0.0"/>
+        <param name="ii" value="0.0"/>
+        <param name="chunk_size" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="OMSSAAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="fragment_mass_tolerance" value="0.3"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="min_precursor_charge" value="1"/>
+      <param name="max_precursor_charge" value="3"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="v" value="1"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="hl" value="30"/>
+      <param name="he" value="1.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenPepXLLF">
+    <test expect_num_outputs="5">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenPepXLLF_input.mzML"/>
+      <param name="database" value="OpenPepXLLF_input.fasta"/>
+      <param name="decoy_string" value="decoy"/>
+      <param name="decoy_prefix" value="true"/>
+      <output name="out_idXML" file="OpenPepXLLF_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="OpenPepXLLF_output.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquestxml" file="OpenPepXLLF_output.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <output name="out_xquest_specxml" file="OpenPepXLLF_output.spec.xml" compare="sim_size" delta="5700" ftype="spec.xml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="3"/>
+        <param name="max_charge" value="7"/>
+        <param name="corrections" value="2 1 0"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_xlinks" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="5"/>
+        <param name="missed_cleavages" value="2"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="cross_linker">
+        <param name="residue1" value="&quot;K&quot; &quot;N-term&quot;"/>
+        <param name="residue2" value="&quot;K&quot; &quot;N-term&quot;"/>
+        <param name="mass" value="138.0680796"/>
+        <param name="mass_mono_link" value="156.07864431 155.094628715"/>
+        <param name="name" value="DSS"/>
+      </section>
+      <section name="algorithm">
+        <param name="number_top_hits" value="5"/>
+        <param name="deisotope" value="auto"/>
+        <param name="use_sequence_tags" value="false"/>
+        <param name="sequence_tag_min_length" value="2"/>
+      </section>
+      <section name="ions">
+        <param name="b_ions" value="true"/>
+        <param name="y_ions" value="true"/>
+        <param name="a_ions" value="false"/>
+        <param name="x_ions" value="false"/>
+        <param name="c_ions" value="false"/>
+        <param name="z_ions" value="false"/>
+        <param name="neutral_losses" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquestxml_FLAG,out_xquest_specxml_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenPepXLLF_input2.mzML"/>
+      <param name="database" value="OpenPepXLLF_input2.fasta"/>
+      <param name="decoy_string" value="decoy_"/>
+      <param name="decoy_prefix" value="true"/>
+      <output name="out_idXML" file="OpenPepXLLF_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="3"/>
+        <param name="max_charge" value="7"/>
+        <param name="corrections" value="1 0"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="0.2"/>
+        <param name="mass_tolerance_xlinks" value="0.3"/>
+        <param name="mass_tolerance_unit" value="Da"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value="Carbamidomethyl (C)"/>
+        <param name="variable" value="Oxidation (M)"/>
+        <param name="variable_max_per_peptide" value="1"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="5"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="cross_linker">
+        <param name="residue1" value="&quot;D&quot; &quot;E&quot; &quot;C-term&quot;"/>
+        <param name="residue2" value="&quot;K&quot; &quot;S&quot; &quot;T&quot; &quot;Y&quot; &quot;N-term&quot;"/>
+        <param name="mass" value="-18.010595"/>
+        <param name="mass_mono_link" value=""/>
+        <param name="name" value="DMTMM"/>
+      </section>
+      <section name="algorithm">
+        <param name="number_top_hits" value="1"/>
+        <param name="deisotope" value="auto"/>
+        <param name="use_sequence_tags" value="false"/>
+        <param name="sequence_tag_min_length" value="2"/>
+      </section>
+      <section name="ions">
+        <param name="b_ions" value="true"/>
+        <param name="y_ions" value="true"/>
+        <param name="a_ions" value="false"/>
+        <param name="x_ions" value="false"/>
+        <param name="c_ions" value="false"/>
+        <param name="z_ions" value="false"/>
+        <param name="neutral_losses" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenPepXL">
+    <test expect_num_outputs="5">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenPepXL_input.mzML"/>
+      <param name="consensus" value="OpenPepXL_input.consensusXML"/>
+      <param name="database" value="OpenPepXL_input.fasta"/>
+      <param name="decoy_string" value="decoy"/>
+      <param name="decoy_prefix" value="true"/>
+      <output name="out_idXML" file="OpenPepXL_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="OpenPepXL_output.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquestxml" file="OpenPepXL_output.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <output name="out_xquest_specxml" file="OpenPepXL_output.spec.xml" compare="sim_size" delta="5700" ftype="spec.xml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="3"/>
+        <param name="max_charge" value="7"/>
+        <param name="corrections" value="2 1 0"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="0.2"/>
+        <param name="mass_tolerance_xlinks" value="0.3"/>
+        <param name="mass_tolerance_unit" value="Da"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="5"/>
+        <param name="missed_cleavages" value="2"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="cross_linker">
+        <param name="residue1" value="&quot;K&quot; &quot;N-term&quot;"/>
+        <param name="residue2" value="&quot;K&quot; &quot;N-term&quot;"/>
+        <param name="mass_light" value="138.0680796"/>
+        <param name="mass_iso_shift" value="12.075321"/>
+        <param name="mass_mono_link" value="156.07864431 155.094628715"/>
+        <param name="name" value="DSS"/>
+      </section>
+      <section name="algorithm">
+        <param name="number_top_hits" value="5"/>
+        <param name="deisotope" value="auto"/>
+      </section>
+      <section name="ions">
+        <param name="b_ions" value="true"/>
+        <param name="y_ions" value="true"/>
+        <param name="a_ions" value="false"/>
+        <param name="x_ions" value="false"/>
+        <param name="c_ions" value="false"/>
+        <param name="z_ions" value="false"/>
+        <param name="neutral_losses" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquestxml_FLAG,out_xquest_specxml_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathAnalyzer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <output name="out" file="OpenSwathAnalyzer_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_mod_input.TraML"/>
+      <output name="out" file="OpenSwathAnalyzer_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="true"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="8.0"/>
+          <param name="dia_byseries_ppm_diff" value="15.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <output name="out" file="OpenSwathAnalyzer_6_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="true"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="8.0"/>
+          <param name="dia_byseries_ppm_diff" value="15.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <output name="out" file="OpenSwathAnalyzer_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="original"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="true"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_8_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="true"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_9_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_10_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathAssayGenerator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="max_num_alternative_localizations" value="10000"/>
+        <param name="disable_identification_ms2_precursors" value="false"/>
+        <param name="disable_identification_specific_losses" value="false"/>
+        <param name="enable_identification_unspecific_losses" value="false"/>
+        <param name="enable_swath_specifity" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAssayGenerator_input.TraML"/>
+      <output name="out" file="OpenSwathAssayGenerator_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="min_transitions" value="6"/>
+      <param name="max_transitions" value="6"/>
+      <param name="allowed_fragment_types" value="b,y"/>
+      <param name="allowed_fragment_charges" value="2,3"/>
+      <param name="enable_detection_specific_losses" value="true"/>
+      <param name="enable_detection_unspecific_losses" value="false"/>
+      <param name="precursor_mz_threshold" value="0.025"/>
+      <param name="precursor_lower_mz_limit" value="400.0"/>
+      <param name="precursor_upper_mz_limit" value="1200.0"/>
+      <param name="product_mz_threshold" value="0.025"/>
+      <param name="product_lower_mz_limit" value="350.0"/>
+      <param name="product_upper_mz_limit" value="2000.0"/>
+      <param name="enable_ipf" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="max_num_alternative_localizations" value="10000"/>
+        <param name="disable_identification_ms2_precursors" value="false"/>
+        <param name="disable_identification_specific_losses" value="false"/>
+        <param name="enable_identification_unspecific_losses" value="false"/>
+        <param name="enable_swath_specifity" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAssayGenerator_input_2.TraML"/>
+      <output name="out" file="OpenSwathAssayGenerator_output_2.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="min_transitions" value="6"/>
+      <param name="max_transitions" value="6"/>
+      <param name="allowed_fragment_types" value="b,y"/>
+      <param name="allowed_fragment_charges" value="1,2,3,4"/>
+      <param name="enable_detection_specific_losses" value="false"/>
+      <param name="enable_detection_unspecific_losses" value="false"/>
+      <param name="precursor_mz_threshold" value="0.025"/>
+      <param name="precursor_lower_mz_limit" value="400.0"/>
+      <param name="precursor_upper_mz_limit" value="1200.0"/>
+      <param name="product_mz_threshold" value="0.025"/>
+      <param name="product_lower_mz_limit" value="350.0"/>
+      <param name="product_upper_mz_limit" value="2000.0"/>
+      <param name="unimod_file" value="OpenSwathAssayGenerator_input_2_unimod.xml"/>
+      <param name="enable_ipf" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="max_num_alternative_localizations" value="10000"/>
+        <param name="disable_identification_ms2_precursors" value="false"/>
+        <param name="disable_identification_specific_losses" value="false"/>
+        <param name="enable_identification_unspecific_losses" value="false"/>
+        <param name="enable_swath_specifity" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAssayGenerator_input_2.TraML"/>
+      <output name="out" file="OpenSwathAssayGenerator_output_3.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="min_transitions" value="6"/>
+      <param name="max_transitions" value="6"/>
+      <param name="allowed_fragment_types" value="b,y"/>
+      <param name="allowed_fragment_charges" value="1,2,3,4"/>
+      <param name="enable_detection_specific_losses" value="false"/>
+      <param name="enable_detection_unspecific_losses" value="false"/>
+      <param name="precursor_mz_threshold" value="0.025"/>
+      <param name="precursor_lower_mz_limit" value="400.0"/>
+      <param name="precursor_upper_mz_limit" value="1200.0"/>
+      <param name="product_mz_threshold" value="0.025"/>
+      <param name="product_lower_mz_limit" value="350.0"/>
+      <param name="product_upper_mz_limit" value="2000.0"/>
+      <param name="unimod_file" value="OpenSwathAssayGenerator_input_3_unimod.xml"/>
+      <param name="enable_ipf" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathChromatogramExtractor">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_input.TraML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="false"/>
+      <param name="extract_MS1" value="false"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathChromatogramExtractor_input.trafoXML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_output_2.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="50.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="false"/>
+      <param name="extract_MS1" value="false"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_input.TraML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_output_3.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="false"/>
+      <param name="extract_MS1" value="true"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_4_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_4_input.TraML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="0.05"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="true"/>
+      <param name="extract_MS1" value="false"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_5_input.TraML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_5_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="false"/>
+      <param name="extract_MS1" value="true"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathConfidenceScoring">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+      <param name="lib" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
+      <output name="out" file="OpenSwathConfidenceScoring_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="trafo" value="OpenSwathConfidenceScoring_1_input.trafoXML"/>
+      <param name="decoys" value="1"/>
+      <param name="transitions" value="2"/>
+      <section name="GLM">
+        <param name="intercept" value="3.87333466"/>
+        <param name="delta_rt" value="-0.02898629"/>
+        <param name="dist_int" value="-7.75880768"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathDecoyGenerator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_decoy_fraction" value="0.8"/>
+        <param name="aim_decoy_fraction" value="1.0"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="shift_precursor_mz_shift" value="0.0"/>
+        <param name="shift_product_mz_shift" value="20.0"/>
+        <param name="product_mz_threshold" value="0.025"/>
+        <param name="allowed_fragment_types" value="b,y"/>
+        <param name="allowed_fragment_charges" value="1,2,3,4"/>
+        <param name="enable_detection_specific_losses" value="false"/>
+        <param name="enable_detection_unspecific_losses" value="false"/>
+        <param name="separate" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathDecoyGenerator_input.TraML"/>
+      <output name="out" file="OpenSwathDecoyGenerator_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="method" value="pseudo-reverse"/>
+      <param name="decoy_tag" value="DECOY_"/>
+      <param name="switchKR" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_decoy_fraction" value="0.8"/>
+        <param name="aim_decoy_fraction" value="1.0"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="shift_precursor_mz_shift" value="0.0"/>
+        <param name="shift_product_mz_shift" value="20.0"/>
+        <param name="product_mz_threshold" value="0.8"/>
+        <param name="allowed_fragment_types" value="b,y"/>
+        <param name="allowed_fragment_charges" value="1,2,3,4"/>
+        <param name="enable_detection_specific_losses" value="false"/>
+        <param name="enable_detection_unspecific_losses" value="false"/>
+        <param name="separate" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathDecoyGenerator_input_2.TraML"/>
+      <output name="out" file="OpenSwathDecoyGenerator_output_2.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="method" value="pseudo-reverse"/>
+      <param name="decoy_tag" value="DECOY_"/>
+      <param name="switchKR" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_decoy_fraction" value="0.8"/>
+        <param name="aim_decoy_fraction" value="1.0"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="shift_precursor_mz_shift" value="0.0"/>
+        <param name="shift_product_mz_shift" value="20.0"/>
+        <param name="product_mz_threshold" value="0.025"/>
+        <param name="allowed_fragment_types" value="b,y"/>
+        <param name="allowed_fragment_charges" value="1,2,3,4"/>
+        <param name="enable_detection_specific_losses" value="false"/>
+        <param name="enable_detection_unspecific_losses" value="false"/>
+        <param name="separate" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathDecoyGenerator_input_3.TraML"/>
+      <output name="out" file="OpenSwathDecoyGenerator_output_3.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="method" value="pseudo-reverse"/>
+      <param name="decoy_tag" value="DECOY_"/>
+      <param name="switchKR" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_decoy_fraction" value="0.4"/>
+        <param name="aim_decoy_fraction" value="1.0"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="shift_precursor_mz_shift" value="0.0"/>
+        <param name="shift_product_mz_shift" value="20.0"/>
+        <param name="product_mz_threshold" value="0.025"/>
+        <param name="allowed_fragment_types" value="b,y"/>
+        <param name="allowed_fragment_charges" value="1,2,3,4"/>
+        <param name="enable_detection_specific_losses" value="true"/>
+        <param name="enable_detection_unspecific_losses" value="true"/>
+        <param name="separate" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathDecoyGenerator_input_4.tsv" ftype="tabular"/>
+      <output name="out" file="OpenSwathDecoyGenerator_output_4.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="method" value="pseudo-reverse"/>
+      <param name="decoy_tag" value="DECOY_"/>
+      <param name="switchKR" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathFeatureXMLToTSV">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+      <param name="tr" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
+      <output name="out" file="OpenSwathFeatureXMLToTSV_output.short.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="short_format" value="true"/>
+      <param name="best_scoring_peptide" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+      <param name="tr" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
+      <output name="out" file="OpenSwathFeatureXMLToTSV_output.long.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="short_format" value="false"/>
+      <param name="best_scoring_peptide" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+      <param name="tr" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
+      <output name="out" file="OpenSwathFeatureXMLToTSV_3_output.short.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="short_format" value="true"/>
+      <param name="best_scoring_peptide" value="main_var_xx_lda_prelim_score"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathFileSplitter"/>
+  <xml name="autotest_OpenSwathMzMLFileCacher">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_1_input.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_2_input.chrom.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_2_input.chrom.cached.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="0.0001"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_1_input.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_3_input.tmp.sqMass" compare="sim_size" delta="5700" ftype="sqmass"/>
+      <param name="out_type" value="sqmass"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_3_input.tmp.sqMass"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_3_output.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_2_input.chrom.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_4_input.tmp.sqMass" compare="sim_size" delta="5700" ftype="sqmass"/>
+      <param name="out_type" value="sqmass"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_4_input.tmp.sqMass"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_4_output.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_1_input.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
+      <output name="out" file="OpenSwathAnalyzer_4_swathfile.mzML.cached.tmp" compare="sim_size" delta="5700"/>
+      <param name="out_type" value="mzML"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <output name="out" file="OpenSwathAnalyzer_4_input_chrom.mzML.cached.tmp" compare="sim_size" delta="5700"/>
+      <param name="out_type" value="mzML"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="0.0001"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_14.chrom.tmp.sqMass"/>
+      <output name="out" file="OpenSwathWorkflow_14.chrom.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="false"/>
+      <param name="full_meta" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathRewriteToFeatureXML">
+</xml>
+  <xml name="autotest_OpenSwathRTNormalizer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathRTNormalizer_1_input.mzML"/>
+      <param name="tr" value="OpenSwathRTNormalizer_1_input.TraML"/>
+      <output name="out" file="OpenSwathRTNormalizer_1_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <param name="min_rsq" value="0.95"/>
+      <param name="min_coverage" value="0.6"/>
+      <param name="estimateBestPeptides" value="false"/>
+      <section name="RTNormalization">
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <section name="peptideEstimation">
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathRTNormalizer_1_input.mzML"/>
+      <param name="tr" value="OpenSwathRTNormalizer_1_input.TraML"/>
+      <output name="out" file="OpenSwathRTNormalizer_3_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <param name="min_rsq" value="0.95"/>
+      <param name="min_coverage" value="0.6"/>
+      <param name="estimateBestPeptides" value="true"/>
+      <section name="RTNormalization">
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <section name="peptideEstimation">
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="3"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="3"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathRTNormalizer_1_input.mzML"/>
+      <param name="tr" value="OpenSwathRTNormalizer_1_input.TraML"/>
+      <output name="out" file="OpenSwathRTNormalizer_4_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <param name="min_rsq" value="0.95"/>
+      <param name="min_coverage" value="0.6"/>
+      <param name="estimateBestPeptides" value="false"/>
+      <section name="RTNormalization">
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <section name="peptideEstimation">
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathWorkflow">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="false"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_1_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <output name="out_qc" file="OpenSwathWorkflow_1_output.json" compare="sim_size" delta="5700" ftype="json"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG,out_qc_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_2_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="false"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_2_input.mzXML"/>
+      <param name="tr" value="OpenSwathWorkflow_2_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_tsv" file="OpenSwathWorkflow_4.tsv.tmp" compare="sim_size" delta="5700" ftype="tabular"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_4.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_tsv_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="cache"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="cacheWorkingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="swath_windows_file" value="swath_windows.txt" ftype="txt"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="swath_windows_file" value="swath_windows_overlap.txt" ftype="txt"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="true"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_10.featureXML.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_10.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="false"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="550.0"/>
+        <param name="irt_mz_extraction_window_unit" value="ppm"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="quadratic_regression_delta_ppm"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_11_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_11_input_2.TraML"/>
+      <param name="tr_type" value=""/>
+      <param name="tr_irt" value="OpenSwathWorkflow_11_input.TraML"/>
+      <output name="out_features" file="OpenSwathWorkflow_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_11_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="true"/>
+      <param name="rt_extraction_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.2"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="none"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="true"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_13_input.pqp.tmp"/>
+      <param name="tr_type" value="pqp"/>
+      <output name="out_osw" file="OpenSwathWorkflow_13.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_13_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_osw_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="sqMass"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_14_input.pqp.tmp"/>
+      <param name="tr_type" value="pqp"/>
+      <output name="out_osw" file="OpenSwathWorkflow_14.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_14.chrom.tmp.sqMass" compare="sim_size" delta="5700" ftype="sqmass"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_osw_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="2"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_15_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_15_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_15_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="true"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="2"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_16_input.sqMass"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_16_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_16_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_17_input.tsv" ftype="tabular"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_17.featureXML.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_17.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="0.05"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="true"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="cache"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_17_input.tsv" ftype="tabular"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_17.featureXML.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_17.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="0.05"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="true"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_17_input.pqp.tmp"/>
+      <param name="tr_type" value="pqp"/>
+      <output name="out_features" file="OpenSwathWorkflow_17_b_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_17_b_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="0.05"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_18_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="true"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_19_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_20_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_21_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_21_input.tsv" ftype="tabular"/>
+      <param name="tr_type" value=""/>
+      <param name="tr_irt" value="OpenSwathWorkflow_21_input.irt.TraML"/>
+      <output name="out_features" file="OpenSwathWorkflow_21_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_21_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <output name="Debugging_irt_trafo" file="OpenSwathWorkflow_21_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG,irt_trafo_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="true"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="3"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_22_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_22_input.tsv" ftype="tabular"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_22_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_22_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PeakPickerHiRes">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_1.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="true"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_2_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="true"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_output_lowMem.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="true"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_2_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="true"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_5_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_5_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="0.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value=""/>
+        <param name="report_FWHM" value="false"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PeakPickerIterative">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerIterative_1_input.mzML"/>
+      <output name="out" file="PeakPickerIterative_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise_" value="1.0"/>
+        <param name="peak_width" value="0.04"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="sn_bin_count_" value="30"/>
+        <param name="nr_iterations_" value="5"/>
+        <param name="sn_win_len_" value="20.0"/>
+        <param name="check_width_internally" value="false"/>
+        <param name="ms1_only" value="false"/>
+        <param name="clear_meta_data" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerIterative_2_input.mzML"/>
+      <output name="out" file="PeakPickerIterative_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise_" value="0.0"/>
+        <param name="peak_width" value="0.04"/>
+        <param name="spacing_difference" value="2.5"/>
+        <param name="sn_bin_count_" value="30"/>
+        <param name="nr_iterations_" value="5"/>
+        <param name="sn_win_len_" value="20.0"/>
+        <param name="check_width_internally" value="true"/>
+        <param name="ms1_only" value="false"/>
+        <param name="clear_meta_data" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PeakPickerWavelet">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="write_peak_meta_data" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerWavelet_input.mzML"/>
+      <output name="out" file="PeakPickerWavelet_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="3.0"/>
+        <param name="centroid_percentage" value="0.6"/>
+        <param name="peak_width" value="0.2"/>
+        <param name="estimate_peak_width" value="false"/>
+        <param name="fwhm_lower_bound_factor" value="0.5"/>
+        <param name="fwhm_upper_bound_factor" value="20.0"/>
+        <section name="optimization">
+          <param name="iterations" value="400"/>
+          <section name="penalties">
+            <param name="position" value="0.0"/>
+            <param name="left_width" value="1.0"/>
+            <param name="right_width" value="1.0"/>
+            <param name="height" value="1.0"/>
+          </section>
+          <section name="2d">
+            <param name="tolerance_mz" value="2.2"/>
+            <param name="max_peak_distance" value="1.2"/>
+          </section>
+        </section>
+        <section name="thresholds">
+          <param name="peak_bound" value="100.0"/>
+          <param name="peak_bound_ms2_level" value="10.0"/>
+          <param name="correlation" value="0.5"/>
+          <param name="noise_level" value="0.1"/>
+          <param name="search_radius" value="3"/>
+        </section>
+        <section name="wavelet_transform">
+          <param name="spacing" value="0.001"/>
+        </section>
+        <section name="deconvolution">
+          <param name="deconvolution" value="false"/>
+          <param name="asym_threshold" value="0.3"/>
+          <param name="left_width" value="2.0"/>
+          <param name="right_width" value="2.0"/>
+          <param name="scaling" value="0.12"/>
+          <section name="fitting">
+            <param name="fwhm_threshold" value="0.7"/>
+            <param name="eps_abs" value="9.999999747378752e-06"/>
+            <param name="eps_rel" value="9.999999747378752e-06"/>
+            <param name="max_iteration" value="10"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="height" value="1.0"/>
+              <param name="left_width" value="0.0"/>
+              <param name="right_width" value="0.0"/>
+            </section>
+          </section>
+        </section>
+        <section name="SignalToNoiseEstimationParameter">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="stdev_mp" value="3.0"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="write_peak_meta_data" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerWavelet_deconv_input.mzML"/>
+      <output name="out" file="PeakPickerWavelet_deconv_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="2.0"/>
+        <param name="centroid_percentage" value="0.8"/>
+        <param name="peak_width" value="0.15"/>
+        <param name="estimate_peak_width" value="false"/>
+        <param name="fwhm_lower_bound_factor" value="1.0"/>
+        <param name="fwhm_upper_bound_factor" value="20.0"/>
+        <section name="optimization">
+          <param name="iterations" value="400"/>
+          <section name="penalties">
+            <param name="position" value="0.0"/>
+            <param name="left_width" value="1.0"/>
+            <param name="right_width" value="1.0"/>
+            <param name="height" value="1.0"/>
+          </section>
+          <section name="2d">
+            <param name="tolerance_mz" value="2.2"/>
+            <param name="max_peak_distance" value="1.2"/>
+          </section>
+        </section>
+        <section name="thresholds">
+          <param name="peak_bound" value="200.0"/>
+          <param name="peak_bound_ms2_level" value="50.0"/>
+          <param name="correlation" value="0.5"/>
+          <param name="noise_level" value="0.1"/>
+          <param name="search_radius" value="3"/>
+        </section>
+        <section name="wavelet_transform">
+          <param name="spacing" value="0.001"/>
+        </section>
+        <section name="deconvolution">
+          <param name="deconvolution" value="true"/>
+          <param name="asym_threshold" value="0.3"/>
+          <param name="left_width" value="2.0"/>
+          <param name="right_width" value="2.0"/>
+          <param name="scaling" value="0.1"/>
+          <section name="fitting">
+            <param name="fwhm_threshold" value="0.7"/>
+            <param name="eps_abs" value="9.999999747378752e-06"/>
+            <param name="eps_rel" value="9.999999747378752e-06"/>
+            <param name="max_iteration" value="100"/>
+            <section name="penalties">
+              <param name="position" value="1.0"/>
+              <param name="height" value="1.0"/>
+              <param name="left_width" value="0.0"/>
+              <param name="right_width" value="0.0"/>
+            </section>
+          </section>
+        </section>
+        <section name="SignalToNoiseEstimationParameter">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="stdev_mp" value="3.0"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="write_peak_meta_data" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerWavelet_input.mzML"/>
+      <output name="out" file="PeakPickerWavelet_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="3.0"/>
+        <param name="centroid_percentage" value="0.6"/>
+        <param name="peak_width" value="0.2"/>
+        <param name="estimate_peak_width" value="false"/>
+        <param name="fwhm_lower_bound_factor" value="0.5"/>
+        <param name="fwhm_upper_bound_factor" value="20.0"/>
+        <section name="optimization">
+          <param name="iterations" value="400"/>
+          <section name="penalties">
+            <param name="position" value="0.0"/>
+            <param name="left_width" value="1.0"/>
+            <param name="right_width" value="1.0"/>
+            <param name="height" value="1.0"/>
+          </section>
+          <section name="2d">
+            <param name="tolerance_mz" value="2.2"/>
+            <param name="max_peak_distance" value="1.2"/>
+          </section>
+        </section>
+        <section name="thresholds">
+          <param name="peak_bound" value="100.0"/>
+          <param name="peak_bound_ms2_level" value="10.0"/>
+          <param name="correlation" value="0.5"/>
+          <param name="noise_level" value="0.1"/>
+          <param name="search_radius" value="3"/>
+        </section>
+        <section name="wavelet_transform">
+          <param name="spacing" value="0.001"/>
+        </section>
+        <section name="deconvolution">
+          <param name="deconvolution" value="false"/>
+          <param name="asym_threshold" value="0.3"/>
+          <param name="left_width" value="2.0"/>
+          <param name="right_width" value="2.0"/>
+          <param name="scaling" value="0.12"/>
+          <section name="fitting">
+            <param name="fwhm_threshold" value="0.7"/>
+            <param name="eps_abs" value="9.999999747378752e-06"/>
+            <param name="eps_rel" value="9.999999747378752e-06"/>
+            <param name="max_iteration" value="10"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="height" value="1.0"/>
+              <param name="left_width" value="0.0"/>
+              <param name="right_width" value="0.0"/>
+            </section>
+          </section>
+        </section>
+        <section name="SignalToNoiseEstimationParameter">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="stdev_mp" value="3.0"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="write_peak_meta_data" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerWavelet_input.mzML"/>
+      <output name="out" file="PeakPickerWavelet_output_noMetaData.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="3.0"/>
+        <param name="centroid_percentage" value="0.6"/>
+        <param name="peak_width" value="0.2"/>
+        <param name="estimate_peak_width" value="false"/>
+        <param name="fwhm_lower_bound_factor" value="0.5"/>
+        <param name="fwhm_upper_bound_factor" value="20.0"/>
+        <section name="optimization">
+          <param name="iterations" value="400"/>
+          <section name="penalties">
+            <param name="position" value="0.0"/>
+            <param name="left_width" value="1.0"/>
+            <param name="right_width" value="1.0"/>
+            <param name="height" value="1.0"/>
+          </section>
+          <section name="2d">
+            <param name="tolerance_mz" value="2.2"/>
+            <param name="max_peak_distance" value="1.2"/>
+          </section>
+        </section>
+        <section name="thresholds">
+          <param name="peak_bound" value="100.0"/>
+          <param name="peak_bound_ms2_level" value="10.0"/>
+          <param name="correlation" value="0.5"/>
+          <param name="noise_level" value="0.1"/>
+          <param name="search_radius" value="3"/>
+        </section>
+        <section name="wavelet_transform">
+          <param name="spacing" value="0.001"/>
+        </section>
+        <section name="deconvolution">
+          <param name="deconvolution" value="false"/>
+          <param name="asym_threshold" value="0.3"/>
+          <param name="left_width" value="2.0"/>
+          <param name="right_width" value="2.0"/>
+          <param name="scaling" value="0.12"/>
+          <section name="fitting">
+            <param name="fwhm_threshold" value="0.7"/>
+            <param name="eps_abs" value="9.999999747378752e-06"/>
+            <param name="eps_rel" value="9.999999747378752e-06"/>
+            <param name="max_iteration" value="10"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="height" value="1.0"/>
+              <param name="left_width" value="0.0"/>
+              <param name="right_width" value="0.0"/>
+            </section>
+          </section>
+        </section>
+        <section name="SignalToNoiseEstimationParameter">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="stdev_mp" value="3.0"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PepNovoAdapter">
+</xml>
+  <xml name="autotest_PeptideIndexer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_1_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_2_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="true"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_3_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="true"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_4_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="true"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="0"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_5_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_2.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_6_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="3"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_3.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_7_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_3.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_8_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="semi"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_3.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_9_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_10_input.idXML"/>
+      <param name="fasta" value="PeptideIndexer_10_input.fasta"/>
+      <output name="out" file="PeptideIndexer_10_output.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="true"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="false"/>
+      <param name="aaa_max" value="3"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="true"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_12_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="empty.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_13_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="false"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_14.idXML"/>
+      <param name="fasta" value="PeptideIndexer_2.fasta"/>
+      <output name="out" file="PeptideIndexer_14_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="true"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="false"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PercolatorAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.5"/>
+        <param name="trainFDR" value="0.5"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PercolatorAdapter_1.idXML"/>
+      <output name="out" file="PercolatorAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="ms2"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.01"/>
+        <param name="trainFDR" value="0.01"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_osw" value="PercolatorAdapter_2.osw"/>
+      <output name="out" file="PercolatorAdapter_2_out1.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <param name="out_type" value="osw"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="ms1"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.01"/>
+        <param name="trainFDR" value="0.01"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_osw" value="PercolatorAdapter_2_out1.osw"/>
+      <output name="out" file="PercolatorAdapter_3_out1.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <param name="out_type" value="osw"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="ms2"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.01"/>
+        <param name="trainFDR" value="0.01"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_osw" value="PercolatorAdapter_3_out1.osw"/>
+      <output name="out" file="PercolatorAdapter_4_out1.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <param name="out_type" value="osw"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="transition"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.5"/>
+        <param name="trainFDR" value="0.5"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PercolatorAdapter_1.idXML"/>
+      <output name="out" file="PercolatorAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_pin" file="PercolatorAdapter_1_out1.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="idXML"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="ms2"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_pin_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PhosphoScoring">
+</xml>
+  <xml name="autotest_PrecursorIonSelector">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="solver" value="GLPK"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PrecursorIonSelector_features.featureXML"/>
+      <param name="ids" value="PrecursorIonSelector_ids.idXML"/>
+      <param name="num_precursors" value="1"/>
+      <param name="load_preprocessing" value="false"/>
+      <param name="store_preprocessing" value="false"/>
+      <param name="simulation" value="true"/>
+      <output name="sim_results" file="PrecursorIonSelector_1_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="db_path" value="PrecursorIonSelector_db.fasta"/>
+      <param name="fixed_modifications" value=""/>
+      <section name="algorithm">
+        <param name="type" value="IPS"/>
+        <param name="max_iteration" value="10"/>
+        <param name="rt_bin_capacity" value="10"/>
+        <param name="step_size" value="1"/>
+        <param name="peptide_min_prob" value="0.2"/>
+        <param name="sequential_spectrum_order" value="false"/>
+        <section name="MIPFormulation">
+          <section name="thresholds">
+            <param name="min_protein_probability" value="0.2"/>
+            <param name="min_protein_id_probability" value="0.95"/>
+            <param name="min_pt_weight" value="0.5"/>
+            <param name="min_mz" value="500.0"/>
+            <param name="max_mz" value="5000.0"/>
+            <param name="min_pred_pep_prob" value="0.5"/>
+            <param name="min_rt_weight" value="0.5"/>
+            <param name="use_peptide_rule" value="true"/>
+            <param name="min_peptide_ids" value="2"/>
+            <param name="min_peptide_probability" value="0.95"/>
+          </section>
+          <section name="combined_ilp">
+            <param name="k1" value="0.2"/>
+            <param name="k2" value="0.2"/>
+            <param name="k3" value="0.4"/>
+            <param name="scale_matching_probs" value="true"/>
+          </section>
+          <section name="feature_based">
+            <param name="no_intensity_normalization" value="false"/>
+            <param name="max_number_precursors_per_feature" value="1"/>
+          </section>
+        </section>
+        <section name="Preprocessing">
+          <param name="precursor_mass_tolerance" value="0.9"/>
+          <param name="precursor_mass_tolerance_unit" value="Da"/>
+          <param name="preprocessed_db_path" value=""/>
+          <param name="preprocessed_db_pred_rt_path" value=""/>
+          <param name="preprocessed_db_pred_dt_path" value=""/>
+          <param name="max_peptides_per_run" value="100000"/>
+          <param name="missed_cleavages" value="1"/>
+          <param name="taxonomy" value=""/>
+          <param name="store_peptide_sequences" value="false"/>
+          <section name="rt_settings">
+            <param name="min_rt" value="960.0"/>
+            <param name="max_rt" value="3840.0"/>
+            <param name="rt_step_size" value="30.0"/>
+            <param name="gauss_mean" value="-1.0"/>
+            <param name="gauss_sigma" value="3.0"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,sim_results_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="solver" value="GLPK"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PrecursorIonSelector_features.featureXML"/>
+      <output name="out" file="PrecursorIonSelector_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="ids" value="PrecursorIonSelector_ids.idXML"/>
+      <param name="num_precursors" value="1"/>
+      <param name="load_preprocessing" value="false"/>
+      <param name="store_preprocessing" value="false"/>
+      <param name="simulation" value="false"/>
+      <param name="db_path" value="PrecursorIonSelector_db.fasta"/>
+      <param name="fixed_modifications" value=""/>
+      <section name="algorithm">
+        <param name="type" value="IPS"/>
+        <param name="max_iteration" value="10"/>
+        <param name="rt_bin_capacity" value="10"/>
+        <param name="step_size" value="1"/>
+        <param name="peptide_min_prob" value="0.2"/>
+        <param name="sequential_spectrum_order" value="false"/>
+        <section name="MIPFormulation">
+          <section name="thresholds">
+            <param name="min_protein_probability" value="0.2"/>
+            <param name="min_protein_id_probability" value="0.95"/>
+            <param name="min_pt_weight" value="0.5"/>
+            <param name="min_mz" value="500.0"/>
+            <param name="max_mz" value="5000.0"/>
+            <param name="min_pred_pep_prob" value="0.5"/>
+            <param name="min_rt_weight" value="0.5"/>
+            <param name="use_peptide_rule" value="true"/>
+            <param name="min_peptide_ids" value="2"/>
+            <param name="min_peptide_probability" value="0.95"/>
+          </section>
+          <section name="combined_ilp">
+            <param name="k1" value="0.2"/>
+            <param name="k2" value="0.2"/>
+            <param name="k3" value="0.4"/>
+            <param name="scale_matching_probs" value="true"/>
+          </section>
+          <section name="feature_based">
+            <param name="no_intensity_normalization" value="false"/>
+            <param name="max_number_precursors_per_feature" value="1"/>
+          </section>
+        </section>
+        <section name="Preprocessing">
+          <param name="precursor_mass_tolerance" value="0.9"/>
+          <param name="precursor_mass_tolerance_unit" value="Da"/>
+          <param name="preprocessed_db_path" value=""/>
+          <param name="preprocessed_db_pred_rt_path" value=""/>
+          <param name="preprocessed_db_pred_dt_path" value=""/>
+          <param name="max_peptides_per_run" value="100000"/>
+          <param name="missed_cleavages" value="1"/>
+          <param name="taxonomy" value=""/>
+          <param name="store_peptide_sequences" value="false"/>
+          <section name="rt_settings">
+            <param name="min_rt" value="960.0"/>
+            <param name="max_rt" value="3840.0"/>
+            <param name="rt_step_size" value="30.0"/>
+            <param name="gauss_mean" value="-1.0"/>
+            <param name="gauss_sigma" value="3.0"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PrecursorMassCorrector">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="max_charge" value="3"/>
+        <param name="intensity_threshold" value="-1.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PrecursorMassCorrector_1_input.mzML"/>
+      <output name="out" file="PrecursorMassCorrector_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="precursor_mass_tolerance" value="1.5"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ProteinInference">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinInference_1_input.idXML"/>
+      <output name="out" file="ProteinInference_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="merge_runs" value="all"/>
+      <param name="annotate_indist_groups" value="true"/>
+      <section name="Merging">
+        <param name="annotate_origin" value="false"/>
+      </section>
+      <section name="Algorithm">
+        <param name="min_peptides_per_protein" value="1"/>
+        <param name="score_aggregation_method" value="maximum"/>
+        <param name="treat_charge_variants_separately" value="true"/>
+        <param name="treat_modification_variants_separately" value="true"/>
+        <param name="use_shared_peptides" value="false"/>
+        <param name="skip_count_annotation" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ProteinQuantifier">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.featureXML"/>
+      <output name="out" file="ProteinQuantifier_1_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_out" file="ProteinQuantifier_1_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="median"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.featureXML"/>
+      <output name="out" file="ProteinQuantifier_2_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_out" file="ProteinQuantifier_2_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="2"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="true"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_3_input.featureXML"/>
+      <output name="out" file="ProteinQuantifier_3_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_out" file="ProteinQuantifier_3_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="2"/>
+      <param name="average" value="mean"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_4_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="0"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_5_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_6_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_7_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="0"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_8_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_9_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_12_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="true"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_13_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="true"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.idXML"/>
+      <output name="out" file="ProteinQuantifier_14_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_out" file="ProteinQuantifier_14_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="0"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ProteinResolver">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="fasta" value="ProteinResolver_1_input.fasta"/>
+      <param name="in" value="ProteinResolver_1_input.consensusXML"/>
+      <param name="in_path" value=""/>
+      <output name="protein_groups" file="ProteinResolver_1_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_table" file="ProteinResolver_1_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="protein_table" file="ProteinResolver_1_output3.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <section name="resolver">
+        <param name="missed_cleavages" value="2"/>
+        <param name="min_length" value="6"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="designer">
+        <param name="experiment" value="ExperimentalSetting"/>
+        <param name="file" value="File"/>
+        <param name="separator" value="tab"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,protein_groups_FLAG,peptide_table_FLAG,protein_table_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PSMFeatureExtractor">
+</xml>
+  <xml name="autotest_PTModel">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_positive" value="PTModel_1_input_positive.idXML"/>
+      <param name="in_negative" value="PTModel_1_input_negative.idXML"/>
+      <output name="out" file="PTModel_1_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="c" value="0.5"/>
+      <param name="svm_type" value="C_SVC"/>
+      <param name="nu" value="0.5"/>
+      <param name="kernel_type" value="OLIGO"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="5.0"/>
+      <param name="max_positive_count" value="1000"/>
+      <param name="max_negative_count" value="1000"/>
+      <param name="redundant" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="true"/>
+        <param name="number_of_runs" value="10"/>
+        <param name="number_of_partitions" value="10"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="c_start" value="1.0"/>
+        <param name="c_step_size" value="100.0"/>
+        <param name="c_stop" value="1000.0"/>
+        <param name="nu_start" value="0.1"/>
+        <param name="nu_step_size" value="1.3"/>
+        <param name="nu_stop" value="0.9"/>
+        <param name="sigma_start" value="1.0"/>
+        <param name="sigma_step_size" value="1.3"/>
+        <param name="sigma_stop" value="15.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_QCCalculator">
+</xml>
+  <xml name="autotest_QCEmbedder">
+</xml>
+  <xml name="autotest_QCExporter">
+</xml>
+  <xml name="autotest_QCExtractor">
+</xml>
+  <xml name="autotest_QCImporter">
+</xml>
+  <xml name="autotest_QCMerger">
+</xml>
+  <xml name="autotest_QCShrinker">
+</xml>
+  <xml name="autotest_QualityControl">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="QualityControl_1_in.consensusXML"/>
+      <param name="in_raw" value="QualityControl_1_in1.mzML.gz,QualityControl_1_in2.mzML.gz,QualityControl_1_in3.mzML.gz"/>
+      <param name="in_postFDR" value="QualityControl_1_in1.featureXML,QualityControl_1_in2.featureXML,QualityControl_1_in3.featureXML"/>
+      <output name="out" file="QualityControl_1_out.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="out_cm" file="QualityControl_1_out.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="in_contaminants" value="QualityControl_1.fasta"/>
+      <param name="in_trafo" value="QualityControl_1_in1.trafoXML,QualityControl_1_in2.trafoXML,QualityControl_1_in3.trafoXML"/>
+      <section name="FragmentMassError">
+        <param name="unit" value="auto"/>
+        <param name="tolerance" value="20.0"/>
+      </section>
+      <section name="MS2_id_rate">
+        <param name="force_no_fdr" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_cm_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_RNADigestor">
+</xml>
+  <xml name="autotest_RNAMassCalculator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_seq" value="&quot;AUCGGC&quot;"/>
+      <output name="out" file="RNAMassCalculator_1.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="charge" value="-1 -2"/>
+      <param name="format" value="list"/>
+      <param name="average_mass" value="false"/>
+      <param name="fragment_type" value="full"/>
+      <param name="separator" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_RNPxlSearch">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RNPxlSearch_1_input.mzML"/>
+      <param name="database" value="RNPxlSearch_1_input.fasta"/>
+      <output name="out" file="RNPxlSearch_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="2"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value="Oxidation (M)"/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="6"/>
+        <param name="max_size" value="1000000"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="1"/>
+      </section>
+      <section name="RNPxl">
+        <param name="length" value="2"/>
+        <param name="sequence" value="GUA"/>
+        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
+        <param name="nt_groups" value=""/>
+        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
+        <param name="can_cross_link" value="U"/>
+        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
+        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
+        <param name="scoring" value="fast"/>
+        <param name="decoys" value="false"/>
+        <param name="CysteineAdduct" value="false"/>
+        <param name="filter_fractional_mass" value="false"/>
+        <param name="carbon_labeled_fragments" value="false"/>
+        <param name="only_xl" value="false"/>
+        <param name="filter_small_peptide_mass" value="600.0"/>
+        <param name="marker_ions_tolerance" value="0.05"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RNPxlSearch_1_input.mzML"/>
+      <param name="database" value="RNPxlSearch_1_input.fasta"/>
+      <output name="out" file="RNPxlSearch_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="2"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value="Oxidation (M)"/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="6"/>
+        <param name="max_size" value="1000000"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="1"/>
+      </section>
+      <section name="RNPxl">
+        <param name="length" value="2"/>
+        <param name="sequence" value="GUA"/>
+        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
+        <param name="nt_groups" value=""/>
+        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
+        <param name="can_cross_link" value="U"/>
+        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
+        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
+        <param name="scoring" value="fast"/>
+        <param name="decoys" value="true"/>
+        <param name="CysteineAdduct" value="false"/>
+        <param name="filter_fractional_mass" value="false"/>
+        <param name="carbon_labeled_fragments" value="false"/>
+        <param name="only_xl" value="false"/>
+        <param name="filter_small_peptide_mass" value="600.0"/>
+        <param name="marker_ions_tolerance" value="0.05"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RNPxlSearch_1_input.mzML"/>
+      <param name="database" value="RNPxlSearch_1_input.fasta"/>
+      <output name="out" file="RNPxlSearch_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_tsv" file="RNPxlSearch_3_output2.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="2"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="6"/>
+        <param name="max_size" value="1000000"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="3"/>
+      </section>
+      <section name="RNPxl">
+        <param name="length" value="2"/>
+        <param name="sequence" value=""/>
+        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
+        <param name="nt_groups" value=""/>
+        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
+        <param name="can_cross_link" value="U"/>
+        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
+        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
+        <param name="scoring" value="fast"/>
+        <param name="decoys" value="false"/>
+        <param name="CysteineAdduct" value="false"/>
+        <param name="filter_fractional_mass" value="false"/>
+        <param name="carbon_labeled_fragments" value="false"/>
+        <param name="only_xl" value="false"/>
+        <param name="filter_small_peptide_mass" value="600.0"/>
+        <param name="marker_ions_tolerance" value="0.05"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_tsv_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RNPxlSearch_1_input.mzML"/>
+      <param name="database" value="RNPxlSearch_1_input.fasta"/>
+      <output name="out" file="RNPxlSearch_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_tsv" file="RNPxlSearch_4_output2.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="2"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="6"/>
+        <param name="max_size" value="1000000"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="2"/>
+      </section>
+      <section name="RNPxl">
+        <param name="length" value="2"/>
+        <param name="sequence" value=""/>
+        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
+        <param name="nt_groups" value=""/>
+        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
+        <param name="can_cross_link" value="U"/>
+        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
+        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
+        <param name="scoring" value="fast"/>
+        <param name="decoys" value="true"/>
+        <param name="CysteineAdduct" value="false"/>
+        <param name="filter_fractional_mass" value="false"/>
+        <param name="carbon_labeled_fragments" value="false"/>
+        <param name="only_xl" value="false"/>
+        <param name="filter_small_peptide_mass" value="600.0"/>
+        <param name="marker_ions_tolerance" value="0.05"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_tsv_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_RNPxlXICFilter">
+</xml>
+  <xml name="autotest_RTEvaluation">
+</xml>
+  <xml name="autotest_RTModel">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RTModel_1_input.idXML"/>
+      <output name="out" file="RTModel_1_output.model" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="svm_type" value="NU_SVR"/>
+      <param name="nu" value="0.5"/>
+      <param name="p" value="0.1"/>
+      <param name="c" value="0.1"/>
+      <param name="kernel_type" value="POLY"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="max_std" value="10.0"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="5.0"/>
+      <param name="total_gradient_time" value="3000.0"/>
+      <param name="first_dim_rt" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="true"/>
+        <param name="number_of_runs" value="10"/>
+        <param name="number_of_partitions" value="10"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="p_start" value="1.0"/>
+        <param name="p_step_size" value="10.0"/>
+        <param name="p_stop" value="1000.0"/>
+        <param name="c_start" value="1.0"/>
+        <param name="c_step_size" value="10.0"/>
+        <param name="c_stop" value="1000.0"/>
+        <param name="nu_start" value="0.3"/>
+        <param name="nu_step_size" value="1.2"/>
+        <param name="nu_stop" value="0.7"/>
+        <param name="sigma_start" value="1.0"/>
+        <param name="sigma_step_size" value="1.3"/>
+        <param name="sigma_stop" value="15.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_positive" value="RTModel_2_input_positive.idXML"/>
+      <param name="in_negative" value="RTModel_2_input_negative.idXML"/>
+      <output name="out" file="RTModel_2_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="svm_type" value="NU_SVR"/>
+      <param name="nu" value="0.5"/>
+      <param name="p" value="0.1"/>
+      <param name="c" value="0.5"/>
+      <param name="kernel_type" value="OLIGO"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="max_std" value="10.0"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="5.0"/>
+      <param name="total_gradient_time" value="1.0"/>
+      <param name="first_dim_rt" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="true"/>
+        <param name="number_of_runs" value="10"/>
+        <param name="number_of_partitions" value="10"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="p_start" value="1.0"/>
+        <param name="p_step_size" value="10.0"/>
+        <param name="p_stop" value="1000.0"/>
+        <param name="c_start" value="1.0"/>
+        <param name="c_step_size" value="10.0"/>
+        <param name="c_stop" value="1000.0"/>
+        <param name="nu_start" value="0.3"/>
+        <param name="nu_step_size" value="1.2"/>
+        <param name="nu_stop" value="0.7"/>
+        <param name="sigma_start" value="1.0"/>
+        <param name="sigma_step_size" value="1.3"/>
+        <param name="sigma_stop" value="15.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RTModel_3_input.idXML"/>
+      <output name="out" file="RTModel_3_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="svm_type" value="NU_SVR"/>
+      <param name="nu" value="0.5"/>
+      <param name="p" value="0.1"/>
+      <param name="c" value="0.001953125"/>
+      <param name="kernel_type" value="OLIGO"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="max_std" value="10.0"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="1.0"/>
+      <param name="total_gradient_time" value="1.0"/>
+      <param name="first_dim_rt" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="false"/>
+        <param name="number_of_runs" value="1"/>
+        <param name="number_of_partitions" value="5"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="p_start" value="1.0"/>
+        <param name="p_step_size" value="10.0"/>
+        <param name="p_stop" value="1000.0"/>
+        <param name="c_start" value="0.001953125"/>
+        <param name="c_step_size" value="2.0"/>
+        <param name="c_stop" value="0.001953125"/>
+        <param name="nu_start" value="0.4"/>
+        <param name="nu_step_size" value="1.2"/>
+        <param name="nu_stop" value="0.4"/>
+        <param name="sigma_start" value="5.0"/>
+        <param name="sigma_step_size" value="1.221055"/>
+        <param name="sigma_stop" value="5.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RTModel_4_input.txt" ftype="txt"/>
+      <output name="out" file="RTModel_4_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="svm_type" value="NU_SVR"/>
+      <param name="nu" value="0.5"/>
+      <param name="p" value="0.1"/>
+      <param name="c" value="0.001953125"/>
+      <param name="kernel_type" value="OLIGO"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="max_std" value="10.0"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="1.0"/>
+      <param name="total_gradient_time" value="1.0"/>
+      <param name="first_dim_rt" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="false"/>
+        <param name="number_of_runs" value="1"/>
+        <param name="number_of_partitions" value="5"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="p_start" value="1.0"/>
+        <param name="p_step_size" value="10.0"/>
+        <param name="p_stop" value="1000.0"/>
+        <param name="c_start" value="0.001953125"/>
+        <param name="c_step_size" value="2.0"/>
+        <param name="c_stop" value="0.001953125"/>
+        <param name="nu_start" value="0.4"/>
+        <param name="nu_step_size" value="1.2"/>
+        <param name="nu_stop" value="0.4"/>
+        <param name="sigma_start" value="5.0"/>
+        <param name="sigma_step_size" value="1.221055"/>
+        <param name="sigma_stop" value="5.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SeedListGenerator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PepXMLFile_test.mzML"/>
+      <output name="out" file="SeedListGenerator_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="use_peptide_mass" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMapper_1_output.featureXML"/>
+      <output name="out" file="SeedListGenerator_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="use_peptide_mass" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SemanticValidator">
+</xml>
+  <xml name="autotest_SequenceCoverageCalculator">
+</xml>
+  <xml name="autotest_SimpleSearchEngine">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SimpleSearchEngine_1.mzML"/>
+      <param name="database" value="SimpleSearchEngine_1.fasta"/>
+      <output name="out" file="SimpleSearchEngine_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="Search">
+        <param name="enzyme" value="Trypsin"/>
+        <section name="precursor">
+          <param name="mass_tolerance" value="5.0"/>
+          <param name="mass_tolerance_unit" value="ppm"/>
+          <param name="min_charge" value="2"/>
+          <param name="max_charge" value="5"/>
+          <param name="isotopes" value="0 1"/>
+        </section>
+        <section name="fragment">
+          <param name="mass_tolerance" value="0.3"/>
+          <param name="mass_tolerance_unit" value="Da"/>
+        </section>
+        <section name="modifications">
+          <param name="fixed" value=""/>
+          <param name="variable" value="Oxidation (M)"/>
+          <param name="variable_max_per_peptide" value="2"/>
+        </section>
+        <section name="peptide">
+          <param name="min_size" value="7"/>
+          <param name="max_size" value="40"/>
+          <param name="missed_cleavages" value="1"/>
+          <param name="motif" value=""/>
+        </section>
+        <section name="report">
+          <param name="top_hits" value="1"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SiriusAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_1_input.mzML"/>
+      <output name="out_sirius" file="SiriusAdapter_1_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="true"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_2_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_2_input.featureXML"/>
+      <output name="out_sirius" file="SiriusAdapter_2_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="3"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <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="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="true"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_3_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_3_input.featureXML"/>
+      <output name="out_sirius" file="SiriusAdapter_3_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="3"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="true"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_3_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_3_input.featureXML"/>
+      <output name="out_ms" file="SiriusAdapter_5_output.ms" compare="sim_size" delta="5700" ftype="sirius.ms"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_ms_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_4_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>
+      <output name="out_ms" file="SiriusAdapter_6_output.ms" compare="sim_size" delta="5700" ftype="sirius.ms"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_ms_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_4_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>
+      <output name="out_sirius" file="SiriusAdapter_7_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <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="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_2_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_2_input.featureXML"/>
+      <output name="out_sirius" file="SiriusAdapter_4_output.tmp" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="out_fingerid" file="SiriusAdapter_4_foutput.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="true"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG,out_fingerid_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SpecLibCreator">
+</xml>
+  <xml name="autotest_SpecLibSearcher">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SpecLibSearcher_1.mzML"/>
+      <param name="lib" value="SpecLibSearcher_1.MSP"/>
+      <output_collection name="out" count="1"/>
+      <param name="compare_function" value="ZhangSimilarityScore"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="3.0"/>
+        <param name="mass_tolerance_unit" value="Da"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="10.0"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="10"/>
+      </section>
+      <section name="filter">
+        <param name="remove_peaks_below_threshold" value="2.01"/>
+        <param name="min_peaks" value="5"/>
+        <param name="max_peaks" value="150"/>
+        <param name="cut_peaks_below" value="1000"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SpectraFilterBernNorm">
+</xml>
+  <xml name="autotest_SpectraFilterMarkerMower">
+</xml>
+  <xml name="autotest_SpectraFilterNLargest">
+</xml>
+  <xml name="autotest_SpectraFilterNormalizer">
+</xml>
+  <xml name="autotest_SpectraFilterParentPeakMower">
+</xml>
+  <xml name="autotest_SpectraFilterScaler">
+</xml>
+  <xml name="autotest_SpectraFilterSqrtMower">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+      <output name="out" file="SpectraFilterSqrtMower_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SpectraFilterThresholdMower">
+</xml>
+  <xml name="autotest_SpectraFilterWindowMower">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SpectraFilterWindowMower_1_input.mzML"/>
+      <output name="out" file="SpectraFilterWindowMower_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="windowsize" value="50.0"/>
+        <param name="peakcount" value="2"/>
+        <param name="movetype" value="slide"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SpectraFilterWindowMower_2_input.mzML"/>
+      <output name="out" file="SpectraFilterWindowMower_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="windowsize" value="20.0"/>
+        <param name="peakcount" value="4"/>
+        <param name="movetype" value="slide"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SpectraMerger">
+</xml>
+  <xml name="autotest_SpectraSTSearchAdapter"/>
+  <xml name="autotest_SvmTheoreticalSpectrumGeneratorTrainer">
+</xml>
+  <xml name="autotest_TargetedFileConverter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_1_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_2_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_2_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="minutes"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_2_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_3_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="seconds"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_4_input.mrm" ftype="mrm"/>
+      <output name="out" file="ConvertTSVToTraML_4_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_5_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_5_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_6_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_6_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_7_input_Skyline.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_7_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_1_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_1_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_1_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_2_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_3_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_3_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_3_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_4_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_10_output.TraML.tmp"/>
+      <output name="out" file="TargetedFileConverter_10_output.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="tsv"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_11_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_11_input.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_8_output.TraML.tmp"/>
+      <output name="out" file="TargetedFileConverter_8_input.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="tsv"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="true"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_9_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_9_input.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="true"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_output.TraML"/>
+      <output name="out" file="ConvertTraMLToTSV_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="tsv"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_12_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_12_input.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="true"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_12_input.tsv" ftype="tabular"/>
+      <output name="out" file="TargetedFileConverter_13_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_5_output.TraML"/>
+      <output name="out" file="ConvertTraMLToTSV_output_2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="tsv"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_ams_uku_output_consensus.tsv" ftype="tabular"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_uku_output_consensus_traml.tmp.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="traml"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_TextExporter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_1_input.featureXML"/>
+      <output name="out" file="TextExporter_1_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="5">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_2_input.consensusXML"/>
+      <output name="out" file="TextExporter_2_consensus_tsv.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="true"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="RT_then_MZ"/>
+        <param name="sort_by_maps" value="true"/>
+        <param name="sort_by_size" value="true"/>
+      </section>
+      <output name="consensus_centroids" file="TextExporter_2_consensus_centroids.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="consensus_elements" file="TextExporter_2_consensus_elements.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="consensus_features" file="TextExporter_2_consensus_features.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,centroids_FLAG,elements_FLAG,features_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_3_input.idXML"/>
+      <output name="out" file="TextExporter_3_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_3_input.idXML"/>
+      <output name="out" file="TextExporter_4_output_proteins.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="true"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_5_input.idXML"/>
+      <output name="out" file="TextExporter_5_output_peptides.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="true"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="true"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_6_input.featureXML"/>
+      <output name="out" file="TextExporter_6_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="true"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_7_input.consensusXML"/>
+      <output name="out" file="TextExporter_7_consensus_tsv.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="RT_then_MZ"/>
+        <param name="sort_by_maps" value="true"/>
+        <param name="sort_by_size" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_1_input.featureXML"/>
+      <output name="out" file="TextExporter_8_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="true"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_9_input.idXML"/>
+      <output name="out" file="TextExporter_9_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="0"/>
+        <param name="add_hit_metavalues" value="0"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_TICCalculator">
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="regular"/>
+      <param name="loadData" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="streaming"/>
+      <param name="loadData" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="streaming"/>
+      <param name="loadData" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="indexed"/>
+      <param name="loadData" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="indexed_parallel"/>
+      <param name="loadData" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_TOFCalibration">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TOFCalibration_1_input.mzML"/>
+      <output name="out" file="TOFCalibration_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="ext_calibrants" value="TOFCalibration_1_calibrants.mzML"/>
+      <param name="ref_masses" value="TOFCalibration_ref_masses.txt" ftype="txt"/>
+      <param name="tof_const" value="TOFCalibration_const.csv" ftype="csv"/>
+      <param name="peak_data" value="false"/>
+      <section name="algorithm">
+        <section name="PeakPicker">
+          <param name="signal_to_noise" value="3.0"/>
+          <param name="centroid_percentage" value="0.6"/>
+          <param name="peak_width" value="0.15"/>
+          <param name="estimate_peak_width" value="false"/>
+          <param name="fwhm_lower_bound_factor" value="0.7"/>
+          <param name="fwhm_upper_bound_factor" value="20.0"/>
+          <section name="optimization">
+            <param name="iterations" value="400"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="left_width" value="1.0"/>
+              <param name="right_width" value="1.0"/>
+              <param name="height" value="1.0"/>
+            </section>
+            <section name="2d">
+              <param name="tolerance_mz" value="2.2"/>
+              <param name="max_peak_distance" value="1.2"/>
+            </section>
+          </section>
+          <section name="thresholds">
+            <param name="peak_bound" value="400.0"/>
+            <param name="peak_bound_ms2_level" value="10.0"/>
+            <param name="correlation" value="0.0"/>
+            <param name="noise_level" value="0.1"/>
+            <param name="search_radius" value="3"/>
+          </section>
+          <section name="wavelet_transform">
+            <param name="spacing" value="0.001"/>
+          </section>
+          <section name="deconvolution">
+            <param name="deconvolution" value="false"/>
+            <param name="asym_threshold" value="0.3"/>
+            <param name="left_width" value="2.0"/>
+            <param name="right_width" value="2.0"/>
+            <param name="scaling" value="0.12"/>
+            <section name="fitting">
+              <param name="fwhm_threshold" value="0.7"/>
+              <param name="eps_abs" value="9.999999747378752e-06"/>
+              <param name="eps_rel" value="9.999999747378752e-06"/>
+              <param name="max_iteration" value="10"/>
+              <section name="penalties">
+                <param name="position" value="0.0"/>
+                <param name="height" value="1.0"/>
+                <param name="left_width" value="0.0"/>
+                <param name="right_width" value="0.0"/>
+              </section>
+            </section>
+          </section>
+          <section name="SignalToNoiseEstimationParameter">
+            <param name="max_intensity" value="-1"/>
+            <param name="auto_max_stdev_factor" value="3.0"/>
+            <param name="auto_max_percentile" value="95"/>
+            <param name="auto_mode" value="0"/>
+            <param name="win_len" value="200.0"/>
+            <param name="bin_count" value="30"/>
+            <param name="stdev_mp" value="3.0"/>
+            <param name="min_required_elements" value="10"/>
+            <param name="noise_for_empty_window" value="1e+20"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TOFCalibration_2_input.mzML"/>
+      <output name="out" file="TOFCalibration_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="ext_calibrants" value="TOFCalibration_2_calibrants.mzML"/>
+      <param name="ref_masses" value="TOFCalibration_ref_masses.txt" ftype="txt"/>
+      <param name="tof_const" value="TOFCalibration_const.csv" ftype="csv"/>
+      <param name="peak_data" value="true"/>
+      <section name="algorithm">
+        <section name="PeakPicker">
+          <param name="signal_to_noise" value="3.0"/>
+          <param name="centroid_percentage" value="0.6"/>
+          <param name="peak_width" value="0.15"/>
+          <param name="estimate_peak_width" value="false"/>
+          <param name="fwhm_lower_bound_factor" value="0.7"/>
+          <param name="fwhm_upper_bound_factor" value="20.0"/>
+          <section name="optimization">
+            <param name="iterations" value="400"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="left_width" value="1.0"/>
+              <param name="right_width" value="1.0"/>
+              <param name="height" value="1.0"/>
+            </section>
+            <section name="2d">
+              <param name="tolerance_mz" value="2.2"/>
+              <param name="max_peak_distance" value="1.2"/>
+            </section>
+          </section>
+          <section name="thresholds">
+            <param name="peak_bound" value="400.0"/>
+            <param name="peak_bound_ms2_level" value="10.0"/>
+            <param name="correlation" value="0.0"/>
+            <param name="noise_level" value="0.1"/>
+            <param name="search_radius" value="3"/>
+          </section>
+          <section name="wavelet_transform">
+            <param name="spacing" value="0.001"/>
+          </section>
+          <section name="deconvolution">
+            <param name="deconvolution" value="false"/>
+            <param name="asym_threshold" value="0.3"/>
+            <param name="left_width" value="2.0"/>
+            <param name="right_width" value="2.0"/>
+            <param name="scaling" value="0.12"/>
+            <section name="fitting">
+              <param name="fwhm_threshold" value="0.7"/>
+              <param name="eps_abs" value="9.999999747378752e-06"/>
+              <param name="eps_rel" value="9.999999747378752e-06"/>
+              <param name="max_iteration" value="10"/>
+              <section name="penalties">
+                <param name="position" value="0.0"/>
+                <param name="height" value="1.0"/>
+                <param name="left_width" value="0.0"/>
+                <param name="right_width" value="0.0"/>
+              </section>
+            </section>
+          </section>
+          <section name="SignalToNoiseEstimationParameter">
+            <param name="max_intensity" value="-1"/>
+            <param name="auto_max_stdev_factor" value="3.0"/>
+            <param name="auto_max_percentile" value="95"/>
+            <param name="auto_mode" value="0"/>
+            <param name="win_len" value="200.0"/>
+            <param name="bin_count" value="30"/>
+            <param name="stdev_mp" value="3.0"/>
+            <param name="min_required_elements" value="10"/>
+            <param name="noise_for_empty_window" value="1e+20"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_TransformationEvaluation">
+</xml>
+  <xml name="autotest_XFDR">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in1.idXML"/>
+      <output name="out_idXML" file="XFDR_test_out1_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out1_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out1_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in1.idXML"/>
+      <output name="out_idXML" file="XFDR_test_out2_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out2_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out2_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="true"/>
+      <param name="no_qvalues" value="true"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in2.xquest.xml"/>
+      <output name="out_idXML" file="XFDR_test_out3_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out3_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out3_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="0.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in2.xquest.xml"/>
+      <output name="out_idXML" file="XFDR_test_out4_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out4_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out4_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-3.0"/>
+      <param name="maxborder" value="3.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in3.xquest.xml"/>
+      <output name="out_idXML" file="XFDR_test_out5_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out5_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out5_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-3.0"/>
+      <param name="maxborder" value="3.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in4.idXML"/>
+      <output name="out_idXML" file="XFDR_test_out6_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in2.xquest.xml"/>
+      <output name="out_idXML" file="XFDR_test_out7_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out7_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out7_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="true"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="0.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_XMLValidator">
+</xml>
+  <xml name="autotest_XTandemAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="XTandemAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="default_config_file" value="CHEMISTRY/XTandem_default_input.xml"/>
+      <param name="ignore_adapter_param" value="false"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="fragment_mass_tolerance" value="0.3"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="fragment_error_units" value="Da"/>
+      <param name="max_precursor_charge" value="0"/>
+      <param name="no_isotope_error" value="false"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="minimum_fragment_mz" value="150.0"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="missed_cleavages" value="1"/>
+      <param name="semi_cleavage" value="false"/>
+      <param name="output_results" value="all"/>
+      <param name="max_valid_expect" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="XTandemAdapter_2_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="default_config_file" value="CHEMISTRY/XTandem_default_input.xml"/>
+      <param name="ignore_adapter_param" value="false"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="fragment_mass_tolerance" value="0.3"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="fragment_error_units" value="Da"/>
+      <param name="max_precursor_charge" value="0"/>
+      <param name="no_isotope_error" value="false"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="minimum_fragment_mz" value="150.0"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="missed_cleavages" value="1"/>
+      <param name="semi_cleavage" value="false"/>
+      <param name="output_results" value="valid"/>
+      <param name="max_valid_expect" value="1e-14"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+<xml name="autotest_IDDecoyProbability"/><xml name="autotest_PTPredict"/><xml name="autotest_OpenSwathDIAPreScoring"/><xml name="autotest_Digestor"/><xml name="autotest_InclusionExclusionListCreator"/><xml name="autotest_InspectAdapter"/><xml name="autotest_DigestorMotif"/><xml name="autotest_RTPredict"/><xml name="autotest_ProteomicsLFQ"/></macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_discarded_auto.xml	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,378 @@
+
+<xml name="manutest_OpenSwathFileSplitter">
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+  <output_collection name="adv_opts_cond.outputDirectory" count=""/>
+  <output name="out_qc" file="OpenSwathFileSplitter_1.json" compare="sim_size" delta="5700" ftype="json"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_qc_FLAG"/>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test></xml>
+<xml name="manutest_IDRipper">
+<test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRipper_1_input.idXML"/>
+      <output_collection name="out_path" count=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRipper_2_input.idXML"/>
+      <output_collection name="out_path" count=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRipper_3_output.idXML"/>
+      <output_collection name="out_path" count=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_MzMLSplitter">
+<test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output_collection name="out" count=""/>
+      <param name="parts" value="2"/>
+      <param name="size" value="0"/>
+      <param name="unit" value="MB"/>
+      <param name="no_chrom" value="false"/>
+      <param name="no_spec" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output_collection name="out" count=""/>
+      <param name="parts" value="1"/>
+      <param name="size" value="40"/>
+      <param name="unit" value="KB"/>
+      <param name="no_chrom" value="false"/>
+      <param name="no_spec" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_MSFraggerAdapter">
+<test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="java_heapmemory" value="2600"/>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="MSFraggerAdapter_7_out_tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="opt_out" file="MSFraggerAdapter_7_opt_out_tmp.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <section name="tolerance">
+        <param name="precursor_mass_tolerance" value="20.0"/>
+        <param name="precursor_mass_unit" value="ppm"/>
+        <param name="precursor_true_tolerance" value="0.0"/>
+        <param name="precursor_true_unit" value="ppm"/>
+        <param name="fragment_mass_tolerance" value="20.0"/>
+        <param name="fragment_mass_unit" value="ppm"/>
+        <param name="isotope_error" value="0"/>
+      </section>
+      <section name="digest">
+        <param name="search_enzyme_name" value="Trypsin"/>
+        <param name="search_enzyme_cutafter" value="KR"/>
+        <param name="search_enzyme_nocutbefore" value="P"/>
+        <param name="num_enzyme_termini" value="semi"/>
+        <param name="allowed_missed_cleavage" value="2"/>
+        <param name="min_length" value="7"/>
+        <param name="max_length" value="64"/>
+        <param name="mass_range_min" value="500.0"/>
+        <param name="mass_range_max" value="5000.0"/>
+      </section>
+      <section name="varmod">
+        <param name="clip_nterm_m" value="false"/>
+        <param name="masses" value=""/>
+        <param name="syntaxes" value=""/>
+        <param name="enable_common" value="true"/>
+        <param name="not_allow_multiple_variable_mods_on_residue" value="false"/>
+        <param name="max_variable_mods_per_mod" value="2"/>
+        <param name="max_variable_mods_combinations" value="5000"/>
+      </section>
+      <section name="spectrum">
+        <param name="minimum_peaks" value="10"/>
+        <param name="use_topn_peaks" value="50"/>
+        <param name="minimum_ratio" value="0.0"/>
+        <param name="clear_mz_range_min" value="0.0"/>
+        <param name="clear_mz_range_max" value="0.0"/>
+        <param name="max_fragment_charge" value="2"/>
+        <param name="override_charge" value="false"/>
+        <param name="precursor_charge_min" value="1"/>
+        <param name="precursor_charge_max" value="4"/>
+      </section>
+      <section name="search">
+        <param name="track_zero_topn" value="0"/>
+        <param name="zero_bin_accept_expect" value="0.0"/>
+        <param name="zero_bin_mult_expect" value="1.0"/>
+        <param name="add_topn_complementary" value="0"/>
+        <param name="min_fragments_modeling" value="3"/>
+        <param name="min_matched_fragments" value="4"/>
+        <param name="output_report_topn" value="1"/>
+        <param name="output_max_expect" value="50.0"/>
+      </section>
+      <section name="statmod">
+        <param name="add_cterm_peptide" value="0.0"/>
+        <param name="add_nterm_peptide" value="0.0"/>
+        <param name="add_cterm_protein" value="0.0"/>
+        <param name="add_nterm_protein" value="0.0"/>
+        <param name="add_G_glycine" value="0.0"/>
+        <param name="add_A_alanine" value="0.0"/>
+        <param name="add_S_serine" value="0.0"/>
+        <param name="add_P_proline" value="0.0"/>
+        <param name="add_V_valine" value="0.0"/>
+        <param name="add_T_threonine" value="0.0"/>
+        <param name="add_C_cysteine" value="57.021464"/>
+        <param name="add_L_leucine" value="0.0"/>
+        <param name="add_I_isoleucine" value="0.0"/>
+        <param name="add_N_asparagine" value="0.0"/>
+        <param name="add_D_aspartic_acid" value="0.0"/>
+        <param name="add_Q_glutamine" value="0.0"/>
+        <param name="add_K_lysine" value="0.0"/>
+        <param name="add_E_glutamic_acid" value="0.0"/>
+        <param name="add_M_methionine" value="0.0"/>
+        <param name="add_H_histidine" value="0.0"/>
+        <param name="add_F_phenylalanine" value="0.0"/>
+        <param name="add_R_arginine" value="0.0"/>
+        <param name="add_Y_tyrosine" value="0.0"/>
+        <param name="add_W_tryptophan" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,opt_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="java_heapmemory" value="2600"/>
+      <param name="in" value="spectra_comet.mzML"/>
+      <output name="out" file="MSFraggerAdapter_8_out_tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <section name="tolerance">
+        <param name="precursor_mass_tolerance" value="20.0"/>
+        <param name="precursor_mass_unit" value="ppm"/>
+        <param name="precursor_true_tolerance" value="0.0"/>
+        <param name="precursor_true_unit" value="ppm"/>
+        <param name="fragment_mass_tolerance" value="20.0"/>
+        <param name="fragment_mass_unit" value="ppm"/>
+        <param name="isotope_error" value="0"/>
+      </section>
+      <section name="digest">
+        <param name="search_enzyme_name" value="Trypsin"/>
+        <param name="search_enzyme_cutafter" value="KR"/>
+        <param name="search_enzyme_nocutbefore" value="P"/>
+        <param name="num_enzyme_termini" value="semi"/>
+        <param name="allowed_missed_cleavage" value="2"/>
+        <param name="min_length" value="7"/>
+        <param name="max_length" value="64"/>
+        <param name="mass_range_min" value="500.0"/>
+        <param name="mass_range_max" value="5000.0"/>
+      </section>
+      <section name="varmod">
+        <param name="clip_nterm_m" value="false"/>
+        <param name="masses" value=""/>
+        <param name="syntaxes" value=""/>
+        <param name="enable_common" value="true"/>
+        <param name="not_allow_multiple_variable_mods_on_residue" value="false"/>
+        <param name="max_variable_mods_per_mod" value="2"/>
+        <param name="max_variable_mods_combinations" value="5000"/>
+      </section>
+      <section name="spectrum">
+        <param name="minimum_peaks" value="10"/>
+        <param name="use_topn_peaks" value="50"/>
+        <param name="minimum_ratio" value="0.0"/>
+        <param name="clear_mz_range_min" value="0.0"/>
+        <param name="clear_mz_range_max" value="0.0"/>
+        <param name="max_fragment_charge" value="2"/>
+        <param name="override_charge" value="false"/>
+        <param name="precursor_charge_min" value="1"/>
+        <param name="precursor_charge_max" value="4"/>
+      </section>
+      <section name="search">
+        <param name="track_zero_topn" value="0"/>
+        <param name="zero_bin_accept_expect" value="0.0"/>
+        <param name="zero_bin_mult_expect" value="1.0"/>
+        <param name="add_topn_complementary" value="0"/>
+        <param name="min_fragments_modeling" value="3"/>
+        <param name="min_matched_fragments" value="4"/>
+        <param name="output_report_topn" value="1"/>
+        <param name="output_max_expect" value="50.0"/>
+      </section>
+      <section name="statmod">
+        <param name="add_cterm_peptide" value="0.0"/>
+        <param name="add_nterm_peptide" value="0.0"/>
+        <param name="add_cterm_protein" value="0.0"/>
+        <param name="add_nterm_protein" value="0.0"/>
+        <param name="add_G_glycine" value="0.0"/>
+        <param name="add_A_alanine" value="0.0"/>
+        <param name="add_S_serine" value="0.0"/>
+        <param name="add_P_proline" value="0.0"/>
+        <param name="add_V_valine" value="0.0"/>
+        <param name="add_T_threonine" value="0.0"/>
+        <param name="add_C_cysteine" value="57.021464"/>
+        <param name="add_L_leucine" value="0.0"/>
+        <param name="add_I_isoleucine" value="0.0"/>
+        <param name="add_N_asparagine" value="0.0"/>
+        <param name="add_D_aspartic_acid" value="0.0"/>
+        <param name="add_Q_glutamine" value="0.0"/>
+        <param name="add_K_lysine" value="0.0"/>
+        <param name="add_E_glutamic_acid" value="0.0"/>
+        <param name="add_M_methionine" value="0.0"/>
+        <param name="add_H_histidine" value="0.0"/>
+        <param name="add_F_phenylalanine" value="0.0"/>
+        <param name="add_R_arginine" value="0.0"/>
+        <param name="add_Y_tyrosine" value="0.0"/>
+        <param name="add_W_tryptophan" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_MaRaClusterAdapter">
+<test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="verbose" value="2"/>
+        <param name="precursor_tolerance" value="20.0"/>
+        <param name="precursor_tolerance_units" value="ppm"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MaRaClusterAdapter_1_in_1.mzML,MaRaClusterAdapter_1_in_2.mzML"/>
+      <param name="id_in" value="MaRaClusterAdapter_1_in_3.idXML"/>
+      <output name="out" file="MaRaClusterAdapter_2_out_1.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="pcut" value="-10.0"/>
+      <param name="min_cluster_size" value="1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_NovorAdapter">
+<test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NovorAdapter_in.mzML"/>
+      <output name="out" file="NovorAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="fragmentation" value="CID"/>
+      <param name="massAnalyzer" value="Trap"/>
+      <param name="fragment_mass_tolerance" value="0.5"/>
+      <param name="precursor_mass_tolerance" value="15.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="variable_modifications" value="Acetyl (K)"/>
+      <param name="fixed_modifications" value="Carbamidomethyl (C)"/>
+      <param name="forbiddenResidues" value="I"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_SpectraSTSearchAdapter">
+<test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="use_isotopically_averaged_mass" value="false"/>
+        <param name="use_all_charge_states" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="spectra_files" value="SpectrastAdapter_1_hack.mzML"/>
+      <param name="output_files_type" value="pep.xml"/>
+      <output_collection name="output_files" count="1"/>
+      <param name="library_file" value="testLib.splib" ftype="splib"/>
+      <param name="sequence_database_type" value="AA"/>
+      <param name="precursor_mz_tolerance" value="3.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="use_isotopically_averaged_mass" value="false"/>
+        <param name="use_all_charge_states" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="spectra_files" value="SpectrastAdapter_1_hack.mzML"/>
+      <param name="output_files_type" value="tsv"/>
+      <output_collection name="output_files" count="1"/>
+      <param name="library_file" value="testLib.splib" ftype="splib"/>
+      <param name="sequence_database_type" value="AA"/>
+      <param name="precursor_mz_tolerance" value="3.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_test.xml	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,549 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macros>
+    
+<!-- a copy of a FileConverter test without the advanced options used
+     in order to check if this works (all other tests enable advanced) -->
+<xml name="manutest_FileConverter">
+<test expect_num_outputs="1">
+  <param name="in" value="FileConverter_1_input.mzData"/>
+  <output name="out" file="FileConverter_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+  <param name="out_type" value="mzML"/>
+</test>
+</xml>
+<!-- tests contributed by the galaxyproteomics community -->
+<xml name="manutest_ClusterMassTracesByPrecursor">
+  <test expect_num_outputs="1"><!-- test with arbitarily chosen consensusXML -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in_ms1" ftype="consensusxml" value="ConsensusMapNormalizer_input.consensusXML"/>
+    <param name="in_swath" ftype="consensusxml" value="ConsensusMapNormalizer_input.consensusXML"/>
+    <output name="out" ftype="mzml" value="ClusterMassTracesByPrecursor.mzml"/>
+  </test>
+</xml>
+<xml name="manutest_ClusterMassTraces"> 
+  <test expect_num_outputs="1"><!-- test with arbitarily chosen consensusXML -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="consensusxml" value="ConsensusMapNormalizer_input.consensusXML"/>
+    <output name="out" ftype="mzml" value="ClusterMassTraces.mzml"/>
+  </test>
+</xml>
+<xml name="manutest_CVInspector">
+  <!-- test with https://raw.githubusercontent.com/HUPO-PSI/mzIdentML/master/cv/XLMOD.obo listed here https://www.psidev.info/groups/controlled-vocabularies, mapping file from share/OpenMS/MAPPING/ms-mapping.xml, see currently not working, see: https://github.com/OpenMS/OpenMS/pull/4425 -->
+  <test expect_num_outputs="1">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="cv_files" ftype="obo" value="CHEMISTRY/XLMOD.obo"/>
+    <param name="cv_names" value="XLMOD"/>
+    <param name="mapping_file" value="MAPPING/ms-mapping.xml"/>
+    <param name="OPTIONAL_OUTPUTS" value="html_FLAG"/>
+    <output name="html" ftype="html" value="CVInspector.html"/>
+  </test>
+</xml>
+<xml name="manutest_DeMeanderize">
+  <test expect_num_outputs="1"><!-- test with the output of a MSsimulator output generated by a test below -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="MSsimulator_MALDI.mzml"/>
+	<output name="out" ftype="mzml" value="DeMeanderize.mzml"/>
+  </test>
+</xml>
+<xml name="manutest_Digestor">
+  <test expect_num_outputs="1"><!-- just using some random fasta, in contrast to DigestorMotif idXML/fasta output possible, testing for the non-default fasta option -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="fasta" value="random.fa"/>
+    <output name="out" ftype="fasta" value="Digestor.fasta"/>
+    <param name="out_type" value="fasta"/>
+  </test>
+</xml>
+<xml name="manutest_EICExtractor">
+  <test expect_num_outputs="1"><!-- just using some random test data -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="spectra.mzML"/>
+    <param name="pos" ftype="edta" value="FileConverter_10_input.edta"/>
+    <output name="out" ftype="csv" value="EICExtractor.csv" lines_diff="2"/>
+  </test>
+</xml>
+<xml name="manutest_ERPairFinder">
+  <!-- TODO -->
+</xml>
+<xml name="manutest_FeatureFinderIsotopeWavelet">
+  <test expect_num_outputs="1"><!--just use the input of another FeatureFinder -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="FeatureFinderCentroided_1_input.mzML"/>
+    <output name="out" value="FeatureFinderIsotopeWavelet.featureXML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_FFEval">
+  <test expect_num_outputs="2"><!-- comparing an arbitarty FeatureFinder output with itself -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="FeatureFinderCentroided_1_output.featureXML"/>
+    <param name="truth" value="FeatureFinderCentroided_1_output.featureXML"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_FLAG,out_roc_FLAG"/>
+    <output name="out" value="FFEval.featureXML" compare="sim_size"/>
+	<output name="out_roc" value="FFEval_roc.csv" ftype="csv"/>
+  </test>
+</xml>
+<xml name="manutest_IDExtractor">
+  <test expect_num_outputs="1"><!--  -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="idxml" value="MSGFPlusAdapter_1_out.idXML"/>
+    <param name="best_hits" value="true"/>
+    <param name="number_of_peptides" value="1"/>
+    <output name="out" value="IDExtractor.idXML" compare="sim_size"/>
+  </test>
+</xml>
+<!-- adapted from macros_discarded_auto.xml (due to prefix-output)-->
+<xml name="manutest_IDRipper"> 
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="IDRipper_1_input.idXML"/>
+    <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output_collection name="out_path" count="2">
+    <element name="IDRipper_1_output_1" file="IDRipper_1_output1.idXML" ftype="idxml" compare="sim_size" delta="5700"/>
+    <element name="IDRipper_1_output_2" file="IDRipper_1_output2.idXML" ftype="idxml" compare="sim_size" delta="5700"/>
+  </output_collection>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test>
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="IDRipper_2_input.idXML"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output_collection name="out_path" count="2">
+    <element name="IDRipper_2_output1" file="IDRipper_2_output1.idXML" ftype="idxml"/>
+    <element name="IDRipper_2_output2" file="IDRipper_2_output2.idXML" ftype="idxml"/>
+  </output_collection>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test>
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="IDRipper_3_output.idXML"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output_collection name="out_path" count="2">
+    <element name="IDRipper_3_input1" file="IDRipper_3_input1.idXML" ftype="idxml"/>
+    <element name="IDRipper_3_input2" file="IDRipper_3_input2.idXML" ftype="idxml"/>
+  </output_collection>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test>
+</xml>
+<xml name="manutest_LabeledEval">
+  <test expect_num_outputs="1"><!-- comparing an arbitarty featureXML that has a corresponding consensusXML -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="FeatureLinkerLabeled_1_input.featureXML"/>
+    <param name="truth" value="FeatureLinkerLabeled_1_output.consensusXML"/>
+    <output name="stdout" value="LabeledEval.txt" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_MapStatistics">
+  <test expect_num_outputs="1"><!-- test with a featureXML input  -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="featurexml" value="SiriusAdapter_3_input.featureXML"/>
+    <output name="out" ftype="txt" value="MapStatistics.txt"/>
+  </test>
+  <test expect_num_outputs="1"><!-- test with a consensusxml input -->
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="consensusxml" value="ConsensusXMLFile_1.consensusXML"/>
+    <output name="out" ftype="txt" value="MapStatistics2.txt"/>
+  </test>
+</xml>
+<xml name="manutest_MetaboliteAdductDecharger">
+  <test expect_num_outputs="3"><!-- same input as used by Decharger -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="featurexml" value="Decharger_input.featureXML"/>
+    <output name="out_cm" ftype="consensusxml" value="MetaboliteAdductDecharger_cm.consensusXML" compare="sim_size"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_fm_FLAG,outpairs_FLAG"/>
+    <output name="out_fm" ftype="featurexml" value="MetaboliteAdductDecharger_fm.featureXML" compare="sim_size"/>
+    <output name="outpairs" ftype="consensusxml" value="MetaboliteAdductDecharger_pairs.consensusXML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_MetaboliteSpectralMatcher">
+    <!-- https://github.com/OpenMS/OpenMS/issues/2078 
+        https://github.com/OpenMS/OpenMS/pull/4468-->
+    <!-- same input as used in the MSGF+Adapter, should use database CHEMISTRY/MetaboliteSpectralDB.mzML -->
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter, used as input and database -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="spectra.mzML"/>
+    <param name="database" value="MetaboliteSpectralDB.mzML"/>
+    <output name="out" ftype="mztab" value="MetaboliteSpectralMatcher.mzTab"/>
+  </test>
+</xml>
+<xml name="manutest_MRMPairFinder">
+  <!-- TODO no idea about a useful input for pair_in -->
+</xml>
+<xml name="manutest_MSSimulator">
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="fasta" value="DecoyDatabase_1.fasta"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_FLAG"/>
+    <output name="out" ftype="mzml" value="MSsimulator.mzml" compare="sim_size" delta="1000000" delta_frac="0.1"/>
+    <param name="algorithm|RandomNumberGenerators|biological" value="reproducible"/>
+    <param name="algorithm|RandomNumberGenerators|technical" value="reproducible"/>
+  </test>
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter generate MALDI output for use in the test for DeMeanderize -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="fasta" value="DecoyDatabase_1.fasta"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_FLAG"/>
+    <output name="out" ftype="mzml" value="MSsimulator_MALDI.mzml" compare="sim_size" delta="1000000" delta_frac="0.1"/>
+    <param name="algorithm|RandomNumberGenerators|biological" value="reproducible"/>
+    <param name="algorithm|RandomNumberGenerators|technical" value="reproducible"/>
+    <param name="algorithm|MSSim|Global|ionization_type" value="MALDI"/>
+  </test>
+</xml>
+<!-- adapted from macros_discarded_auto.xml (due to prefix-output)-->
+<xml name="manutest_MzMLSplitter">
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="FileFilter_1_input.mzML"/>
+  <param name="parts" value="2"/>
+  <param name="size" value="0"/>
+  <param name="unit" value="MB"/>
+  <param name="no_chrom" value="false"/>
+  <param name="no_spec" value="false"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+  <output_collection name="out" type="list" count="2">
+    <element name="part1of2" file="MzMLSplitter_1_output_part1of2.mzML" ftype="mzml"/>
+    <element name="part2of2" file="MzMLSplitter_1_output_part2of2.mzML" ftype="mzml"/>
+  </output_collection>
+</test>
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="FileFilter_1_input.mzML"/>
+  <param name="parts" value="1"/>
+  <param name="size" value="40"/>
+  <param name="unit" value="KB"/>
+  <param name="no_chrom" value="false"/>
+  <param name="no_spec" value="false"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+  <output_collection name="out" type="list" count="2">
+    <element name="part1of2" file="MzMLSplitter_2_output_part1of2.mzML" ftype="mzml"/>
+    <element name="part2of2" file="MzMLSplitter_2_output_part2of2.mzML" ftype="mzml"/>
+  </output_collection>
+</test>
+</xml>
+<xml name="manutest_OpenSwathDIAPreScoring">
+  <!-- TODO data from a test that included all the needed test files 
+       currently unusable https://github.com/OpenMS/OpenMS/pull/4443 -->
+  <!-- data from a test that included all the needed test files -->
+<!--  <test>-->
+<!--    <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>-->
+<!--    <param name="swath_files" value="OpenSwathWorkflow_10.chrom.mzML.tmp"/> or OpenSwathAnalyzer_2_swathfile.mzML-->
+<!--    <output name="out" ftype="tabular" value="OpenSwathDIAPreScoring_2.tmp"/>-->
+<!--  </test>-->
+</xml>
+<!-- adapted from macros_discarded_auto.xml (due to prefix-output)-->
+<xml name="manutest_OpenSwathFileSplitter">
+<test expect_num_outputs="3">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+  <param name="OPTIONAL_OUTPUTS" value="out_qc_FLAG,ctd_out_FLAG"/>
+  <output_collection name="adv_opts_cond.outputDirectory" count="6">
+    <element name="OpenSwathWorkflow_1_input_mzML_4" file="openswath_tmpfile_4.mzML" ftype="mzml"/>
+    <element name="OpenSwathWorkflow_1_input_mzML_ms1" file="openswath_tmpfile_ms1.mzML" ftype="mzml"/>
+  </output_collection>
+  <output name="out_qc" file="OpenSwathFileSplitter_1.json" compare="sim_size" delta="5700" ftype="json"/>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test>
+</xml>
+<xml name="manutest_OpenSwathRewriteToFeatureXML">
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter -->
+    <param name="featureXML" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <output name="out" ftype="featurexml" value="OpenSwathRewriteToFeatureXML.featureXML"/>
+  </test>
+</xml>
+<xml name="manutest_PepNovoAdapter">
+  <test expect_num_outputs="1"><!-- adapted from (dysfunctional) OMS 3rdParty tests (but model selection
+             unclear https://github.com/OpenMS/OpenMS/issues/4719)-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="PepNovo_1.mzML"/>
+    <output name="out" ftype="idxml" value="PepNovoAdapter_3_output.idXML"/>
+    <param name="model" value="LTQ_COMP"/>
+  </test>
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="PepNovo_1.mzML"/>
+    <output name="out" ftype="idxml" value="PepNovoAdapter_3_output.idXML"/>
+    <param name="model" value="LTQ_COMP"/>
+  </test>
+</xml>
+<xml name="manutest_PhosphoScoring">
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="spectra.mzML"/>
+    <param name="id" ftype="idxml" value="MSGFPlusAdapter_1_out1.tmp"/>
+    <output name="out" ftype="idxml" value="PhosphoScoring.idxml" compare="sim_size" delta="5700"/>
+  </test>
+</xml>
+<xml name="manutest_PSMFeatureExtractor">
+  <test expect_num_outputs="1"><!-- using the idXML outputs of two SearchAdapters that should be compatible -->
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="idxml" value="MSGFPlusAdapter_1_out.idXML,XTandemAdapter_1_out.idXML"/>
+    <param name="multiple_search_engines" value="true"/>
+    <param name="adv_opts_cond|adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|skip_db_check" value="true"/>
+    <param name="out_type" value="idxml"/>
+    <output name="out" ftype="idxml" value="PSMFeatureExtractor.idxml" compare="sim_size" delta="100"/>
+  </test>
+  <test expect_num_outputs="1"><!-- using the idXML outputs of two SearchAdapters that should be compatible -->
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="idxml" value="MSGFPlusAdapter_1_out.idXML,XTandemAdapter_1_out.idXML"/>
+    <param name="multiple_search_engines" value="true"/>
+    <param name="adv_opts_cond|adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|skip_db_check" value="true"/>
+    <param name="out_type" value="mzid"/>
+    <output name="out" ftype="mzid" value="PSMFeatureExtractor.mzid" compare="sim_size" delta="100" lines_diff="4"/>
+  </test>
+</xml>
+<xml name="manutest_QCCalculator">
+  <test expect_num_outputs="1"><!-- took test data from another test w mzML input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="OpenPepXL_input.mzML"/>
+    <output name="out" ftype="qcml" value="QCCalculator1.qcML" compare="sim_size" delta="250"/>
+  </test>
+  <test expect_num_outputs="1"><!-- took test data from another test w mzML,idXML,consensusXML input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="OpenPepXL_input.mzML"/>
+    <param name="id" ftype="idxml" value="OpenPepXL_output.idXML"/>
+    <param name="consensus" ftype="consensusxml" value="OpenPepXL_input.consensusXML"/>
+    <output name="out" ftype="qcml" value="QCCalculator2.qcML" compare="sim_size" delta="250"/>
+  </test>
+  <test expect_num_outputs="1"><!-- took test data from another test w mzML,idXML,featureXML input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="IDMapper_4_input.mzML"/>
+    <param name="id" ftype="idxml" value="IDMapper_4_input.idXML"/>
+    <param name="feature" ftype="featurexml" value="IDMapper_4_input.featureXML"/>
+    <output name="out" ftype="qcml" value="QCCalculator3.qcML" compare="sim_size" delta="250"/>
+  </test>
+</xml>
+<xml name="manutest_QCEmbedder">
+    <!--TODO-->
+</xml>
+<xml name="manutest_QCExporter">
+    <!--TODO-->
+</xml>
+<xml name="manutest_QCExtractor">
+    <!--TODO-->
+</xml>
+<xml name="manutest_QCImporter">
+    <!--TODO-->
+</xml>
+<xml name="manutest_QCMerger">
+  <test expect_num_outputs="1"><!-- just using 2 outputs from QCCalculator as input (no2 did not work) -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="qcml" value="QCCalculator1.qcML,QCCalculator3.qcML"/>
+    <output name="out" ftype="qcml" value="QCMerger.qcML"/>
+  </test>
+</xml>
+<xml name="manutest_QCShrinker">
+  <test expect_num_outputs="1"><!-- just using an output of QCCalculator as input  -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="qcml" value="QCCalculator1.qcML"/>
+    <output name="out" ftype="qcml" value="QCShrinker.qcML"/>
+  </test>
+</xml>
+<xml name="manutest_RNADigestor">
+  <test expect_num_outputs="1"><!--random RNAsequence input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="fasta" value="random_RNA.fa"/>
+    <output name="out" ftype="fasta" value="RNADigestor.fasta"/>
+  </test>
+</xml>
+<xml name="manutest_RNPxlXICFilter">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input (2x the same which is likely nonsense, but sufficient for the test) and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="control" ftype="mzml" value="FileFilter_1_input.mzML"/>
+    <param name="treatment" ftype="mzml" value="FileFilter_1_input.mzML"/>
+    <output name="out" ftype="mzml" value="RNPxlXICFilter.mzML"/>
+  </test>
+</xml>
+<xml name="manutest_RTEvaluation">
+  <!-- just chosen an arbitrary input and autgenerated output-->
+  <!-- https://github.com/OpenMS/OpenMS/pull/4429 -->
+  <test expect_num_outputs="1">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="idxml" value="PeptideIndexer_1.idXML"/>
+    <output name="out" ftype="csv" value="RTEvaluation.tsv"/>
+  </test>
+</xml>
+<xml name="manutest_SemanticValidator">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input (same as XMLValidator) and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="FileFilter_1_input.mzML"/>
+    <param name="mapping_file" ftype="xml" value="MAPPING/ms-mapping.xml"/>
+    <output name="stdout" ftype="txt" value="SemanticValidator.stdout" lines_diff="4">
+       <assert_contents><has_text text="Congratulations, the file is valid!"/></assert_contents>
+    </output>
+  </test>
+</xml>
+<xml name="manutest_SequenceCoverageCalculator">
+  <test expect_num_outputs="1"><!-- took test data from another tool that also takes idXML and fasta as input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in_database" value="PeptideIndexer_1.fasta" ftype="fasta"/>
+    <param name="in_peptides" value="SequenceCoverageCalculator_1.idXML" ftype="idxml"/>
+    <output name="out" value="SequenceCoverageCalculator.txt" ftype="txt" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpecLibCreator">
+  <!--TODO could not find test data -->
+</xml>
+<xml name="manutest_SpectraFilterBernNorm">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterBernNorm.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterMarkerMower">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterMarkerMower.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterNLargest">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterNLargest.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterNormalizer">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterNormalizer.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterParentPeakMower">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterParentPeakMower.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterScaler">
+  <test expect_num_outputs="1"> <!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterScaler.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterThresholdMower">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterThresholdMower.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraMerger">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="NovorAdapter_in.mzML"/>
+    <output name="out" ftype="mzml" value="SpectraMerger_1.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SvmTheoreticalSpectrumGeneratorTrainer">
+<!-- -TODO model_output_file creates multiple files-->
+</xml>
+<xml name="manutest_TransformationEvaluation">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="trafoxml" value="FileInfo_16_input.trafoXML"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_FLAG"/>
+    <output name="out" ftype="trafoxml" value="TransformationEvaluation.trafoXML" compare="sim_size" delta="100000000"/>
+  </test>
+</xml>
+<xml name="manutest_XMLValidator">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="FileFilter_1_input.mzML"/>
+    <output name="stdout" ftype="txt" value="XMLValidator.stdout" lines_diff="4">
+       <assert_contents><has_text text="Success: the file is valid!"/></assert_contents>
+    </output>
+  </test>
+</xml>
+<xml name="manutest_IDMapper"/><xml name="manutest_ProteinQuantifier"/><xml name="manutest_PeakPickerIterative"/><xml name="manutest_FeatureLinkerUnlabeledQT"/><xml name="manutest_TICCalculator"/><xml name="manutest_IDFilter"/><xml name="manutest_IDPosteriorErrorProbability"/><xml name="manutest_FeatureFinderIdentification"/><xml name="manutest_XFDR"/><xml name="manutest_OpenSwathWorkflow"/><xml name="manutest_MassCalculator"/><xml name="manutest_IDFileConverter"/><xml name="manutest_MultiplexResolver"/><xml name="manutest_FeatureFinderSuperHirn"/><xml name="manutest_AssayGeneratorMetabo"/><xml name="manutest_MassTraceExtractor"/><xml name="manutest_SiriusAdapter"/><xml name="manutest_IDMerger"/><xml name="manutest_MSstatsConverter"/><xml name="manutest_FileMerger"/><xml name="manutest_Decharger"/><xml name="manutest_PTPredict"/><xml name="manutest_XTandemAdapter"/><xml name="manutest_FeatureFinderMetabo"/><xml name="manutest_CruxAdapter"/><xml name="manutest_OpenSwathConfidenceScoring"/><xml name="manutest_PrecursorIonSelector"/><xml name="manutest_ConsensusMapNormalizer"/><xml name="manutest_RTPredict"/><xml name="manutest_PercolatorAdapter"/><xml name="manutest_ProteinInference"/><xml name="manutest_OpenSwathDecoyGenerator"/><xml name="manutest_TextExporter"/><xml name="manutest_FeatureFinderCentroided"/><xml name="manutest_DecoyDatabase"/><xml name="manutest_SpectraFilterWindowMower"/><xml name="manutest_NoiseFilterGaussian"/><xml name="manutest_MaRaClusterAdapter"/><xml name="manutest_ConsensusID"/><xml name="manutest_FileFilter"/><xml name="manutest_InclusionExclusionListCreator"/><xml name="manutest_FeatureLinkerUnlabeledKD"/><xml name="manutest_NovorAdapter"/><xml name="manutest_OpenPepXL"/><xml name="manutest_SeedListGenerator"/><xml name="manutest_FalseDiscoveryRate"/><xml name="manutest_OpenPepXLLF"/><xml name="manutest_SpecLibSearcher"/><xml name="manutest_IDConflictResolver"/><xml name="manutest_MRMMapper"/><xml name="manutest_OMSSAAdapter"/><xml name="manutest_ExternalCalibration"/><xml name="manutest_PeakPickerHiRes"/><xml name="manutest_MascotAdapter"/><xml name="manutest_FeatureFinderMultiplex"/><xml name="manutest_MetaProSIP"/><xml name="manutest_FuzzyDiff"/><xml name="manutest_TargetedFileConverter"/><xml name="manutest_MapAlignerIdentification"/><xml name="manutest_IDRTCalibration"/><xml name="manutest_MRMTransitionGroupPicker"/><xml name="manutest_RTModel"/><xml name="manutest_OpenSwathAssayGenerator"/><xml name="manutest_IDSplitter"/><xml name="manutest_OpenSwathMzMLFileCacher"/><xml name="manutest_HighResPrecursorMassCorrector"/><xml name="manutest_OpenSwathChromatogramExtractor"/><xml name="manutest_OpenSwathAnalyzer"/><xml name="manutest_FeatureLinkerUnlabeled"/><xml name="manutest_CompNovoCID"/><xml name="manutest_DTAExtractor"/><xml name="manutest_FileInfo"/><xml name="manutest_MapAlignerSpectrum"/><xml name="manutest_IsobaricAnalyzer"/><xml name="manutest_LowMemPeakPickerHiRes"/><xml name="manutest_MyriMatchAdapter"/><xml name="manutest_InternalCalibration"/><xml name="manutest_TOFCalibration"/><xml name="manutest_MSGFPlusAdapter"/><xml name="manutest_PTModel"/><xml name="manutest_InspectAdapter"/><xml name="manutest_SpectraFilterSqrtMower"/><xml name="manutest_SimpleSearchEngine"/><xml name="manutest_PeakPickerWavelet"/><xml name="manutest_MapNormalizer"/><xml name="manutest_IDScoreSwitcher"/><xml name="manutest_FeatureLinkerLabeled"/><xml name="manutest_MapRTTransformer"/><xml name="manutest_RNPxlSearch"/><xml name="manutest_PrecursorMassCorrector"/><xml name="manutest_MapAlignerPoseClustering"/><xml name="manutest_MzTabExporter"/><xml name="manutest_BaselineFilter"/><xml name="manutest_FeatureFinderMRM"/><xml name="manutest_MascotAdapterOnline"/><xml name="manutest_DatabaseFilter"/><xml name="manutest_ProteinResolver"/><xml name="manutest_OpenSwathFeatureXMLToTSV"/><xml name="manutest_FidoAdapter"/><xml name="manutest_AccurateMassSearch"/><xml name="manutest_CompNovo"/><xml name="manutest_LowMemPeakPickerHiResRandomAccess"/><xml name="manutest_OpenSwathRTNormalizer"/><xml name="manutest_PeptideIndexer"/><xml name="manutest_CometAdapter"/><xml name="manutest_NoiseFilterSGolay"/><xml name="manutest_MSFraggerAdapter"/><xml name="manutest_SpectraSTSearchAdapter"/><xml name="manutest_SequestAdapter"/><xml name="manutest_FeatureFinder"/><xml name="manutest_LuciphorAdapter"/><xml name="manutest_GNPSExport"/><xml name="manutest_Epifany"/><xml name="manutest_NucleicAcidSearchEngine"/><xml name="manutest_QualityControl"/><xml name="manutest_FeatureFinderMetaboIdent"/><xml name="manutest_RNAMassCalculator"/><xml name="manutest_MapAlignerTreeGuided"/><xml name="manutest_IDMassAccuracy"/><xml name="manutest_ProteomicsLFQ"/><xml name="manutest_IDDecoyProbability"/><xml name="manutest_DigestorMotif"/></macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/prepare_test_data.sh	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,1196 @@
+export COMET_BINARY="comet"
+export CRUX_BINARY="crux"
+export FIDOCHOOSEPARAMS_BINARY="FidoChooseParameters"
+export FIDO_BINARY="Fido"
+export LUCIPHOR_BINARY="$(dirname $(realpath $(which luciphor2)))/luciphor2.jar"
+export MARACLUSTER_BINARY="/tmp/openms-stuff//OpenMS2.5.0-git/THIRDPARTY/Linux/64bit/MaRaCluster/maracluster"
+export MSFRAGGER_BINARY="/home/berntm/Downloads/MSFragger-20171106/MSFragger-20171106.jar"
+export MSGFPLUS_BINARY="$(msgf_plus -get_jar_path)"
+export MYRIMATCH_BINARY="myrimatch"
+export NOVOR_BINARY="/home/berntm/Downloads/novor/lib/novor.jar"
+export OMSSA_BINARY="$(dirname $(realpath $(which omssacl)))/omssacl"
+export PERCOLATOR_BINARY="percolator"
+export SIRIUS_BINARY="$(which sirius)"
+export SPECTRAST_BINARY="spectrast"
+export XTANDEM_BINARY="xtandem"
+export THERMORAWFILEPARSER_BINARY="ThermoRawFileParser.exe"
+FuzzyDiff -test -ini FuzzyDiff.ini -in1 FuzzyDiff_3_in1.featureXML -in2 FuzzyDiff_3_in2.featureXML > UTILS_FuzzyDiff_3.stdout 2> UTILS_FuzzyDiff_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_FuzzyDiff_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_FuzzyDiff_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_FuzzyDiff_3.stdout)";fi
+IDMerger -test -in IDMerger_1_input1.idXML IDMerger_1_input2.idXML -out IDMerger_1_output.tmp -annotate_file_origin > TOPP_IDMerger_1.stdout 2> TOPP_IDMerger_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_1.stdout)";fi
+IDMerger -test -pepxml_protxml -in IDMerger_2_input1.idXML IDMerger_2_input2.idXML -out IDMerger_2_output.tmp > TOPP_IDMerger_2.stdout 2> TOPP_IDMerger_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_2.stdout)";fi
+IDMerger -test -in IDMerger_1_input1.idXML IDMerger_1_input1.idXML -out IDMerger_3_output.tmp > TOPP_IDMerger_3.stdout 2> TOPP_IDMerger_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_3.stdout)";fi
+IDMerger -test -in degenerated_empty.idXML degenerated_empty.idXML -out IDMerger_4_output.tmp > TOPP_IDMerger_4.stdout 2> TOPP_IDMerger_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_4.stdout)";fi
+IDMerger -test -in IDMerger_2_input1.idXML -add_to IDMerger_5_input1.idXML -out IDMerger_5_output.tmp > TOPP_IDMerger_5.stdout 2> TOPP_IDMerger_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_5.stdout)";fi
+BaselineFilter -test -in BaselineFilter_input.mzML -out BaselineFilter.tmp -struc_elem_length 1.5 > TOPP_BaselineFilter_1.stdout 2> TOPP_BaselineFilter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_BaselineFilter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_BaselineFilter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_BaselineFilter_1.stdout)";fi
+ConsensusMapNormalizer -test -in ConsensusMapNormalizer_input.consensusXML -out ConsensusMapNormalizer.tmp > TOPP_ConsensusMapNormalizer_1.stdout 2> TOPP_ConsensusMapNormalizer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusMapNormalizer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusMapNormalizer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusMapNormalizer_1.stdout)";fi
+MapNormalizer -test -in MapNormalizer_input.mzML -out MapNormalizer.tmp > TOPP_MapNormalizer_1.stdout 2> TOPP_MapNormalizer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapNormalizer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapNormalizer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapNormalizer_1.stdout)";fi
+Decharger -test -in Decharger_input.featureXML -ini Decharger_input.ini -out_fm Decharger_output_fm.tmp -out_cm Decharger_output.tmp -outpairs Decharger_p_output.tmp > TOPP_Decharger_1.stdout 2> TOPP_Decharger_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_Decharger_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_Decharger_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_Decharger_1.stdout)";fi
+DTAExtractor -test -in DTAExtractor_1_input.mzML -out DTAExtractor -rt :61 > TOPP_DTAExtractor_1.stdout 2> TOPP_DTAExtractor_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_DTAExtractor_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_DTAExtractor_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_DTAExtractor_1.stdout)";fi
+DTAExtractor -test -in DTAExtractor_1_input.mzML -out DTAExtractor -level 1 > TOPP_DTAExtractor_2.stdout 2> TOPP_DTAExtractor_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_DTAExtractor_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_DTAExtractor_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_DTAExtractor_2.stdout)";fi
+DTAExtractor -test -in DTAExtractor_1_input.mzML -out DTAExtractor -level 2 -mz :1000 > TOPP_DTAExtractor_3.stdout 2> TOPP_DTAExtractor_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_DTAExtractor_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_DTAExtractor_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_DTAExtractor_3.stdout)";fi
+MassTraceExtractor -test -ini MassTraceExtractor.ini -in MassTraceExtractor_1_input.mzML -out MassTraceExtractor_1.tmp > TOPP_MassTraceExtractor_1.stdout 2> TOPP_MassTraceExtractor_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MassTraceExtractor_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MassTraceExtractor_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MassTraceExtractor_1.stdout)";fi
+MassTraceExtractor -test -ini MassTraceExtractor_2.ini -in MassTraceExtractor_1_input.mzML -out MassTraceExtractor_2.tmp > TOPP_MassTraceExtractor_2.stdout 2> TOPP_MassTraceExtractor_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MassTraceExtractor_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MassTraceExtractor_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MassTraceExtractor_2.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo.ini -in FeatureFinderMetabo_1_input.mzML -out FeatureFinderMetabo_1.tmp > TOPP_FeatureFinderMetabo_1.stdout 2> TOPP_FeatureFinderMetabo_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_1.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo_2_noEPD.ini -in FeatureFinderMetabo_2_input.mzML -out FeatureFinderMetabo_2.tmp > TOPP_FeatureFinderMetabo_2.stdout 2> TOPP_FeatureFinderMetabo_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_2.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo_3.ini -in FeatureFinderMetabo_3_input.mzML -out FeatureFinderMetabo_3.tmp -out_chrom FeatureFinderMetabo_3_chrom.tmp > TOPP_FeatureFinderMetabo_3.stdout 2> TOPP_FeatureFinderMetabo_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_3.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo_4.ini -in FeatureFinderMetabo_3_input.mzML -out FeatureFinderMetabo_4.tmp -out_chrom FeatureFinderMetabo_4_chrom.tmp > TOPP_FeatureFinderMetabo_4.stdout 2> TOPP_FeatureFinderMetabo_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_4.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo.ini -in FeatureFinderMetabo_1_input.mzML -out FeatureFinderMetabo_5.tmp -algorithm:mtd:quant_method max_height > TOPP_FeatureFinderMetabo_5.stdout 2> TOPP_FeatureFinderMetabo_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_5.stdout)";fi
+FeatureFinderCentroided -test -ini FeatureFinderCentroided_1_parameters.ini -in FeatureFinderCentroided_1_input.mzML -out FeatureFinderCentroided_1.tmp > TOPP_FeatureFinderCentroided_1.stdout 2> TOPP_FeatureFinderCentroided_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderCentroided_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderCentroided_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderCentroided_1.stdout)";fi
+FeatureFinderIdentification -test -in FeatureFinderIdentification_1_input.mzML -id FeatureFinderIdentification_1_input.idXML -out FeatureFinderIdentification_1.tmp -extract:mz_window 0.1 -detect:peak_width 60 -model:type none > TOPP_FeatureFinderIdentification_1.stdout 2> TOPP_FeatureFinderIdentification_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderIdentification_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderIdentification_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderIdentification_1.stdout)";fi
+FeatureFinderIdentification -test -in FeatureFinderIdentification_1_input.mzML -id FeatureFinderIdentification_1_input.idXML -out FeatureFinderIdentification_3.tmp -extract:mz_window 0.1 -detect:peak_width 60 -model:type symmetric > TOPP_FeatureFinderIdentification_3.stdout 2> TOPP_FeatureFinderIdentification_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderIdentification_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderIdentification_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderIdentification_3.stdout)";fi
+FeatureFinderIdentification -test -in FeatureFinderIdentification_1_input.mzML -id FeatureFinderIdentification_1_input.idXML -out FeatureFinderIdentification_4.tmp -extract:mz_window 0.1 -extract:batch_size 10 -detect:peak_width 60 -model:type none > TOPP_FeatureFinderIdentification_4.stdout 2> TOPP_FeatureFinderIdentification_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderIdentification_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderIdentification_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderIdentification_4.stdout)";fi
+FeatureFinderMRM -test -in FeatureFinderMRM_1_input.mzML -ini FeatureFinderMRM_1_parameters.ini -out FeatureFinderMRM_1.tmp > TOPP_FeatureFinderMRM_1.stdout 2> TOPP_FeatureFinderMRM_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMRM_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMRM_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMRM_1.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_1_input.mzML -ini FeatureFinderMultiplex_1_parameters.ini -out FeatureFinderMultiplex_1.tmp -out_multiplets FeatureFinderMultiplex_2.tmp > TOPP_FeatureFinderMultiplex_1.stdout 2> TOPP_FeatureFinderMultiplex_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_1.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_2_input.mzML -ini FeatureFinderMultiplex_2_parameters.ini -out FeatureFinderMultiplex_3.tmp -out_multiplets FeatureFinderMultiplex_4.tmp > TOPP_FeatureFinderMultiplex_2.stdout 2> TOPP_FeatureFinderMultiplex_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_2.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_3_input.mzML -ini FeatureFinderMultiplex_3_parameters.ini -out FeatureFinderMultiplex_5.tmp -out_multiplets FeatureFinderMultiplex_6.tmp > TOPP_FeatureFinderMultiplex_3.stdout 2> TOPP_FeatureFinderMultiplex_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_3.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_4_input.mzML -ini FeatureFinderMultiplex_4_parameters.ini -out FeatureFinderMultiplex_7.tmp -out_multiplets FeatureFinderMultiplex_8.tmp > TOPP_FeatureFinderMultiplex_4.stdout 2> TOPP_FeatureFinderMultiplex_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_4.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_5_input.mzML -ini FeatureFinderMultiplex_5_parameters.ini -out FeatureFinderMultiplex_9.tmp -out_multiplets FeatureFinderMultiplex_10.tmp > TOPP_FeatureFinderMultiplex_5.stdout 2> TOPP_FeatureFinderMultiplex_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_5.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_6_input.mzML -ini FeatureFinderMultiplex_6_parameters.ini -out FeatureFinderMultiplex_11.tmp -out_multiplets FeatureFinderMultiplex_12.tmp > TOPP_FeatureFinderMultiplex_6.stdout 2> TOPP_FeatureFinderMultiplex_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_6.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_7_input.mzML -ini FeatureFinderMultiplex_7_parameters.ini -out FeatureFinderMultiplex_13.tmp -out_multiplets FeatureFinderMultiplex_14.tmp > TOPP_FeatureFinderMultiplex_7.stdout 2> TOPP_FeatureFinderMultiplex_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_7.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_8_input.mzML -ini FeatureFinderMultiplex_8_parameters.ini -out FeatureFinderMultiplex_15.tmp -out_multiplets FeatureFinderMultiplex_16.tmp > TOPP_FeatureFinderMultiplex_8.stdout 2> TOPP_FeatureFinderMultiplex_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_8.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_9_input.mzML -ini FeatureFinderMultiplex_9_parameters.ini -out FeatureFinderMultiplex_17.tmp -out_multiplets FeatureFinderMultiplex_18.tmp > TOPP_FeatureFinderMultiplex_9.stdout 2> TOPP_FeatureFinderMultiplex_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_9.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_10_input.mzML -ini FeatureFinderMultiplex_10_parameters.ini -out FeatureFinderMultiplex_19.tmp -out_multiplets FeatureFinderMultiplex_20.tmp > TOPP_FeatureFinderMultiplex_10.stdout 2> TOPP_FeatureFinderMultiplex_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_10.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_11_input.mzML -ini FeatureFinderMultiplex_11_parameters.ini -out FeatureFinderMultiplex_21.tmp > TOPP_FeatureFinderMultiplex_11.stdout 2> TOPP_FeatureFinderMultiplex_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_11.stdout)";fi
+FileConverter -test -in FileConverter_1_input.mzData -out FileConverter_1.tmp -out_type mzML > TOPP_FileConverter_1.stdout 2> TOPP_FileConverter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_1.stdout)";fi
+FileConverter -test  -in FileConverter_2_input.someInputDTA2D -in_type dta2d -out FileConverter_2.tmp -out_type mzML > TOPP_FileConverter_2.stdout 2> TOPP_FileConverter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_2.stdout)";fi
+FileConverter -test  -in FileConverter_3_input.featureXML -out FileConverter_3.tmp -out_type mzML > TOPP_FileConverter_3.stdout 2> TOPP_FileConverter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_3.stdout)";fi
+FileConverter -test  -in FileConverter_4_input.mzXML -out FileConverter_4.tmp -out_type mzML > TOPP_FileConverter_4.stdout 2> TOPP_FileConverter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_4.stdout)";fi
+FileConverter -test -in FileConverter_5_input.mzML -out FileConverter_5.tmp -out_type mzXML > TOPP_FileConverter_5.stdout 2> TOPP_FileConverter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_5.stdout)";fi
+FileConverter -test -in FileConverter_6_input.mzML -out FileConverter_6.tmp -out_type mzXML > TOPP_FileConverter_6.stdout 2> TOPP_FileConverter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_6.stdout)";fi
+FileConverter -test -in FileConverter_7_input.consensusXML -out FileConverter_7.tmp -out_type featureXML > TOPP_FileConverter_7.stdout 2> TOPP_FileConverter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_7.stdout)";fi
+FileConverter -test -in FileConverter_8_input.mzML -out FileConverter_8.tmp -out_type mzData > TOPP_FileConverter_8.stdout 2> TOPP_FileConverter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_8.stdout)";fi
+FileConverter -test -in FileConverter_9_input.consensusXML -out FileConverter_9.tmp -out_type featureXML > TOPP_FileConverter_9.stdout 2> TOPP_FileConverter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_9.stdout)";fi
+FileConverter -test -in FileConverter_10_input.edta -no_progress -out FileConverter_10.tmp -out_type featureXML > TOPP_FileConverter_10.stdout 2> TOPP_FileConverter_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_10.stdout)";fi
+FileConverter -test -in FileConverter_11_input.peplist -no_progress -out FileConverter_11.tmp -out_type featureXML > TOPP_FileConverter_11.stdout 2> TOPP_FileConverter_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_11.stdout)";fi
+FileConverter -test -in FileConverter_12_input.peptides.tsv -no_progress -out FileConverter_12.tmp -out_type featureXML > TOPP_FileConverter_12.stdout 2> TOPP_FileConverter_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_12.stdout)";fi
+FileConverter -test -in FileConverter_13_input.peptides.kroenik -no_progress -out FileConverter_13.tmp -out_type featureXML > TOPP_FileConverter_13.stdout 2> TOPP_FileConverter_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_13.stdout)";fi
+FileConverter -test -in FileConverter_9_output.featureXML -no_progress -out FileConverter_14.tmp -out_type consensusXML > TOPP_FileConverter_14.stdout 2> TOPP_FileConverter_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_14.stdout)";fi
+FileConverter -test -in FileConverter_10_input.edta -no_progress -out FileConverter_15.tmp -out_type consensusXML > TOPP_FileConverter_15.stdout 2> TOPP_FileConverter_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_15.stdout)";fi
+FileConverter -test -in FileConverter_16_input.edta -no_progress -out FileConverter_16.tmp -out_type consensusXML > TOPP_FileConverter_16.stdout 2> TOPP_FileConverter_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_16.stdout)";fi
+FileConverter -test -in FileConverter_17_input.consensusXML -no_progress -out FileConverter_17.csv > TOPP_FileConverter_17.stdout 2> TOPP_FileConverter_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_17.stdout)";fi
+FileConverter -test -in FileConverter_17_input.consensusXML -no_progress -out FileConverter_18.tmp -out_type csv > TOPP_FileConverter_18.stdout 2> TOPP_FileConverter_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_18.stdout)";fi
+FileConverter -test -in FileFilter_1_input.mzML -out FileConverter_19.tmp -process_lowmemory -in_type mzML -out_type mzML > TOPP_FileConverter_19.stdout 2> TOPP_FileConverter_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_19.stdout)";fi
+FileConverter -test -in FileConverter_20_input.featureXML -out FileConverter_20.tmp -in_type featureXML -out_type featureXML > TOPP_FileConverter_20.stdout 2> TOPP_FileConverter_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_20.stdout)";fi
+FileConverter -test -in FileConverter_4_input.mzXML -out FileConverter_21.tmp -out_type mzML -process_lowmemory > TOPP_FileConverter_21.stdout 2> TOPP_FileConverter_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_21.stdout)";fi
+FileConverter -test -in FileConverter_23_input.mzML -out FileConverter_23.tmp -out_type mzML > TOPP_FileConverter_23.stdout 2> TOPP_FileConverter_23.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_23 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_23.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_23.stdout)";fi
+FileConverter -test -in FileFilter_1_input.mzML -out FileConverter_24.tmp -process_lowmemory -in_type mzML -out_type mzML -lossy_compression -lossy_mass_accuracy 0.0001 > TOPP_FileConverter_24.stdout 2> TOPP_FileConverter_24.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_24 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_24.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_24.stdout)";fi
+FileConverter -test -in FileFilter_1_input.mzML -out FileConverter_25.tmp -process_lowmemory -in_type mzML -out_type mzML -lossy_compression > TOPP_FileConverter_25.stdout 2> TOPP_FileConverter_25.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_25 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_25.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_25.stdout)";fi
+FileConverter -test -in FileFilter_1_input.mzML -out FileConverter_26.tmp -force_MaxQuant_compatibility -out_type mzXML > TOPP_FileConverter_26.stdout 2> TOPP_FileConverter_26.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_26 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_26.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_26.stdout)";fi
+FileConverter -test -in FileConverter_26_output.mzXML -out FileConverter_26-2.tmp -force_MaxQuant_compatibility -out_type mzXML > TOPP_FileConverter_26-2.stdout 2> TOPP_FileConverter_26-2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_26-2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_26-2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_26-2.stdout)";fi
+FileConverter -test -in FileConverter_27_input.mzML -out FileConverter_27.tmp -out_type mzML  -convert_to_chromatograms > TOPP_FileConverter_27.stdout 2> TOPP_FileConverter_27.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_27 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_27.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_27.stdout)";fi
+FileConverter -test -in FileConverter_28_input.mzML -out FileConverter_28.tmp -out_type mzML  -convert_to_chromatograms > TOPP_FileConverter_28.stdout 2> TOPP_FileConverter_28.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_28 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_28.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_28.stdout)";fi
+FileConverter -test -in OpenSwathWorkflow_17_input.mzML -out FileConverter_29.tmp -out_type mzML -lossy_compression -lossy_mass_accuracy 1e-5 -process_lowmemory > TOPP_FileConverter_29.stdout 2> TOPP_FileConverter_29.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_29 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_29.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_29.stdout)";fi
+FileConverter -test -in FileConverter_29.tmp -in_type mzML -out FileConverter_29.back.tmp -out_type mzML > TOPP_FileConverter_29_back.stdout 2> TOPP_FileConverter_29_back.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_29_back failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_29_back.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_29_back.stdout)";fi
+FileConverter -test -in FileConverter_30_input.mzML -change_im_format multiple -out_type mzML -out FileConverter_30.tmp > TOPP_FileConverter_30.stdout 2> TOPP_FileConverter_30.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_30 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_30.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_30.stdout)";fi
+FileConverter -test -in FileConverter_30_output.mzML -change_im_format single -out_type mzML -out FileConverter_31.tmp > TOPP_FileConverter_31.stdout 2> TOPP_FileConverter_31.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_31 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_31.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_31.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_1.tmp -rt :30 -mz :1000 -int :20000 -in_type mzML -out_type mzML > TOPP_FileFilter_1.stdout 2> TOPP_FileFilter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_1.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_2.tmp -rt 30: -mz 1000: -int 100: -in_type mzML -out_type mzML > TOPP_FileFilter_2.stdout 2> TOPP_FileFilter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_2.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_3.tmp -peak_options:level 2 -in_type mzML -out_type mzML > TOPP_FileFilter_3.stdout 2> TOPP_FileFilter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_3.stdout)";fi
+FileFilter -test -in FileFilter_4_input.mzML -out FileFilter_4.tmp -spectra:remove_zoom -in_type mzML -out_type mzML > TOPP_FileFilter_4.stdout 2> TOPP_FileFilter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_4.stdout)";fi
+FileFilter -test -in FileFilter_5_input.featureXML -out FileFilter_5.tmp -rt :1000 -mz :480 -int :79000 -f_and_c:charge :3 -feature:q :0.6 -in_type featureXML -out_type featureXML > TOPP_FileFilter_5.stdout 2> TOPP_FileFilter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_5.stdout)";fi
+FileFilter -test -in FileFilter_5_input.featureXML -out FileFilter_6.tmp -rt 1000: -mz 440: -int 70000: -f_and_c:charge 3: -feature:q 0.51: -in_type featureXML -out_type featureXML > TOPP_FileFilter_6.stdout 2> TOPP_FileFilter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_6.stdout)";fi
+FileFilter -test -in FileFilter_7_input.mzML -out FileFilter_7.tmp -int 7000: -peak_options:level 1 2 3 -in_type mzML -out_type mzML > TOPP_FileFilter_7.stdout 2> TOPP_FileFilter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_7.stdout)";fi
+FileFilter -test -in FileFilter_8_input.consensusXML -out FileFilter_8.tmp -rt 600:1400 -mz 700:2300 -int 1100:6000 -in_type consensusXML -out_type consensusXML > TOPP_FileFilter_8.stdout 2> TOPP_FileFilter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_8.stdout)";fi
+FileFilter -test -in FileFilter_9_input.mzML -out FileFilter_9.tmp -spectra:remove_mode SelectedIonMonitoring -in_type mzML -out_type mzML > TOPP_FileFilter_9.stdout 2> TOPP_FileFilter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_9.stdout)";fi
+FileFilter -test -in FileFilter_10_input.mzML -out FileFilter_10.tmp -spectra:remove_activation "Collision-induced dissociation" -in_type mzML -out_type mzML > TOPP_FileFilter_10.stdout 2> TOPP_FileFilter_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_10.stdout)";fi
+FileFilter -test -in FileFilter_11_input.mzML -out FileFilter_11.tmp -spectra:remove_activation "Plasma desorption" -in_type mzML -out_type mzML > TOPP_FileFilter_11.stdout 2> TOPP_FileFilter_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_11.stdout)";fi
+FileFilter -test -in FileFilter_12_input.mzML -out FileFilter_12.tmp -peak_options:remove_chromatograms -in_type mzML -out_type mzML > TOPP_FileFilter_12.stdout 2> TOPP_FileFilter_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_12.stdout)";fi
+FileFilter -test -in FileFilter_13_input.consensusXML -out FileFilter_13.tmp -in_type consensusXML -out_type featureXML -consensus:map 2 > TOPP_FileFilter_13.stdout 2> TOPP_FileFilter_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_13.stdout)";fi
+FileFilter -test -in FileFilter_14_input.consensusXML -out FileFilter_14.tmp -in_type consensusXML -out_type consensusXML -consensus:map 0 2 > TOPP_FileFilter_14.stdout 2> TOPP_FileFilter_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_14.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_15.tmp -id:sequences_whitelist Oxidation -id:remove_unassigned_ids > TOPP_FileFilter_15.stdout 2> TOPP_FileFilter_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_15.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_16.tmp -id:sequences_whitelist Oxidation -id:remove_unassigned_ids -mz 400:600 -rt 3000:4000 > TOPP_FileFilter_16.stdout 2> TOPP_FileFilter_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_16.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_17.tmp -id:remove_annotated_features -mz 400:600 -rt 3000:4000 > TOPP_FileFilter_17.stdout 2> TOPP_FileFilter_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_17.stdout)";fi
+FileFilter -test -in FileFilter_18_input.consensusXML -out FileFilter_18.tmp -id:sequences_whitelist Oxidation -id:remove_unassigned_ids > TOPP_FileFilter_18.stdout 2> TOPP_FileFilter_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_18.stdout)";fi
+FileFilter -test -in FileFilter_18_input.consensusXML -out FileFilter_19.tmp -id:remove_unannotated_features -mz 400:600 -rt 3000:4000 > TOPP_FileFilter_19.stdout 2> TOPP_FileFilter_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_19.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_20.tmp -id:accessions_whitelist YDL217C -id:remove_unassigned_ids > TOPP_FileFilter_20.stdout 2> TOPP_FileFilter_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_20.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_21.tmp -id:remove_unassigned_ids -id:remove_unannotated_features -id:keep_best_score_id > TOPP_FileFilter_21.stdout 2> TOPP_FileFilter_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_21.stdout)";fi
+FileFilter -test -in FileFilter_22_input.consensusXML -out FileFilter_22.tmp -f_and_c:remove_meta distinct_charges gt "1,2" > TOPP_FileFilter_22.stdout 2> TOPP_FileFilter_22.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_22 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_22.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_22.stdout)";fi
+FileFilter -test -in FileFilter_22_input.consensusXML -out FileFilter_23.tmp -f_and_c:remove_meta distinct_charges_size gt 2 > TOPP_FileFilter_23.stdout 2> TOPP_FileFilter_23.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_23 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_23.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_23.stdout)";fi
+FileFilter -test -in FileFilter_22_input.consensusXML -out FileFilter_24.tmp -f_and_c:remove_meta DOESNOTEXIST lt "whatever" > TOPP_FileFilter_24.stdout 2> TOPP_FileFilter_24.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_24 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_24.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_24.stdout)";fi
+FileFilter -test -in FileFilter_25_input.mzML.gz -id:blacklist FileFilter_25_input.idXML -out FileFilter_25.tmp -id:mz 0.05 -id:rt 1 -id:blacklist_imperfect > TOPP_FileFilter_25.stdout 2> TOPP_FileFilter_25.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_25 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_25.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_25.stdout)";fi
+FileFilter -test -in FileFilter_25_input.mzML.gz -id:blacklist FileFilter_25_input.idXML -out FileFilter_26.tmp -id:blacklist_imperfect > TOPP_FileFilter_26.stdout 2> TOPP_FileFilter_26.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_26 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_26.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_26.stdout)";fi
+FileFilter -test -in FileFilter_28_input.mzML.gz -peak_options:pc_mz_range 832:836 -out FileFilter_28.tmp -peak_options:level 2 > TOPP_FileFilter_28.stdout 2> TOPP_FileFilter_28.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_28 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_28.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_28.stdout)";fi
+FileFilter -test -in FileFilter_28_input.mzML.gz -peak_options:pc_mz_range 832:836 -out FileFilter_29.tmp -peak_options:level 1 2 > TOPP_FileFilter_29.stdout 2> TOPP_FileFilter_29.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_29 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_29.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_29.stdout)";fi
+FileFilter -test -in FileFilter_28_input.mzML.gz -peak_options:pc_mz_range 832:836 -out FileFilter_30.tmp -peak_options:level 1 2 > TOPP_FileFilter_30.stdout 2> TOPP_FileFilter_30.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_30 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_30.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_30.stdout)";fi
+FileFilter -test -in FileFilter_31_34_input.mzML -spectra:remove_isolation_window_width :2 -out FileFilter_31.tmp  > TOPP_FileFilter_31.stdout 2> TOPP_FileFilter_31.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_31 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_31.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_31.stdout)";fi
+FileFilter -test -in FileFilter_31_34_input.mzML -spectra:select_isolation_window_width :2 -out FileFilter_32.tmp  > TOPP_FileFilter_32.stdout 2> TOPP_FileFilter_32.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_32 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_32.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_32.stdout)";fi
+FileFilter -test -in FileFilter_31_34_input.mzML -spectra:remove_collision_energy :35 -out FileFilter_33.tmp  > TOPP_FileFilter_33.stdout 2> TOPP_FileFilter_33.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_33 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_33.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_33.stdout)";fi
+FileFilter -test -in FileFilter_31_34_input.mzML -spectra:select_collision_energy :35 -out FileFilter_34.tmp  > TOPP_FileFilter_34.stdout 2> TOPP_FileFilter_34.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_34 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_34.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_34.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_35.tmp -peak_options:indexed_file true -in_type mzML -out_type mzML > TOPP_FileFilter_35.stdout 2> TOPP_FileFilter_35.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_35 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_35.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_35.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_36.tmp -peak_options:indexed_file false -in_type mzML -out_type mzML > TOPP_FileFilter_36.stdout 2> TOPP_FileFilter_36.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_36 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_36.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_36.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_37.tmp -test -peak_options:numpress:intensity slof -peak_options:numpress:masstime linear -in_type mzML -peak_options:numpress:lossy_mass_accuracy 1e-4 -out_type mzML > TOPP_FileFilter_37.stdout 2> TOPP_FileFilter_37.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_37 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_37.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_37.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_38.tmp -test -peak_options:numpress:intensity pic -peak_options:numpress:masstime linear -in_type mzML -peak_options:numpress:lossy_mass_accuracy 1e-4 -out_type mzML > TOPP_FileFilter_38.stdout 2> TOPP_FileFilter_38.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_38 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_38.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_38.stdout)";fi
+FileFilter -test -in FileFilter_40_input.mzML -out FileFilter_40.tmp -spectra:select_polarity positive -in_type mzML -out_type mzML > TOPP_FileFilter_40.stdout 2> TOPP_FileFilter_40.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_40 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_40.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_40.stdout)";fi
+FileFilter -test -in FileFilter_40_input.mzML -out FileFilter_41.tmp -spectra:select_polarity negative -in_type mzML -out_type mzML > TOPP_FileFilter_41.stdout 2> TOPP_FileFilter_41.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_41 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_41.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_41.stdout)";fi
+FileFilter -test -in FileFilter_40_input.mzML -out FileFilter_42.tmp -spectra:select_polarity "" -in_type mzML -out_type mzML > TOPP_FileFilter_42.stdout 2> TOPP_FileFilter_42.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_42 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_42.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_42.stdout)";fi
+FileFilter -test -in FileFilter_43_input.mzML -out FileFilter_43.tmp.mzML -in_type mzML -out_type mzML > TOPP_FileFilter_43.stdout 2> TOPP_FileFilter_43.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_43 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_43.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_43.stdout)";fi
+FileFilter -test -in FileFilter_43.tmp.mzML -out FileFilter_43.dummy.tmp  -in_type mzML -out_type mzML > TOPP_FileFilter_43_read_again.stdout 2> TOPP_FileFilter_43_read_again.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_43_read_again failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_43_read_again.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_43_read_again.stdout)";fi
+FileFilter -test -in FileFilter_44_input.mzML -out FileFilter_44.tmp -test -in_type mzML -out_type mzML > TOPP_FileFilter_44.stdout 2> TOPP_FileFilter_44.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_44 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_44.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_44.stdout)";fi
+FileFilter -test -in FileFilter_45_input.featureXML -id:sequences_whitelist "YSFS" "STLIPPPSK(Label:13C(6)15N(2))" -out FileFilter_45.tmp > TOPP_FileFilter_45.stdout 2> TOPP_FileFilter_45.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_45 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_45.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_45.stdout)";fi
+FileFilter -test -in FileFilter_46_input.featureXML -id:sequences_whitelist "YSFS" "STLIPPPSK(Label:13C(6)15N(2))" -id:sequence_comparison_method "exact" -out FileFilter_46.tmp > TOPP_FileFilter_46.stdout 2> TOPP_FileFilter_46.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_46 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_46.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_46.stdout)";fi
+FileFilter -test -in FileFilter_47_input.mzML -spectra:blackorwhitelist:file FileFilter_47_input_select.mzML -spectra:blackorwhitelist:similarity_threshold 0.9 -out FileFilter_47_1.tmp > TOPP_FileFilter_47.stdout 2> TOPP_FileFilter_47.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_47 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_47.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_47.stdout)";fi
+FileFilter -test -in FileFilter_47_input.mzML -spectra:blackorwhitelist:file FileFilter_47_input_select.mzML -spectra:blackorwhitelist:similarity_threshold 0.9 -spectra:blackorwhitelist:blacklist false -out FileFilter_48_1.tmp > TOPP_FileFilter_48.stdout 2> TOPP_FileFilter_48.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_48 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_48.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_48.stdout)";fi
+FileFilter -test -in FileFilter_49_input.mzML -peak_options:numpress:intensity pic -peak_options:numpress:masstime linear -peak_options:numpress:float_da slof -peak_options:zlib_compression true -out FileFilter_49_1.tmp > TOPP_FileFilter_49.stdout 2> TOPP_FileFilter_49.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_49 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_49.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_49.stdout)";fi
+FileInfo -test -in FileInfo_1_input.dta -in_type dta -no_progress -out FileInfo_1.tmp > TOPP_FileInfo_1.stdout 2> TOPP_FileInfo_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_1.stdout)";fi
+FileInfo -test -in FileInfo_2_input.dta2d -no_progress -out FileInfo_2.tmp > TOPP_FileInfo_2.stdout 2> TOPP_FileInfo_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_2.stdout)";fi
+FileInfo -test -in FileInfo_3_input.featureXML -m -s -p -no_progress -out FileInfo_3.tmp > TOPP_FileInfo_3.stdout 2> TOPP_FileInfo_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_3.stdout)";fi
+FileInfo -test -in FileInfo_4_input.mzXML -m -no_progress -out FileInfo_4.tmp > TOPP_FileInfo_4.stdout 2> TOPP_FileInfo_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_4.stdout)";fi
+FileInfo -test -in FileInfo_5_input.mzDat -in_type mzData -m -s -no_progress -out FileInfo_5.tmp > TOPP_FileInfo_5.stdout 2> TOPP_FileInfo_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_5.stdout)";fi
+FileInfo -test -in FileInfo_6_input.mzData -d -s -no_progress -out FileInfo_6.tmp > TOPP_FileInfo_6.stdout 2> TOPP_FileInfo_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_6.stdout)";fi
+FileInfo -test -in FileInfo_7_input.consensusXML -s -m -p -no_progress -out FileInfo_7.tmp > TOPP_FileInfo_7.stdout 2> TOPP_FileInfo_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_7.stdout)";fi
+FileInfo -test -in FileInfo_9_input.mzML -m -p -s -no_progress -out FileInfo_9.tmp > TOPP_FileInfo_9.stdout 2> TOPP_FileInfo_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_9.stdout)";fi
+FileInfo -test -in FileInfo_10_input.idXML -no_progress -out FileInfo_10.tmp > TOPP_FileInfo_10.stdout 2> TOPP_FileInfo_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_10.stdout)";fi
+FileInfo -test -in FileInfo_12_input.mzML -i  -no_progress > TOPP_FileInfo_12.stdout 2> TOPP_FileInfo_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_12.stdout)";fi
+FileInfo -test -in FileInfo_13_input.consensusXML -no_progress > TOPP_FileInfo_13.stdout 2> TOPP_FileInfo_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_13.stdout)";fi
+FileInfo -test -in FileInfo_14_input.mzid -v -no_progress -out FileInfo_14.tmp > TOPP_FileInfo_14.stdout 2> TOPP_FileInfo_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_14.stdout)";fi
+FileInfo -test -in FileInfo_15_input.mzid -v -no_progress -out FileInfo_15.tmp > TOPP_FileInfo_15.stdout 2> TOPP_FileInfo_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_15.stdout)";fi
+FileInfo -test -in FileInfo_16_input.trafoXML -out FileInfo_16_output.tmp > TOPP_FileInfo_16.stdout 2> TOPP_FileInfo_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_16.stdout)";fi
+FileInfo -test -in FileInfo_17_input.fasta -out FileInfo_17_output.tmp > TOPP_FileInfo_17.stdout 2> TOPP_FileInfo_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_17.stdout)";fi
+FileInfo -test -in FileInfo_18_input.fasta -out FileInfo_18_output.tmp > TOPP_FileInfo_18.stdout 2> TOPP_FileInfo_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_18.stdout)";fi
+FileMerger -test -in FileMerger_1_input1.dta2d FileMerger_1_input2.dta FileMerger_1_input3.dta2d -out FileMerger_1.tmp -raw:rt_custom 1 2 3 > TOPP_FileMerger_1.stdout 2> TOPP_FileMerger_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_1.stdout)";fi
+FileMerger -test -in FileMerger_2_input1.dta FileMerger_2_input2.dta -in_type dta -out FileMerger_2.tmp -raw:rt_custom 5 10 > TOPP_FileMerger_2.stdout 2> TOPP_FileMerger_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_2.stdout)";fi
+FileMerger -test -in FileMerger_3_input1.dta FileMerger_3_input2.dta -out FileMerger_3.tmp -raw:rt_auto > TOPP_FileMerger_3.stdout 2> TOPP_FileMerger_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_3.stdout)";fi
+FileMerger -test -in FileMerger_4_input1.dta2d FileMerger_4_input2.dta2d -out FileMerger_4.tmp > TOPP_FileMerger_4.stdout 2> TOPP_FileMerger_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_4.stdout)";fi
+FileMerger -test -in FileMerger_5_input_rt1023.331.dta FileMerger_5_input_rt2044.334.dta FileMerger_5_input_rt889.32.dta -raw:rt_filename -raw:ms_level 2 -out FileMerger_5.tmp > TOPP_FileMerger_5.stdout 2> TOPP_FileMerger_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_5.stdout)";fi
+FileMerger -test -in FileMerger_6_input1.mzML FileMerger_6_input2.mzML -out FileMerger_6.tmp > TOPP_FileMerger_6.stdout 2> TOPP_FileMerger_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_6.stdout)";fi
+FileMerger -test -in FileMerger_7_input1.featureXML FileMerger_7_input2.featureXML -out FileMerger_7.tmp > TOPP_FileMerger_7.stdout 2> TOPP_FileMerger_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_7.stdout)";fi
+FileMerger -test -in FileMerger_8_input1.consensusXML FileMerger_8_input2.consensusXML -out FileMerger_8.tmp > TOPP_FileMerger_8.stdout 2> TOPP_FileMerger_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_8.stdout)";fi
+FileMerger -test -in FileMerger_9_input1.traML FileMerger_9_input2.traML -out FileMerger_9.tmp > TOPP_FileMerger_9.stdout 2> TOPP_FileMerger_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_9.stdout)";fi
+FileMerger -test -in FileMerger_6_input2.mzML FileMerger_6_input2.mzML -out FileMerger_10_output.tmp -rt_concat:gap 10.0 -rt_concat:trafo_out FileMerger_10_trafo1.tmp FileMerger_10_trafo2.tmp > TOPP_FileMerger_10.stdout 2> TOPP_FileMerger_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_10.stdout)";fi
+FileMerger -test -in FileMerger_8_input1.consensusXML FileMerger_8_input2.consensusXML -append_method append_cols -out FileMerger_11.tmp > TOPP_FileMerger_11.stdout 2> TOPP_FileMerger_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_11.stdout)";fi
+GNPSExport -test -in_cm GNPSExport_single.consensusXML -in_mzml GNPSExport_mz1.mzML -out GNPSExport_1_out.tmp -output_type full_spectra > TOPP_GNPSExport_1.stdout 2> TOPP_GNPSExport_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_GNPSExport_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_GNPSExport_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_GNPSExport_1.stdout)";fi
+GNPSExport -test -in_cm GNPSExport_single.consensusXML -in_mzml GNPSExport_mz1.mzML -out GNPSExport_2_out.tmp -output_type merged_spectra > TOPP_GNPSExport_2.stdout 2> TOPP_GNPSExport_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_GNPSExport_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_GNPSExport_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_GNPSExport_2.stdout)";fi
+GNPSExport -test -in_cm GNPSExport_merged.consensusXML -in_mzml GNPSExport_mz1.mzML GNPSExport_mz2.mzML -out GNPSExport_3_out.tmp -output_type full_spectra > TOPP_GNPSExport_3.stdout 2> TOPP_GNPSExport_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_GNPSExport_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_GNPSExport_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_GNPSExport_3.stdout)";fi
+GNPSExport -test -in_cm GNPSExport_merged.consensusXML -in_mzml GNPSExport_mz1.mzML GNPSExport_mz2.mzML -out GNPSExport_4_out.tmp > TOPP_GNPSExport_4.stdout 2> TOPP_GNPSExport_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_GNPSExport_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_GNPSExport_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_GNPSExport_4.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_2860_1103_3.mzML -feature:in HighResPrecursorMassCorrector_2860_1103_3.featureXML -out HighResPrecursorMassCorrector_2860_1103_3_out.tmp > TOPP_HighResPrecursorMassCorrector_1.stdout 2> TOPP_HighResPrecursorMassCorrector_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_1.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_1035_1178_4.mzML -feature:in HighResPrecursorMassCorrector_1035_1178_4.featureXML -feature:max_trace 4 -feature:mz_tolerance 10 -out HighResPrecursorMassCorrector_1035_1178_4_out.tmp > TOPP_HighResPrecursorMassCorrector_2.stdout 2> TOPP_HighResPrecursorMassCorrector_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_2.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_2538_1091_2.mzML -feature:in HighResPrecursorMassCorrector_2538_1091_2.featureXML -out HighResPrecursorMassCorrector_2538_1091_2_out.tmp > TOPP_HighResPrecursorMassCorrector_3.stdout 2> TOPP_HighResPrecursorMassCorrector_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_3.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_2810_1091_3.mzML -feature:in HighResPrecursorMassCorrector_2810_1091_3.featureXML -out HighResPrecursorMassCorrector_2810_1091_3_out.tmp > TOPP_HighResPrecursorMassCorrector_4.stdout 2> TOPP_HighResPrecursorMassCorrector_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_4.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_3070_1191_3.mzML -feature:in HighResPrecursorMassCorrector_3070_1191_3.featureXML -out HighResPrecursorMassCorrector_3070_1191_3_out.tmp > TOPP_HighResPrecursorMassCorrector_5.stdout 2> TOPP_HighResPrecursorMassCorrector_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_5.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_6.mzML -highest_intensity_peak:mz_tolerance 0.2 -out HighResPrecursorMassCorrector_6_out.tmp > TOPP_HighResPrecursorMassCorrector_6.stdout 2> TOPP_HighResPrecursorMassCorrector_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_6.stdout)";fi
+IDRTCalibration -test -in IDRTCalibration_1_input.idXML -out IDRTCalibration_1_output.tmp -calibrant_1_input 10 -calibrant_2_input 90 > TOPP_IDRTCalibration_1.stdout 2> TOPP_IDRTCalibration_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRTCalibration_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRTCalibration_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRTCalibration_1.stdout)";fi
+IDRTCalibration -test -in degenerated_empty.idXML -out IDRTCalibration_2_output.tmp -calibrant_1_input 10 -calibrant_2_input 90 > TOPP_IDRTCalibration_2.stdout 2> TOPP_IDRTCalibration_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRTCalibration_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRTCalibration_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRTCalibration_2.stdout)";fi
+IDMassAccuracy -test -in spectra.mzML -id_in MSGFPlusAdapter_1_out.idXML -number_of_bins 10 -out_fragment IDMassAccuracy_1_out_fragment.tsv -out_fragment_fit IDMassAccuracy_1_out_fragment_fit.tsv -out_precursor IDMassAccuracy_1_out_precursor.tsv -out_precursor_fit IDMassAccuracy_1_out_precursor_fit.tsv > TOPP_IDMassAccuracy_1.stdout 2> TOPP_IDMassAccuracy_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMassAccuracy_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMassAccuracy_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMassAccuracy_1.stdout)";fi
+IsobaricAnalyzer -test -in IsobaricAnalyzer_input_1.mzML -ini IsobaricAnalyzer.ini -out IsobaricAnalyzer_output_1.tmp > TOPP_IsobaricAnalyzer_1.stdout 2> TOPP_IsobaricAnalyzer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IsobaricAnalyzer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IsobaricAnalyzer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IsobaricAnalyzer_1.stdout)";fi
+IsobaricAnalyzer -test -in TMTTenPlexMethod_test.mzML -ini TMTTenPlexMethod_test.ini -out TMTTenPlexMethod_output.tmp > TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1.stdout 2> TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1.stdout)";fi
+IsobaricAnalyzer -test -in TMTTenPlexMethod_test.mzML -ini TMTElevenPlexMethod_test.ini -out TMTElevenPlexMethod_output.tmp > TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1.stdout 2> TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1.stdout)";fi
+IsobaricAnalyzer -test -in MS3_nonHierarchical.mzML -extraction:select_activation "Collision-induced dissociation" -type tmt10plex -out MS3TMT10Plex_output.tmp > TOPP_IsobaricAnalyzer_MS3TMT10Plex_1.stdout 2> TOPP_IsobaricAnalyzer_MS3TMT10Plex_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IsobaricAnalyzer_MS3TMT10Plex_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IsobaricAnalyzer_MS3TMT10Plex_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IsobaricAnalyzer_MS3TMT10Plex_1.stdout)";fi
+IDConflictResolver -test -in IDConflictResolver_1_input.featureXML -out IDConflictResolver_1_output.tmp > TOPP_IDConflictResolver_1.stdout 2> TOPP_IDConflictResolver_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDConflictResolver_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDConflictResolver_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDConflictResolver_1.stdout)";fi
+IDConflictResolver -test -in IDConflictResolver_2_input.consensusXML -out IDConflictResolver_2_output.tmp > TOPP_IDConflictResolver_2.stdout 2> TOPP_IDConflictResolver_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDConflictResolver_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDConflictResolver_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDConflictResolver_2.stdout)";fi
+IDConflictResolver -test -in IDConflictResolver_3_input.consensusXML -out IDConflictResolver_3_output.tmp > TOPP_IDConflictResolver_3.stdout 2> TOPP_IDConflictResolver_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDConflictResolver_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDConflictResolver_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDConflictResolver_3.stdout)";fi
+IDConflictResolver -test -in IDConflictResolver_4_input.featureXML -resolve_between_features highest_intensity -out IDConflictResolver_4.tmp > TOPP_IDConflictResolver_4.stdout 2> TOPP_IDConflictResolver_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDConflictResolver_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDConflictResolver_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDConflictResolver_4.stdout)";fi
+IDFileConverter -test -in IDFileConverter_1_input1.mascotXML -mz_file IDFileConverter_1_input2.mzML -out IDFileConverter_1_output.tmp -out_type idXML > TOPP_IDFileConverter_1.stdout 2> TOPP_IDFileConverter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_1.stdout)";fi
+IDFileConverter -test -in PepXMLFile_test.pepxml -mz_file PepXMLFile_test.mzML -mz_name PepXMLFile_test -out IDFileConverter_2_output.tmp -out_type idXML > TOPP_IDFileConverter_2.stdout 2> TOPP_IDFileConverter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_2.stdout)";fi
+IDFileConverter -test -in IDFileConverter_3_input.protXML -out IDFileConverter_3_output.tmp -out_type idXML > TOPP_IDFileConverter_3.stdout 2> TOPP_IDFileConverter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_3.stdout)";fi
+IDFileConverter -test -in IDFileConverter_1_input1.mascotXML -mz_file IDFileConverter_1_input2.mzML -out IDFileConverter_5_output.tmp -ini IDFileConverter_5_parameters.ini > TOPP_IDFileConverter_5.stdout 2> TOPP_IDFileConverter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_5.stdout)";fi
+IDFileConverter -test -in IDFileConverter_6_input1.pepXML -mz_file IDFileConverter_1_input2.mzML -mz_name F025589.dat.mzML -out IDFileConverter_6_output.tmp -out_type idXML > TOPP_IDFileConverter_6.stdout 2> TOPP_IDFileConverter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_6.stdout)";fi
+IDFileConverter -test -in IDFileConverter_7_input1.xml -out IDFileConverter_7_output.tmp -out_type idXML > TOPP_IDFileConverter_7.stdout 2> TOPP_IDFileConverter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_7.stdout)";fi
+IDFileConverter -test -in IDFileConverter_8_input.mzid -out IDFileConverter_8_output.tmp -out_type idXML > TOPP_IDFileConverter_8.stdout 2> TOPP_IDFileConverter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_8.stdout)";fi
+IDFileConverter -test -in IDFileConverter_9_input.idXML -out IDFileConverter_9_output.tmp -out_type mzid > TOPP_IDFileConverter_9.stdout 2> TOPP_IDFileConverter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_9.stdout)";fi
+IDFileConverter -test -in IDFileConverter_10_input.pepXML -out IDFileConverter_10_output.tmp -out_type idXML > TOPP_IDFileConverter_10.stdout 2> TOPP_IDFileConverter_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_10.stdout)";fi
+IDFileConverter -test -in IDFileConverter_11_input.tsv -out IDFileConverter_11_output.tmp -out_type idXML > TOPP_IDFileConverter_11.stdout 2> TOPP_IDFileConverter_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_11.stdout)";fi
+IDFileConverter -test -in IDFileConverter_12_input.psms -out IDFileConverter_12_output.tmp -out_type idXML -score_type qvalue > TOPP_IDFileConverter_12.stdout 2> TOPP_IDFileConverter_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_12.stdout)";fi
+IDFileConverter -test -in IDFileConverter_12_input.psms -out IDFileConverter_13_output.tmp -out_type idXML -score_type PEP > TOPP_IDFileConverter_13.stdout 2> TOPP_IDFileConverter_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_13.stdout)";fi
+IDFileConverter -test -in IDFileConverter_12_input.psms -out IDFileConverter_14_output.tmp -out_type idXML -score_type score > TOPP_IDFileConverter_14.stdout 2> TOPP_IDFileConverter_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_14.stdout)";fi
+IDFileConverter -test -in MSGFPlusAdapter_1_out.mzid -out IDFileConverter_15_output.tmp -out_type idXML -mz_file spectra.mzML > TOPP_IDFileConverter_15.stdout 2> TOPP_IDFileConverter_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_15.stdout)";fi
+IDFileConverter -test -in IDFileConverter_16_input.pepXML -out IDFileConverter_16_output.tmp -out_type idXML > TOPP_IDFileConverter_16.stdout 2> TOPP_IDFileConverter_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_16.stdout)";fi
+IDFileConverter -test -in IDFileConverter_17_input.idXML -out IDFileConverter_17_output.tmp -out_type pepXML > TOPP_IDFileConverter_17.stdout 2> TOPP_IDFileConverter_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_17.stdout)";fi
+IDFileConverter -test -in IDFileConverter_18_input.idXML -out IDFileConverter_18_output.tmp -out_type pepXML > TOPP_IDFileConverter_18.stdout 2> TOPP_IDFileConverter_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_18.stdout)";fi
+IDFileConverter -test -in IDFileConverter_19_input.idXML -out IDFileConverter_19_output.tmp -out_type pepXML > TOPP_IDFileConverter_19.stdout 2> TOPP_IDFileConverter_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_19.stdout)";fi
+IDFileConverter -test -in IDFileConverter_20_input.idXML -out IDFileConverter_20_output.tmp -out_type pepXML > TOPP_IDFileConverter_20.stdout 2> TOPP_IDFileConverter_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_20.stdout)";fi
+IDFileConverter -test -in IDFileConverter_21_input.idXML -out_type idXML -out IDFileConverter_21_output.tmp -mz_file IDMapper_4_input.mzML > TOPP_IDFileConverter_21.stdout 2> TOPP_IDFileConverter_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_21.stdout)";fi
+IDFileConverter -test -in MSGFPlusAdapter_1_out.mzid -out IDFileConverter_22_output.tmp -out_type idXML -mz_file spectra.mzML -add_ionmatch_annotation 0.01 > TOPP_IDFileConverter_22.stdout 2> TOPP_IDFileConverter_22.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_22 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_22.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_22.stdout)";fi
+IDFileConverter -test -in IDFileConverter_23_input.mzid -out IDFileConverter_23_output.tmp -out_type idXML > TOPP_IDFileConverter_23.stdout 2> TOPP_IDFileConverter_23.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_23 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_23.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_23.stdout)";fi
+IDFileConverter -test -in IDFileConverter_24_input.pep.xml -out IDFileConverter_24_output.tmp -out_type idXML > TOPP_IDFileConverter_24.stdout 2> TOPP_IDFileConverter_24.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_24 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_24.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_24.stdout)";fi
+IDFileConverter -test -in IDFileConverter_25_input.idXML -out IDFileConverter_25_output.tmp -out_type pepXML > TOPP_IDFileConverter_25.stdout 2> TOPP_IDFileConverter_25.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_25 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_25.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_25.stdout)";fi
+IDFileConverter -test -in IDFileConverter_26_input.mzid -out IDFileConverter_26_output.tmp -out_type idXML > TOPP_IDFileConverter_26.stdout 2> TOPP_IDFileConverter_26.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_26 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_26.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_26.stdout)";fi
+IDFilter -test -in IDFilter_1_input.idXML -out IDFilter_1_output.tmp -whitelist:proteins IDFilter_1_input.fas > TOPP_IDFilter_1.stdout 2> TOPP_IDFilter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_1.stdout)";fi
+IDFilter -test -in IDFilter_3_input.idXML -out IDFilter_3_output.tmp -blacklist:peptides IDFilter_3_2_input.idXML > TOPP_IDFilter_3.stdout 2> TOPP_IDFilter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_3.stdout)";fi
+IDFilter -test -in IDFilter_4_input.idXML -out IDFilter_4_output.tmp -rt:p_value 0.08 > TOPP_IDFilter_4.stdout 2> TOPP_IDFilter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_4.stdout)";fi
+IDFilter -test -in IDFilter_5_input.idXML -out IDFilter_5_output.tmp -score:pep 32 -score:prot 25 > TOPP_IDFilter_5.stdout 2> TOPP_IDFilter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_5.stdout)";fi
+IDFilter -test -in IDFilter_5_input.idXML -out IDFilter_5a_output.tmp -score:pep 32  > TOPP_IDFilter_5a.stdout 2> TOPP_IDFilter_5a.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_5a failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_5a.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_5a.stdout)";fi
+IDFilter -test -in IDFilter_5_input.idXML -out IDFilter_5b_output.tmp -score:prot 25 > TOPP_IDFilter_5b.stdout 2> TOPP_IDFilter_5b.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_5b failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_5b.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_5b.stdout)";fi
+IDFilter -test -in IDFilter_5_input.idXML -out IDFilter_5c_output.tmp -score:prot 25 -delete_unreferenced_peptide_hits > TOPP_IDFilter_5c.stdout 2> TOPP_IDFilter_5c.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_5c failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_5c.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_5c.stdout)";fi
+IDFilter -test -in IDFilter_6_input.idXML -out IDFilter_6_output.tmp -best:n_peptide_hits 2 -best:n_protein_hits 10 > TOPP_IDFilter_6.stdout 2> TOPP_IDFilter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_6.stdout)";fi
+IDFilter -test -in IDFilter_7_input.idXML -out IDFilter_7_output.tmp -remove_duplicate_psm > TOPP_IDFilter_7.stdout 2> TOPP_IDFilter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_7.stdout)";fi
+IDFilter -test -in IDFilter_8_input.idXML -out IDFilter_8_output.tmp -precursor:rt 200:350 -precursor:mz 999:1000 > TOPP_IDFilter_8.stdout 2> TOPP_IDFilter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_8.stdout)";fi
+IDFilter -test -in IDFilter_9_input.idXML -out IDFilter_9_output.tmp -score:pep 0.05 > TOPP_IDFilter_9.stdout 2> TOPP_IDFilter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_9.stdout)";fi
+IDFilter -test -in IDFilter_10_input.idXML -out IDFilter_10_output.tmp -score:prot 0.3 -delete_unreferenced_peptide_hits > TOPP_IDFilter_10.stdout 2> TOPP_IDFilter_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_10.stdout)";fi
+IDFilter -test -in IDFilter_11_input.idXML -out IDFilter_11_output.tmp -remove_decoys -delete_unreferenced_peptide_hits > TOPP_IDFilter_11.stdout 2> TOPP_IDFilter_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_11.stdout)";fi
+IDFilter -test -in IDFilter_12_input.idXML -out IDFilter_12_output.tmp -in_silico_digestion:fasta IDFilter_12_input.fasta > TOPP_IDFilter_12.stdout 2> TOPP_IDFilter_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_12.stdout)";fi
+IDFilter -test -in IDFilter_13_input.idXML -out IDFilter_13_output.tmp -in_silico_digestion:fasta IDFilter_13_input.fasta -in_silico_digestion:missed_cleavages 1 > TOPP_IDFilter_13.stdout 2> TOPP_IDFilter_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_13.stdout)";fi
+IDFilter -test -in IDFilter_14_input.idXML -out IDFilter_14_output.tmp -in_silico_digestion:fasta IDFilter_14_input.fasta -in_silico_digestion:enzyme Trypsin/P -in_silico_digestion:missed_cleavages 1 > TOPP_IDFilter_14.stdout 2> TOPP_IDFilter_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_14.stdout)";fi
+IDFilter -test -in IDFilter_15_input.idXML -out IDFilter_15_output.tmp -in_silico_digestion:fasta IDFilter_15_input.fasta -in_silico_digestion:enzyme Trypsin/P -in_silico_digestion:missed_cleavages 1 -in_silico_digestion:specificity semi > TOPP_IDFilter_15.stdout 2> TOPP_IDFilter_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_15.stdout)";fi
+IDFilter -test -in IDFilter_16_input.idXML -out IDFilter_16_output.tmp -in_silico_digestion:fasta IDFilter_16_input.fasta -in_silico_digestion:enzyme Trypsin/P -in_silico_digestion:missed_cleavages 1 -in_silico_digestion:methionine_cleavage > TOPP_IDFilter_16.stdout 2> TOPP_IDFilter_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_16.stdout)";fi
+IDFilter -test -in IDFilter_missed_cleavages_input.idXML -out IDFilter_17_output.tmp -missed_cleavages:enzyme Lys-N -missed_cleavages:number_of_missed_cleavages :2 > TOPP_IDFilter_17.stdout 2> TOPP_IDFilter_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_17.stdout)";fi
+IDFilter -test -in IDFilter_missed_cleavages_input.idXML -out IDFilter_18_output.tmp -missed_cleavages:enzyme Lys-N -missed_cleavages:number_of_missed_cleavages 2: > TOPP_IDFilter_18.stdout 2> TOPP_IDFilter_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_18.stdout)";fi
+IDFilter -test -in IDFilter_missed_cleavages_input.idXML -out IDFilter_19_output.tmp -missed_cleavages:enzyme Lys-N -missed_cleavages:number_of_missed_cleavages 1:3 > TOPP_IDFilter_19.stdout 2> TOPP_IDFilter_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_19.stdout)";fi
+IDFilter -test -in IDFilter_missed_cleavages_input.idXML -out IDFilter_20_output.tmp -missed_cleavages:number_of_missed_cleavages 1:0 > TOPP_IDFilter_20.stdout 2> TOPP_IDFilter_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_20.stdout)";fi
+IDFilter -test -in IDFilter_16_input.idXML -out IDFilter_21_output.tmp -remove_peptide_hits_by_metavalue "calcMZ" "gt" "750.0" > TOPP_IDFilter_21.stdout 2> TOPP_IDFilter_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_21.stdout)";fi
+IDFilter -test -in IDFilter_16_input.idXML -out IDFilter_22_output.tmp -remove_peptide_hits_by_metavalue "end" "ne" "23" > TOPP_IDFilter_22.stdout 2> TOPP_IDFilter_22.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_22 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_22.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_22.stdout)";fi
+MapAlignerPoseClustering -test -ini MapAlignerPoseClustering_1_parameters.ini -in MapAlignerPoseClustering_1_input1.featureXML MapAlignerPoseClustering_1_input2.featureXML MapAlignerPoseClustering_1_input3.featureXML -out MapAlignerPoseClustering_1_output1.tmp MapAlignerPoseClustering_1_output2.tmp MapAlignerPoseClustering_1_output3.tmp -trafo_out MapAlignerPoseClustering_1_trafo1.tmp MapAlignerPoseClustering_1_trafo2.tmp MapAlignerPoseClustering_1_trafo3.tmp > TOPP_MapAlignerPoseClustering_1.stdout 2> TOPP_MapAlignerPoseClustering_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerPoseClustering_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerPoseClustering_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerPoseClustering_1.stdout)";fi
+MapAlignerPoseClustering -test -ini MapAlignerPoseClustering_2_parameters.ini -in MapAlignerPoseClustering_2_input1.mzML MapAlignerPoseClustering_2_input2.mzML MapAlignerPoseClustering_2_input3.mzML -out MapAlignerPoseClustering_2_output1.tmp MapAlignerPoseClustering_2_output2.tmp MapAlignerPoseClustering_2_output3.tmp > TOPP_MapAlignerPoseClustering_2.stdout 2> TOPP_MapAlignerPoseClustering_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerPoseClustering_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerPoseClustering_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerPoseClustering_2.stdout)";fi
+MapAlignerPoseClustering -test -ini MapAlignerPoseClustering_1_parameters.ini -in MapAlignerPoseClustering_1_input2.featureXML MapAlignerPoseClustering_1_input3.featureXML -out MapAlignerPoseClustering_3_output1.tmp MapAlignerPoseClustering_3_output2.tmp -reference:file MapAlignerPoseClustering_1_input1.featureXML > TOPP_MapAlignerPoseClustering_3.stdout 2> TOPP_MapAlignerPoseClustering_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerPoseClustering_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerPoseClustering_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerPoseClustering_3.stdout)";fi
+MapAlignerPoseClustering -test -ini MapAlignerPoseClustering_1_parameters.ini -in MapAlignerPoseClustering_1_input1.featureXML MapAlignerPoseClustering_1_input2.featureXML -trafo_out MapAlignerPoseClustering_4_trafo1.tmp MapAlignerPoseClustering_4_trafo2.tmp -reference:index 2 > TOPP_MapAlignerPoseClustering_4.stdout 2> TOPP_MapAlignerPoseClustering_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerPoseClustering_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerPoseClustering_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerPoseClustering_4.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_1_input1.featureXML MapAlignerIdentification_1_input2.featureXML -out MapAlignerIdentification_1_output1.tmp MapAlignerIdentification_1_output2.tmp > TOPP_MapAlignerIdentification_1.stdout 2> TOPP_MapAlignerIdentification_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_1.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_1_input1.featureXML -out MapAlignerIdentification_2_output1.tmp -reference:file MapAlignerIdentification_1_input2.featureXML > TOPP_MapAlignerIdentification_2.stdout 2> TOPP_MapAlignerIdentification_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_2.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_1_input2.featureXML MapAlignerIdentification_1_input1.featureXML -out MapAlignerIdentification_3_output1.tmp MapAlignerIdentification_3_output2.tmp -reference:index 1 > TOPP_MapAlignerIdentification_3.stdout 2> TOPP_MapAlignerIdentification_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_3.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in  MapAlignerIdentification_1_input1.featureXML MapAlignerIdentification_1_input2.featureXML -out MapAlignerIdentification_4_output1.tmp MapAlignerIdentification_4_output2.tmp -reference:index 2 > TOPP_MapAlignerIdentification_4.stdout 2> TOPP_MapAlignerIdentification_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_4.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_5_input1.consensusXML MapAlignerIdentification_5_input2.consensusXML -out MapAlignerIdentification_5_output1.tmp MapAlignerIdentification_5_output2.tmp > TOPP_MapAlignerIdentification_5.stdout 2> TOPP_MapAlignerIdentification_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_5.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_1_input1.featureXML -trafo_out MapAlignerIdentification_6_output1.tmp -reference:file MapAlignerIdentification_1_input2.featureXML > TOPP_MapAlignerIdentification_6.stdout 2> TOPP_MapAlignerIdentification_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_6.stdout)";fi
+MapAlignerSpectrum -test -ini MapAlignerSpectrum_parameters.ini -in MapAlignerSpectrum_1_input1.mzML MapAlignerSpectrum_1_input2.mzML MapAlignerSpectrum_1_input3.mzML -out MapAlignerSpectrum_1_output1.tmp MapAlignerSpectrum_1_output2.tmp MapAlignerSpectrum_1_output3.tmp > TOPP_MapAlignerSpectrum_1.stdout 2> TOPP_MapAlignerSpectrum_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerSpectrum_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerSpectrum_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerSpectrum_1.stdout)";fi
+MapAlignerTreeGuided -test -ini MapAlignerTreeGuided_parameters.ini -in MapAlignerTreeGuided_1_input1.featureXML MapAlignerTreeGuided_1_input2.featureXML MapAlignerTreeGuided_1_input3.featureXML -out MapAlignerTreeGuided_1_output1.tmp MapAlignerTreeGuided_1_output2.tmp MapAlignerTreeGuided_1_output3.tmp > TOPP_MapAlignerTreeGuided_1.stdout 2> TOPP_MapAlignerTreeGuided_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerTreeGuided_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerTreeGuided_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerTreeGuided_1.stdout)";fi
+MapAlignerTreeGuided -test -ini MapAlignerTreeGuided_parameters.ini -in MapAlignerTreeGuided_1_input1.featureXML MapAlignerTreeGuided_1_input2.featureXML MapAlignerTreeGuided_1_input3.featureXML -trafo_out MapAlignerTreeGuided_2_output1.tmp MapAlignerTreeGuided_2_output2.tmp MapAlignerTreeGuided_2_output3.tmp > TOPP_MapAlignerTreeGuided_2.stdout 2> TOPP_MapAlignerTreeGuided_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerTreeGuided_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerTreeGuided_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerTreeGuided_2.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_1_input.featureXML -trafo_in MapRTTransformer_trafo_linear.trafoXML -out MapRTTransformer_1_output.tmp > TOPP_MapRTTransformer_1.stdout 2> TOPP_MapRTTransformer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_1.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_2_input.mzML -trafo_in MapRTTransformer_trafo_linear.trafoXML -out MapRTTransformer_2_output.tmp > TOPP_MapRTTransformer_2.stdout 2> TOPP_MapRTTransformer_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_2.stdout)";fi
+MapRTTransformer -test -invert -trafo_in MapAlignerPoseClustering_1_trafo2.trafoXML -trafo_out MapRTTransformer_3_output.tmp > TOPP_MapRTTransformer_3.stdout 2> TOPP_MapRTTransformer_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_3.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_4_input.chrom.mzML -trafo_in MapRTTransformer_trafo_linear.trafoXML -out MapRTTransformer_4_output.tmp > TOPP_MapRTTransformer_4.stdout 2> TOPP_MapRTTransformer_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_4.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_1_input.featureXML -trafo_in MapRTTransformer_trafo_none.trafoXML -out MapRTTransformer_5_output.tmp > TOPP_MapRTTransformer_5.stdout 2> TOPP_MapRTTransformer_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_5.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_1_input.featureXML -trafo_in MapRTTransformer_trafo_linear.trafoXML -out MapRTTransformer_6_output.tmp -store_original_rt > TOPP_MapRTTransformer_6.stdout 2> TOPP_MapRTTransformer_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_6.stdout)";fi
+MetaProSIP -test -in_mzML MetaProSIP_1_input.mzML -in_fasta MetaProSIP_1_input.fasta -in_featureXML MetaProSIP_1_input.featureXML -out_csv MetaProSIP_1_output_1.tmp -out_peptide_centric_csv MetaProSIP_1_output_2.tmp > TOPP_MetaProSIP_1.stdout 2> TOPP_MetaProSIP_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MetaProSIP_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MetaProSIP_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MetaProSIP_1.stdout)";fi
+MascotAdapter -test -ini MascotAdapter_1_parameters.ini -mascot_in -in MascotAdapter_1_input.mzData > TOPP_MascotAdapter_1.stdout 2> TOPP_MascotAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MascotAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MascotAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MascotAdapter_1.stdout)";fi
+MascotAdapter -test -in MascotAdapter_2_input.mascotXML -out MascotAdapter_2_output.tmp -mascot_out > TOPP_MascotAdapter_2.stdout 2> TOPP_MascotAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MascotAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MascotAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MascotAdapter_2.stdout)";fi
+MSstatsConverter -test -in MSstatsConverter_1_in.consensusXML -retention_time_summarization_method max -in_design MSstatsConverter_1_design.tsv -out MSstatsConverter_1_out.tmp > TOPP_MSstatsConverter_1.stdout 2> TOPP_MSstatsConverter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSstatsConverter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSstatsConverter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSstatsConverter_1.stdout)";fi
+MSstatsConverter -test -in MSstatsConverter_2_in.consensusXML -method "ISO" -retention_time_summarization_method manual -in_design MSstatsConverter_2_design.tsv -out MSstatsConverter_2_out.tmp -msstats_bioreplicate MSstats_BioReplicate -msstats_condition MSstats_Condition -msstats_mixture MSstats_Mixture > TOPP_MSstatsConverter_2.stdout 2> TOPP_MSstatsConverter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSstatsConverter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSstatsConverter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSstatsConverter_2.stdout)";fi
+MSstatsConverter -test -in MSstatsConverter_3_in.consensusXML -method "ISO" -retention_time_summarization_method manual -in_design MSstatsConverter_3_design.tsv -out MSstatsConverter_3_out.tmp -msstats_bioreplicate MSstats_BioReplicate -msstats_condition MSstats_Condition -msstats_mixture MSstats_Mixture > TOPP_MSstatsConverter_3.stdout 2> TOPP_MSstatsConverter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSstatsConverter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSstatsConverter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSstatsConverter_3.stdout)";fi
+SpecLibSearcher -test -ini SpecLibSearcher_1_parameters.ini -in SpecLibSearcher_1.mzML -lib SpecLibSearcher_1.MSP -out SpecLibSearcher_1.tmp > TOPP_SpecLibSearcher_1.stdout 2> TOPP_SpecLibSearcher_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpecLibSearcher_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpecLibSearcher_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpecLibSearcher_1.stdout)";fi
+OpenSwathAssayGenerator -test -in OpenSwathAssayGenerator_input.TraML -out OpenSwathAssayGenerator_output.TraML.tmp -out_type TraML -min_transitions 6 -max_transitions 6 -allowed_fragment_types b,y -allowed_fragment_charges 2,3 -enable_detection_specific_losses > TOPP_OpenSwathAssayGenerator_test_1.stdout 2> TOPP_OpenSwathAssayGenerator_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAssayGenerator_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAssayGenerator_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAssayGenerator_test_1.stdout)";fi
+OpenSwathAssayGenerator -test -in OpenSwathAssayGenerator_input_2.TraML -out OpenSwathAssayGenerator_output_2.TraML.tmp -out_type TraML -allowed_fragment_charges 1,2,3,4 -enable_ipf -unimod_file OpenSwathAssayGenerator_input_2_unimod.xml > TOPP_OpenSwathAssayGenerator_test_2.stdout 2> TOPP_OpenSwathAssayGenerator_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAssayGenerator_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAssayGenerator_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAssayGenerator_test_2.stdout)";fi
+OpenSwathAssayGenerator -test -in OpenSwathAssayGenerator_input_2.TraML -out OpenSwathAssayGenerator_output_3.TraML.tmp -out_type TraML -allowed_fragment_charges 1,2,3,4 -enable_ipf -unimod_file OpenSwathAssayGenerator_input_3_unimod.xml > TOPP_OpenSwathAssayGenerator_test_3.stdout 2> TOPP_OpenSwathAssayGenerator_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAssayGenerator_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAssayGenerator_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAssayGenerator_test_3.stdout)";fi
+OpenSwathDecoyGenerator -test -in OpenSwathDecoyGenerator_input.TraML -out OpenSwathDecoyGenerator.TraML.tmp -out_type TraML -method pseudo-reverse -separate -switchKR false > TOPP_OpenSwathDecoyGenerator_test_1.stdout 2> TOPP_OpenSwathDecoyGenerator_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathDecoyGenerator_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathDecoyGenerator_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathDecoyGenerator_test_1.stdout)";fi
+OpenSwathDecoyGenerator -test -in OpenSwathDecoyGenerator_input_2.TraML -out OpenSwathDecoyGenerator_2.TraML.tmp -out_type TraML -method pseudo-reverse -product_mz_threshold 0.8 -switchKR false > TOPP_OpenSwathDecoyGenerator_test_2.stdout 2> TOPP_OpenSwathDecoyGenerator_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathDecoyGenerator_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathDecoyGenerator_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathDecoyGenerator_test_2.stdout)";fi
+OpenSwathDecoyGenerator -test -in OpenSwathDecoyGenerator_input_3.TraML -out OpenSwathDecoyGenerator_3.TraML.tmp -out_type TraML -method pseudo-reverse -separate -switchKR false > TOPP_OpenSwathDecoyGenerator_test_3.stdout 2> TOPP_OpenSwathDecoyGenerator_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathDecoyGenerator_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathDecoyGenerator_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathDecoyGenerator_test_3.stdout)";fi
+OpenSwathDecoyGenerator -test -in OpenSwathDecoyGenerator_input_4.tsv -out OpenSwathDecoyGenerator_4.TraML.tmp -out_type TraML -method pseudo-reverse -separate -switchKR true -enable_detection_unspecific_losses  -enable_detection_specific_losses -min_decoy_fraction 0.4 > TOPP_OpenSwathDecoyGenerator_test_4.stdout 2> TOPP_OpenSwathDecoyGenerator_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathDecoyGenerator_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathDecoyGenerator_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathDecoyGenerator_test_4.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_1_input.tsv -out ConvertTSVToTraML_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_1.stdout 2> TOPP_ConvertTSVToTraML_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_1.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_2_input.tsv -out ConvertTSVToTraML_2_output.TraML.tmp -algorithm:retentionTimeInterpretation minutes -out_type TraML > TOPP_ConvertTSVToTraML_test_2.stdout 2> TOPP_ConvertTSVToTraML_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_2.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_2_input.tsv -out ConvertTSVToTraML_3_output.TraML.tmp -algorithm:retentionTimeInterpretation seconds -out_type TraML > TOPP_ConvertTSVToTraML_test_3.stdout 2> TOPP_ConvertTSVToTraML_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_3.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_4_input.mrm -out ConvertTSVToTraML_4_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_4.stdout 2> TOPP_ConvertTSVToTraML_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_4.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_5_input.tsv -out ConvertTSVToTraML_5_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_5.stdout 2> TOPP_ConvertTSVToTraML_test_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_5.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_6_input.tsv -out ConvertTSVToTraML_6_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_6.stdout 2> TOPP_ConvertTSVToTraML_test_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_6.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_7_input_Skyline.tsv -out ConvertTSVToTraML_7_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_7.stdout 2> TOPP_ConvertTSVToTraML_test_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_7.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_1_input.TraML -out TargetedFileConverter_1_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_1_prepare.stdout 2> TOPP_TargetedFileConverter_test_1_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_1_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_1_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_1_prepare.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_1_output.pqp.tmp -in_type pqp -out TargetedFileConverter_1_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_1.stdout 2> TOPP_TargetedFileConverter_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_1.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_1_output.pqp.tmp -in_type pqp -out TargetedFileConverter_2_output.TraML.tmp -out_type TraML -legacy_traml_id > TOPP_TargetedFileConverter_test_2.stdout 2> TOPP_TargetedFileConverter_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_2.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_3_input.TraML -out TargetedFileConverter_3_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_3_prepare.stdout 2> TOPP_TargetedFileConverter_test_3_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_3_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_3_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_3_prepare.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_3_output.pqp.tmp -in_type pqp -out TargetedFileConverter_3_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_3.stdout 2> TOPP_TargetedFileConverter_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_3.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_3_output.pqp.tmp -in_type pqp -out TargetedFileConverter_4_output.TraML.tmp -out_type TraML -legacy_traml_id > TOPP_TargetedFileConverter_test_4.stdout 2> TOPP_TargetedFileConverter_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_4.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_10_input.pqp  -out TargetedFileConverter_10_output.TraML.tmp -out_type TraML -legacy_traml_id > TOPP_TargetedFileConverter_test_10_prepare.stdout 2> TOPP_TargetedFileConverter_test_10_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_10_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_10_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_10_prepare.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_10_output.TraML.tmp -in_type TraML -out TargetedFileConverter_10_output.tsv.tmp -out_type tsv > TOPP_TargetedFileConverter_test_10.stdout 2> TOPP_TargetedFileConverter_test_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_10.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_11_input.TraML -out TargetedFileConverter_11_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_11_prepare.stdout 2> TOPP_TargetedFileConverter_test_11_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_11_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_11_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_11_prepare.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_11_output.pqp.tmp -in_type pqp -out TargetedFileConverter_11_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_11.stdout 2> TOPP_TargetedFileConverter_test_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_11.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_8_input.tsv -out TargetedFileConverter_8_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_8_prepare.stdout 2> TOPP_TargetedFileConverter_test_8_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_8_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_8_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_8_prepare.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_8_output.TraML.tmp -in_type TraML -out TargetedFileConverter_8_output.tsv.tmp -out_type tsv > TOPP_TargetedFileConverter_test_8.stdout 2> TOPP_TargetedFileConverter_test_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_8.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_9_input.TraML -out TargetedFileConverter_9_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_9_prepare.stdout 2> TOPP_TargetedFileConverter_test_9_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_9_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_9_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_9_prepare.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_9_output.pqp.tmp -in_type pqp -out TargetedFileConverter_9_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_9.stdout 2> TOPP_TargetedFileConverter_test_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_9.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_output.TraML -out ConvertTraMLToTSV_output.tmp.tsv -out_type tsv > TOPP_TargetedFileConverter_test_5.stdout 2> TOPP_TargetedFileConverter_test_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_5.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_12_input.TraML -out TargetedFileConverter_12_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_12_prepare.stdout 2> TOPP_TargetedFileConverter_test_12_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_12_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_12_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_12_prepare.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_12_output.pqp.tmp -in_type pqp -out TargetedFileConverter_12_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_12.stdout 2> TOPP_TargetedFileConverter_test_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_12.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_12_input.tsv -out TargetedFileConverter_13_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_13.stdout 2> TOPP_TargetedFileConverter_test_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_13.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_5_output.TraML -out ConvertTraMLToTSV_output_2.tmp.tsv -out_type tsv > TOPP_TargetedFileConverter_test_6.stdout 2> TOPP_TargetedFileConverter_test_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_6.stdout)";fi
+TargetedFileConverter -test -in ConvertTraMLToTSV_output_2.tmp.tsv -in_type tsv -out ConvertTraMLToTSV_output_2.tsv.back.tmp -out_type TraML > TOPP_TargetedFileConverter_test_6_convert_back.stdout 2> TOPP_TargetedFileConverter_test_6_convert_back.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_6_convert_back failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_6_convert_back.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_6_convert_back.stdout)";fi
+MRMMapper -in MRMMapping_input.chrom.mzML -tr MRMMapping_input.TraML -out MRMMapping_output_1.chrom.mzML.tmp -test -algorithm:precursor_tolerance 0.3 -algorithm:product_tolerance 0.3 > TOPP_MRMMapper_test_1.stdout 2> TOPP_MRMMapper_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MRMMapper_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MRMMapper_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MRMMapper_test_1.stdout)";fi
+MRMMapper -in MRMMapping_input.chrom.mzML -tr MRMMapping_input_2.TraML -out MRMMapping_output_2.chrom.mzML.tmp -test -algorithm:precursor_tolerance 0.01 -algorithm:product_tolerance 0.01 > TOPP_MRMMapper_test_2.stdout 2> TOPP_MRMMapper_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MRMMapper_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MRMMapper_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MRMMapper_test_2.stdout)";fi
+OpenSwathFeatureXMLToTSV -in OpenSwathFeatureXMLToTSV_input.featureXML -tr OpenSwathFeatureXMLToTSV_input.TraML -out OpenSwathFeatureXMLToTSV_output.short.csv.tmp -short_format -test > TOPP_OpenSwathFeatureXMLToTSV_test_1.stdout 2> TOPP_OpenSwathFeatureXMLToTSV_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathFeatureXMLToTSV_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_1.stdout)";fi
+OpenSwathFeatureXMLToTSV -in OpenSwathFeatureXMLToTSV_input.featureXML -tr OpenSwathFeatureXMLToTSV_input.TraML -out OpenSwathFeatureXMLToTSV_output.long.csv.tmp -test > TOPP_OpenSwathFeatureXMLToTSV_test_2.stdout 2> TOPP_OpenSwathFeatureXMLToTSV_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathFeatureXMLToTSV_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_2.stdout)";fi
+OpenSwathFeatureXMLToTSV -in OpenSwathFeatureXMLToTSV_input.featureXML -tr OpenSwathFeatureXMLToTSV_input.TraML -out OpenSwathFeatureXMLToTSV_3_output.short.csv.tmp -short_format -best_scoring_peptide main_var_xx_lda_prelim_score -test > TOPP_OpenSwathFeatureXMLToTSV_test_3.stdout 2> TOPP_OpenSwathFeatureXMLToTSV_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathFeatureXMLToTSV_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_3.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_input.mzML -tr OpenSwathChromatogramExtractor_input.TraML -out OpenSwathChromatogramExtractor_output.mzML.tmp -test > TOPP_OpenSwathChromatogramExtractor_test_1.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_1.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_input.mzML -tr OpenSwathChromatogramExtractor_input.TraML -rt_norm OpenSwathChromatogramExtractor_input.trafoXML -out OpenSwathChromatogramExtractor_output_2.mzML.tmp -test -rt_window 50 > TOPP_OpenSwathChromatogramExtractor_test_2.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_2.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_input.mzML -tr OpenSwathChromatogramExtractor_input.TraML -out OpenSwathChromatogramExtractor_output_3.mzML.tmp -test -extract_MS1 > TOPP_OpenSwathChromatogramExtractor_test_3.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_3.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_4_input.mzML -tr OpenSwathChromatogramExtractor_4_input.TraML -out OpenSwathChromatogramExtractor_output_4.mzML.tmp -ion_mobility_window 0.05 -is_swath -test > TOPP_OpenSwathChromatogramExtractor_test_4.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_4.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_input.mzML -tr OpenSwathChromatogramExtractor_5_input.TraML -out OpenSwathChromatogramExtractor_5_output.mzML.tmp -test -extract_MS1 > TOPP_OpenSwathChromatogramExtractor_test_5.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_5.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_1_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -test > TOPP_OpenSwathAnalyzer_test_1.stdout 2> TOPP_OpenSwathAnalyzer_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_1.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_2_output.featureXML.tmp -swath_files OpenSwathAnalyzer_2_swathfile.mzML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -test > TOPP_OpenSwathAnalyzer_test_2.stdout 2> TOPP_OpenSwathAnalyzer_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_2.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_mod_input.TraML -out OpenSwathAnalyzer_5_output.featureXML.tmp -swath_files OpenSwathAnalyzer_2_swathfile.mzML -ini OpenSwathAnalyzer_5.ini -test > TOPP_OpenSwathAnalyzer_test_5_mod.stdout 2> TOPP_OpenSwathAnalyzer_test_5_mod.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_5_mod failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_5_mod.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_5_mod.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_6_output.featureXML.tmp -swath_files OpenSwathAnalyzer_2_swathfile.mzML -ini OpenSwathAnalyzer_5.ini -test > TOPP_OpenSwathAnalyzer_test_6_nomod.stdout 2> TOPP_OpenSwathAnalyzer_test_6_nomod.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_6_nomod failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_6_nomod.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_6_nomod.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_7_output.featureXML.tmp -ini OpenSwathAnalyzer_7_backgroundSubtraction.ini -test > TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction.stdout 2> TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_8_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -algorithm:Scores:use_ms1_mi -algorithm:Scores:use_mi_score -algorithm:Scores:use_total_mi_score -test > TOPP_OpenSwathAnalyzer_test_8.stdout 2> TOPP_OpenSwathAnalyzer_test_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_8.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_9_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -algorithm:Scores:use_mi_score -test > TOPP_OpenSwathAnalyzer_test_9.stdout 2> TOPP_OpenSwathAnalyzer_test_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_9.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_10_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -algorithm:Scores:use_mi_score -algorithm:Scores:use_total_mi_score -test > TOPP_OpenSwathAnalyzer_test_10.stdout 2> TOPP_OpenSwathAnalyzer_test_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_10.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_11_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -algorithm:Scores:use_total_mi_score -test > TOPP_OpenSwathAnalyzer_test_11.stdout 2> TOPP_OpenSwathAnalyzer_test_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_11.stdout)";fi
+OpenSwathRTNormalizer -in OpenSwathRTNormalizer_1_input.mzML -tr OpenSwathRTNormalizer_1_input.TraML -out OpenSwathRTNormalizer_1_output.trafoXML.tmp -test > TOPP_OpenSwathRTNormalizer_test_1.stdout 2> TOPP_OpenSwathRTNormalizer_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathRTNormalizer_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathRTNormalizer_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathRTNormalizer_test_1.stdout)";fi
+OpenSwathRTNormalizer -in OpenSwathRTNormalizer_1_input.mzML -tr OpenSwathRTNormalizer_1_input.TraML -out OpenSwathRTNormalizer_3_output.trafoXML.tmp -test -estimateBestPeptides -peptideEstimation:NrRTBins 3 -peptideEstimation:MinBinsFilled 3 > TOPP_OpenSwathRTNormalizer_test_3.stdout 2> TOPP_OpenSwathRTNormalizer_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathRTNormalizer_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathRTNormalizer_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathRTNormalizer_test_3.stdout)";fi
+OpenSwathRTNormalizer -in OpenSwathRTNormalizer_1_input.mzML -tr OpenSwathRTNormalizer_1_input.TraML -out OpenSwathRTNormalizer_4_output.trafoXML.tmp -test -RTNormalization:outlierMethod iter_residual > TOPP_OpenSwathRTNormalizer_test_4.stdout 2> TOPP_OpenSwathRTNormalizer_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathRTNormalizer_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathRTNormalizer_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathRTNormalizer_test_4.stdout)";fi
+OpenSwathConfidenceScoring -test -in OpenSwathFeatureXMLToTSV_input.featureXML -lib OpenSwathFeatureXMLToTSV_input.TraML -trafo OpenSwathConfidenceScoring_1_input.trafoXML -transitions 2 -decoys 1 -out OpenSwathConfidenceScoring_1_output.tmp > TOPP_OpenSwathConfidenceScoring_1.stdout 2> TOPP_OpenSwathConfidenceScoring_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathConfidenceScoring_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathConfidenceScoring_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathConfidenceScoring_1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.mzML -out OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML -test > TOPP_OpenSwathMzMLFileCacher_test_1_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_1_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_1_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_1_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_1_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML -out OpenSwathMzMLFileCacher_1_output.tmp.mzML -convert_back -test > TOPP_OpenSwathMzMLFileCacher_test_1_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_1_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_1_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_1_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_1_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_2_input.chrom.mzML -out OpenSwathMzMLFileCacher_2_input.chrom.cached.tmp.mzML -test > TOPP_OpenSwathMzMLFileCacher_test_2_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_2_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_2_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_2_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_2_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_2_input.chrom.cached.tmp.mzML -out OpenSwathMzMLFileCacher_2_output.chrom.tmp.mzML -convert_back -test > TOPP_OpenSwathMzMLFileCacher_test_2_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_2_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_2_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_2_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_2_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.mzML -out OpenSwathMzMLFileCacher_3_input.tmp.sqMass -test -lossy_compression true -lossy_mass_accuracy 1e-4 > TOPP_OpenSwathMzMLFileCacher_test_3_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_3_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_3_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_3_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_3_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_3_input.tmp.sqMass -out OpenSwathMzMLFileCacher_3_output.tmp.mzML -test > TOPP_OpenSwathMzMLFileCacher_test_3_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_3_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_3_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_3_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_3_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_2_input.chrom.mzML -out OpenSwathMzMLFileCacher_4_input.tmp.sqMass -test > TOPP_OpenSwathMzMLFileCacher_test_4_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_4_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_4_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_4_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_4_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_4_input.tmp.sqMass -out OpenSwathMzMLFileCacher_4_output.tmp.mzML -test > TOPP_OpenSwathMzMLFileCacher_test_4_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_4_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_4_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_4_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_4_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.mzML -out OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML -test -process_lowmemory > TOPP_OpenSwathMzMLFileCacher_test_5_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_5_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_5_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_5_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_5_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML -out OpenSwathMzMLFileCacher_1_output.tmp.mzML -convert_back -test > TOPP_OpenSwathMzMLFileCacher_test_5_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_5_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_5_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_5_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_5_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathAnalyzer_2_swathfile.mzML -out OpenSwathAnalyzer_3_swathfile.mzML.cached.tmp -out_type mzML -test > TOPP_OpenSwathAnalyzer_test_3_prepare.stdout 2> TOPP_OpenSwathAnalyzer_test_3_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_3_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_3_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_3_prepare.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out MRMFeatureFinderScore_output_3.featureXML.tmp -swath_files OpenSwathAnalyzer_3_swathfile.mzML.cached.tmp -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -test > TOPP_OpenSwathAnalyzer_test_3.stdout 2> TOPP_OpenSwathAnalyzer_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_3.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathAnalyzer_2_swathfile.mzML -out OpenSwathAnalyzer_4_swathfile.mzML.cached.tmp -out_type mzML -test > TOPP_OpenSwathAnalyzer_test_4_prepare1.stdout 2> TOPP_OpenSwathAnalyzer_test_4_prepare1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_4_prepare1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_4_prepare1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_4_prepare1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathAnalyzer_1_input_chrom.mzML -out OpenSwathAnalyzer_4_input_chrom.mzML.cached.tmp -out_type mzML -test > TOPP_OpenSwathAnalyzer_test_4_prepare2.stdout 2> TOPP_OpenSwathAnalyzer_test_4_prepare2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_4_prepare2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_4_prepare2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_4_prepare2.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_4_input_chrom.mzML.cached.tmp -tr OpenSwathAnalyzer_1_input.TraML -out MRMFeatureFinderScore_output_4.featureXML.tmp -swath_files OpenSwathAnalyzer_4_swathfile.mzML.cached.tmp -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -test > TOPP_OpenSwathAnalyzer_test_4.stdout 2> TOPP_OpenSwathAnalyzer_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_4.stdout)";fi
+MRMTransitionGroupPicker -in MRMTransitionGroupPicker_1_input.mzML -tr MRMTransitionGroupPicker_1_input.TraML -out MRMTransitionGroupPicker_test_1.featureXML.tmp -test -algorithm:PeakPickerMRM:remove_overlapping_peaks true -algorithm:PeakPickerMRM:method legacy -algorithm:PeakPickerMRM:peak_width 40.0 > UTILS_MRMTransitionGroupPicker_test_1.stdout 2> UTILS_MRMTransitionGroupPicker_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MRMTransitionGroupPicker_test_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MRMTransitionGroupPicker_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MRMTransitionGroupPicker_test_1.stdout)";fi
+MRMTransitionGroupPicker -in MRMTransitionGroupPicker_1_input.mzML -tr MRMTransitionGroupPicker_1_input.TraML -out MRMTransitionGroupPicker_test_2.featureXML.tmp -test -algorithm:PeakPickerMRM:remove_overlapping_peaks true -algorithm:PeakPickerMRM:method legacy -algorithm:PeakPickerMRM:peak_width 40.0 -algorithm:compute_total_mi > UTILS_MRMTransitionGroupPicker_test_2.stdout 2> UTILS_MRMTransitionGroupPicker_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MRMTransitionGroupPicker_test_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MRMTransitionGroupPicker_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MRMTransitionGroupPicker_test_2.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_1.chrom.mzML.tmp -out_features OpenSwathWorkflow_1.featureXML.tmp -out_qc OpenSwathWorkflow_1.json.tmp -test > TOPP_OpenSwathWorkflow_1.stdout 2> TOPP_OpenSwathWorkflow_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_1.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_2_input.mzXML -tr OpenSwathWorkflow_2_input.TraML -rt_norm OpenSwathWorkflow_2_input.trafoXML -out_chrom OpenSwathWorkflow_2.chrom.mzML.tmp -out_features OpenSwathWorkflow_2.featureXML.tmp -test > TOPP_OpenSwathWorkflow_2.stdout 2> TOPP_OpenSwathWorkflow_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_2.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_3.chrom.mzML.tmp -out_features OpenSwathWorkflow_3.featureXML.tmp -test -use_ms1_traces > TOPP_OpenSwathWorkflow_3.stdout 2> TOPP_OpenSwathWorkflow_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_3.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_4.chrom.mzML.tmp -out_tsv OpenSwathWorkflow_4.tsv.tmp -test -use_ms1_traces > TOPP_OpenSwathWorkflow_4.stdout 2> TOPP_OpenSwathWorkflow_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_4.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_5.chrom.mzML.tmp -out_features OpenSwathWorkflow_5.featureXML.tmp -test -use_ms1_traces -readOptions cache -tempDirectory "." > TOPP_OpenSwathWorkflow_5.stdout 2> TOPP_OpenSwathWorkflow_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_5.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_6.chrom.mzML.tmp -out_features OpenSwathWorkflow_6.featureXML.tmp -test -use_ms1_traces -readOptions cacheWorkingInMemory -tempDirectory "." > TOPP_OpenSwathWorkflow_6.stdout 2> TOPP_OpenSwathWorkflow_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_6.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_7.chrom.mzML.tmp -out_features OpenSwathWorkflow_7.featureXML.tmp -test -use_ms1_traces -swath_windows_file swath_windows.txt > TOPP_OpenSwathWorkflow_7.stdout 2> TOPP_OpenSwathWorkflow_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_7.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_10.chrom.mzML.tmp -out_features OpenSwathWorkflow_10.featureXML.tmp -test -use_ms1_traces -swath_windows_file swath_windows_overlap.txt -force > TOPP_OpenSwathWorkflow_10.stdout 2> TOPP_OpenSwathWorkflow_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_10.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_11_input.mzML -tr_irt OpenSwathWorkflow_11_input.TraML -tr OpenSwathWorkflow_11_input.TraML -mz_extraction_window 0.2 -rt_extraction_window -1 -Scoring:Scores:use_sonar_scores -sonar -out_chrom OpenSwathWorkflow_11.chrom.mzML.tmp -out_features OpenSwathWorkflow_11.featureXML.tmp -RTNormalization:outlierMethod none -mz_correction_function quadratic_regression_delta_ppm -irt_mz_extraction_window 550 -irt_mz_extraction_window_unit ppm -test > TOPP_OpenSwathWorkflow_11.stdout 2> TOPP_OpenSwathWorkflow_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_11.stdout)";fi
+TargetedFileConverter -test -in OpenSwathWorkflow_1_input.TraML -out OpenSwathWorkflow_13_input.pqp.tmp -out_type pqp > TOPP_OpenSwathWorkflow_13_prepare.stdout 2> TOPP_OpenSwathWorkflow_13_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_13_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_13_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_13_prepare.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_13_input.pqp.tmp -tr_type pqp -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_13.chrom.mzML.tmp -out_osw OpenSwathWorkflow_13.osw -test -use_ms1_traces > TOPP_OpenSwathWorkflow_13.stdout 2> TOPP_OpenSwathWorkflow_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_13.stdout)";fi
+TargetedFileConverter -test -in OpenSwathWorkflow_1_input.TraML -out OpenSwathWorkflow_14_input.pqp.tmp -out_type pqp > TOPP_OpenSwathWorkflow_14_prepare.stdout 2> TOPP_OpenSwathWorkflow_14_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_14_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_14_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_14_prepare.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_14_input.pqp.tmp -tr_type pqp -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_14.chrom.tmp.sqMass -out_osw OpenSwathWorkflow_14.osw -test -use_ms1_traces > TOPP_OpenSwathWorkflow_14.stdout 2> TOPP_OpenSwathWorkflow_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_14.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathWorkflow_14.chrom.tmp.sqMass -out OpenSwathWorkflow_14.chrom.tmp.mzML -test -lossy_compression false -lossy_mass_accuracy 1e-4 -full_meta false > TOPP_OpenSwathWorkflow_14_step2.stdout 2> TOPP_OpenSwathWorkflow_14_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_14_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_14_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_14_step2.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_15_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_15.chrom.mzML.tmp -out_features OpenSwathWorkflow_15.featureXML.tmp -test -use_ms1_traces -Scoring:TransitionGroupPicker:compute_peak_quality false -Scoring:TransitionGroupPicker:use_precursors -ms1_isotopes 2 > TOPP_OpenSwathWorkflow_15.stdout 2> TOPP_OpenSwathWorkflow_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_15.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathWorkflow_1_input.mzML -out OpenSwathWorkflow_16_input.sqMass -test -lossy_compression true -lossy_mass_accuracy 1e-4 -full_meta true > TOPP_OpenSwathWorkflow_16_prepare.stdout 2> TOPP_OpenSwathWorkflow_16_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_16_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_16_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_16_prepare.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_16_input.sqMass -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_16.chrom.mzML.tmp -out_features OpenSwathWorkflow_16.featureXML.tmp -test -use_ms1_traces -readOptions workingInMemory -ms1_isotopes 2 > TOPP_OpenSwathWorkflow_16.stdout 2> TOPP_OpenSwathWorkflow_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_16.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_17_input.mzML -tr OpenSwathWorkflow_17_input.tsv -out_chrom OpenSwathWorkflow_17.chrom.mzML.tmp -out_features OpenSwathWorkflow_17.featureXML.tmp -test -use_ms1_traces -readOptions workingInMemory -ion_mobility_window 0.05 -use_ms1_ion_mobility "false" -Scoring:Scores:use_ion_mobility_scores > TOPP_OpenSwathWorkflow_17.stdout 2> TOPP_OpenSwathWorkflow_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_17.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_17_input.mzML -tr OpenSwathWorkflow_17_input.tsv -out_chrom OpenSwathWorkflow_17.chrom.mzML.tmp -out_features OpenSwathWorkflow_17.featureXML.tmp -test -use_ms1_traces -readOptions cache -ion_mobility_window 0.05 -use_ms1_ion_mobility "false" -Scoring:Scores:use_ion_mobility_scores > TOPP_OpenSwathWorkflow_17_cache.stdout 2> TOPP_OpenSwathWorkflow_17_cache.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_17_cache failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_17_cache.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_17_cache.stdout)";fi
+TargetedFileConverter -test -in OpenSwathWorkflow_17_input.tsv -out OpenSwathWorkflow_17_input.pqp.tmp -out_type pqp > TOPP_OpenSwathWorkflow_17_b_prepare.stdout 2> TOPP_OpenSwathWorkflow_17_b_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_17_b_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_17_b_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_17_b_prepare.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_17_input.mzML -tr_type pqp -tr OpenSwathWorkflow_17_input.pqp.tmp -out_chrom OpenSwathWorkflow_17_b.chrom.mzML.tmp -out_features OpenSwathWorkflow_17_b.featureXML.tmp -test -use_ms1_traces -readOptions workingInMemory -ion_mobility_window 0.05 -use_ms1_ion_mobility "false" > TOPP_OpenSwathWorkflow_17_b.stdout 2> TOPP_OpenSwathWorkflow_17_b.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_17_b failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_17_b.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_17_b.stdout)";fi
+OpenSwathFileSplitter -in OpenSwathWorkflow_1_input.mzML -outputDirectory ""  -out_qc OpenSwathFileSplitter_1.json.tmp -test > TOPP_OpenSwathFileSplitter_1.stdout 2> TOPP_OpenSwathFileSplitter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathFileSplitter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathFileSplitter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathFileSplitter_1.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_features OpenSwathWorkflow_18.featureXML.tmp -test -use_ms1_traces -Scoring:Scores:use_ms1_mi > TOPP_OpenSwathWorkflow_18.stdout 2> TOPP_OpenSwathWorkflow_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_18.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_features OpenSwathWorkflow_19.featureXML.tmp -test -use_ms1_traces -Scoring:Scores:use_mi_score > TOPP_OpenSwathWorkflow_19.stdout 2> TOPP_OpenSwathWorkflow_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_19.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_features OpenSwathWorkflow_20.featureXML.tmp -test -use_ms1_traces -Scoring:Scores:use_mi_score -Scoring:Scores:use_total_mi_score > TOPP_OpenSwathWorkflow_20.stdout 2> TOPP_OpenSwathWorkflow_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_20.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_21_input.mzML -tr OpenSwathWorkflow_21_input.tsv -tr_irt OpenSwathWorkflow_21_input.irt.TraML -out_features OpenSwathWorkflow_21.featureXML.tmp -Debugging:irt_trafo OpenSwathWorkflow_21.trafoXML.tmp -out_chrom OpenSwathWorkflow_21.mzML.tmp -test -use_ms1_traces -Scoring:Scores:use_mi_score -Scoring:Scores:use_total_mi_score > TOPP_OpenSwathWorkflow_21.stdout 2> TOPP_OpenSwathWorkflow_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_21.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_22_input.mzML -tr OpenSwathWorkflow_22_input.tsv -out_chrom OpenSwathWorkflow_22.chrom.mzML.tmp -out_features OpenSwathWorkflow_22.featureXML.tmp -test -use_ms1_traces -readOptions workingInMemory -matching_window_only "true" -ms1_isotopes 3 > TOPP_OpenSwathWorkflow_22.stdout 2> TOPP_OpenSwathWorkflow_22.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_22 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_22.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_22.stdout)";fi
+NoiseFilterGaussian -test -ini NoiseFilterGaussian_1_parameters.ini -in NoiseFilterGaussian_1_input.mzML -out NoiseFilterGaussian_1.tmp > TOPP_NoiseFilterGaussian_1.stdout 2> TOPP_NoiseFilterGaussian_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterGaussian_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterGaussian_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterGaussian_1.stdout)";fi
+NoiseFilterGaussian -test -ini NoiseFilterGaussian_2_parameters.ini -in NoiseFilterGaussian_2_input.chrom.mzML -out NoiseFilterGaussian_2.tmp > TOPP_NoiseFilterGaussian_2.stdout 2> TOPP_NoiseFilterGaussian_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterGaussian_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterGaussian_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterGaussian_2.stdout)";fi
+NoiseFilterGaussian -test -ini NoiseFilterGaussian_1_parameters.ini -in NoiseFilterGaussian_1_input.mzML -out NoiseFilterGaussian_3.tmp -processOption lowmemory > TOPP_NoiseFilterGaussian_3.stdout 2> TOPP_NoiseFilterGaussian_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterGaussian_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterGaussian_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterGaussian_3.stdout)";fi
+NoiseFilterGaussian -test -ini NoiseFilterGaussian_2_parameters.ini -in NoiseFilterGaussian_2_input.chrom.mzML -out NoiseFilterGaussian_4.tmp -processOption lowmemory > TOPP_NoiseFilterGaussian_4.stdout 2> TOPP_NoiseFilterGaussian_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterGaussian_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterGaussian_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterGaussian_4.stdout)";fi
+NoiseFilterSGolay -test -ini NoiseFilterSGolay_1_parameters.ini -in NoiseFilterSGolay_1_input.mzML -out NoiseFilterSGolay_1.tmp > TOPP_NoiseFilterSGolay_1.stdout 2> TOPP_NoiseFilterSGolay_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterSGolay_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterSGolay_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterSGolay_1.stdout)";fi
+NoiseFilterSGolay -test -ini NoiseFilterSGolay_2_parameters.ini -in NoiseFilterSGolay_2_input.chrom.mzML -out NoiseFilterSGolay_2.tmp > TOPP_NoiseFilterSGolay_2.stdout 2> TOPP_NoiseFilterSGolay_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterSGolay_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterSGolay_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterSGolay_2.stdout)";fi
+NoiseFilterSGolay -test -ini NoiseFilterSGolay_1_parameters.ini -in NoiseFilterSGolay_1_input.mzML -out NoiseFilterSGolay_3.tmp -processOption lowmemory > TOPP_NoiseFilterSGolay_3.stdout 2> TOPP_NoiseFilterSGolay_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterSGolay_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterSGolay_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterSGolay_3.stdout)";fi
+NoiseFilterSGolay -test -ini NoiseFilterSGolay_2_parameters.ini -in NoiseFilterSGolay_2_input.chrom.mzML -out NoiseFilterSGolay_4.tmp -processOption lowmemory > TOPP_NoiseFilterSGolay_4.stdout 2> TOPP_NoiseFilterSGolay_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterSGolay_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterSGolay_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterSGolay_4.stdout)";fi
+PeakPickerWavelet  -test -ini PeakPickerWavelet_parameters.ini -in PeakPickerWavelet_input.mzML -out PeakPickerWavelet_1.tmp > TOPP_PeakPickerWavelet_1.stdout 2> TOPP_PeakPickerWavelet_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerWavelet_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerWavelet_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerWavelet_1.stdout)";fi
+PeakPickerWavelet  -test -ini PeakPickerWavelet_deconv_parameters.ini -in PeakPickerWavelet_deconv_input.mzML -out PeakPickerWavelet_2.tmp > TOPP_PeakPickerWavelet_2.stdout 2> TOPP_PeakPickerWavelet_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerWavelet_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerWavelet_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerWavelet_2.stdout)";fi
+PeakPickerWavelet  -test -ini PeakPickerWavelet_parameters.ini -in PeakPickerWavelet_input.mzML -out PeakPickerWavelet_4.tmp -threads 2 > TOPP_PeakPickerWavelet_4.stdout 2> TOPP_PeakPickerWavelet_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerWavelet_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerWavelet_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerWavelet_4.stdout)";fi
+PeakPickerWavelet  -test -ini PeakPickerWavelet_parameters_noMetaData.ini -in PeakPickerWavelet_input.mzML -out PeakPickerWavelet_5.tmp -threads 2 > TOPP_PeakPickerWavelet_5.stdout 2> TOPP_PeakPickerWavelet_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerWavelet_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerWavelet_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerWavelet_5.stdout)";fi
+PeakPickerHiRes -test -ini PeakPickerHiRes_parameters.ini -in PeakPickerHiRes_input.mzML -out PeakPickerHiRes_1.tmp > TOPP_PeakPickerHiRes_1.stdout 2> TOPP_PeakPickerHiRes_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_1.stdout)";fi
+PeakPickerHiRes -test -ini PeakPickerHiRes_parameters.ini -in PeakPickerHiRes_2_input.mzML -out PeakPickerHiRes_2.tmp > TOPP_PeakPickerHiRes_2.stdout 2> TOPP_PeakPickerHiRes_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_2.stdout)";fi
+PeakPickerHiRes -test -ini PeakPickerHiRes_parameters.ini -in PeakPickerHiRes_input.mzML -out PeakPickerHiRes_3.tmp -processOption lowmemory > TOPP_PeakPickerHiRes_3.stdout 2> TOPP_PeakPickerHiRes_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_3.stdout)";fi
+PeakPickerHiRes -test -ini PeakPickerHiRes_parameters.ini -in PeakPickerHiRes_2_input.mzML -out PeakPickerHiRes_4.tmp -processOption lowmemory > TOPP_PeakPickerHiRes_4.stdout 2> TOPP_PeakPickerHiRes_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_4.stdout)";fi
+PeakPickerHiRes -test -in PeakPickerHiRes_5_input.mzML -out PeakPickerHiRes_5.tmp > TOPP_PeakPickerHiRes_5.stdout 2> TOPP_PeakPickerHiRes_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_5.stdout)";fi
+PeakPickerIterative -in PeakPickerIterative_1_input.mzML -ini PeakPickerIterative_1.ini -out PeakPickerIterative.mzML.tmp -test > UTILS_PeakPickerIterative_1.stdout 2> UTILS_PeakPickerIterative_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_PeakPickerIterative_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_PeakPickerIterative_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_PeakPickerIterative_1.stdout)";fi
+PeakPickerIterative -in PeakPickerIterative_2_input.mzML -ini PeakPickerIterative_2.ini -out PeakPickerIterative_2.mzML.tmp -test > UTILS_PeakPickerIterative_2.stdout 2> UTILS_PeakPickerIterative_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_PeakPickerIterative_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_PeakPickerIterative_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_PeakPickerIterative_2.stdout)";fi
+LowMemPeakPickerHiRes -test -ini LowMemPeakPickerHiRes_parameters.ini -in PeakPickerHiRes_input.mzML -out LowMemPeakPickerHiRes_1.tmp > TOPP_LowMemPeakPickerHiRes_1.stdout 2> TOPP_LowMemPeakPickerHiRes_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_LowMemPeakPickerHiRes_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_LowMemPeakPickerHiRes_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_LowMemPeakPickerHiRes_1.stdout)";fi
+LowMemPeakPickerHiResRandomAccess -test -ini LowMemPeakPickerHiRes_RandomAccess_parameters.ini -in PeakPickerHiRes_RandomAccess_input.mzML -out LowMemPeakPickerHiRes_RandomAccess_1.tmp > TOPP_LowMemPeakPickerHiResRandomAccess_1.stdout 2> TOPP_LowMemPeakPickerHiResRandomAccess_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_LowMemPeakPickerHiResRandomAccess_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_LowMemPeakPickerHiResRandomAccess_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_LowMemPeakPickerHiResRandomAccess_1.stdout)";fi
+ProteinInference -test -in ProteinInference_1_input.idXML -out ProteinInference_1_output.tmp -Algorithm:use_shared_peptides false -merge_runs all -Merging:annotate_origin false > TOPP_ProteinInference_1.stdout 2> TOPP_ProteinInference_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinInference_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinInference_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinInference_1.stdout)";fi
+Resampler -test -in Resampler_1_input.mzML -out Resampler.mzML -sampling_rate 0.3 > TOPP_Resampler_1.stdout 2> TOPP_Resampler_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_Resampler_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_Resampler_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_Resampler_1.stdout)";fi
+RNPxlSearch -test -in RNPxlSearch_1_input.mzML -database RNPxlSearch_1_input.fasta -out RNPxlSearch_1_output.tmp -ini RNPxlSearch_1_parameters.ini > TOPP_RNPxlSearch_1.stdout 2> TOPP_RNPxlSearch_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RNPxlSearch_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RNPxlSearch_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RNPxlSearch_1.stdout)";fi
+RNPxlSearch -test -in RNPxlSearch_1_input.mzML -database RNPxlSearch_1_input.fasta -out RNPxlSearch_2_output.tmp -RNPxl:decoys -ini RNPxlSearch_1_parameters.ini > TOPP_RNPxlSearch_2.stdout 2> TOPP_RNPxlSearch_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RNPxlSearch_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RNPxlSearch_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RNPxlSearch_2.stdout)";fi
+RNPxlSearch -test -in RNPxlSearch_1_input.mzML -database RNPxlSearch_1_input.fasta -out RNPxlSearch_3_output.tmp -report:top_hits 3 -out_tsv RNPxlSearch_3_output2.tmp -precursor:mass_tolerance 10 -RNPxl:scoring fast > TOPP_RNPxlSearch_3.stdout 2> TOPP_RNPxlSearch_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RNPxlSearch_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RNPxlSearch_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RNPxlSearch_3.stdout)";fi
+RNPxlSearch -test -in RNPxlSearch_1_input.mzML -RNPxl:decoys -database RNPxlSearch_1_input.fasta -out RNPxlSearch_4_output.tmp -report:top_hits 2 -out_tsv RNPxlSearch_4_output2.tmp -precursor:mass_tolerance 10 -RNPxl:scoring fast > TOPP_RNPxlSearch_4.stdout 2> TOPP_RNPxlSearch_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RNPxlSearch_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RNPxlSearch_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RNPxlSearch_4.stdout)";fi
+RTModel -test -in RTModel_1_input.idXML -out RTModel_1_output.tmp -ini RTModel_1_parameters.ini > TOPP_RTModel_1.stdout 2> TOPP_RTModel_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTModel_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTModel_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTModel_1.stdout)";fi
+RTModel -test -in_positive RTModel_2_input_positive.idXML -in_negative RTModel_2_input_negative.idXML -out RTModel_2_output.tmp -ini RTModel_2_parameters.ini > TOPP_RTModel_2.stdout 2> TOPP_RTModel_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTModel_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTModel_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTModel_2.stdout)";fi
+RTModel -test -in RTModel_3_input.idXML -out RTModel_3_output.tmp -ini RTModel_3_parameters.ini > TOPP_RTModel_3.stdout 2> TOPP_RTModel_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTModel_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTModel_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTModel_3.stdout)";fi
+RTModel -test -in RTModel_4_input.txt -out RTModel_4_output.tmp -ini RTModel_4_parameters.ini > TOPP_RTModel_4.stdout 2> TOPP_RTModel_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTModel_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTModel_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTModel_4.stdout)";fi
+PTModel -test -in_positive PTModel_1_input_positive.idXML -in_negative PTModel_1_input_negative.idXML -out PTModel_1_output.tmp -ini PTModel_1_parameters.ini > TOPP_PTModel_1.stdout 2> TOPP_PTModel_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PTModel_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PTModel_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PTModel_1.stdout)";fi
+PTPredict -test -in PTPredict_1_input.idXML -out PTPredict_1_output.tmp -svm_model PTPredict_1_input.model > TOPP_PTPredict_1.stdout 2> TOPP_PTPredict_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PTPredict_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PTPredict_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PTPredict_1.stdout)";fi
+RTPredict -test -in_id RTPredict_1_input.idXML -out_id:file RTPredict_1_output.tmp -total_gradient_time 3000 -svm_model RTPredict_1_input.model > TOPP_RTPredict_1.stdout 2> TOPP_RTPredict_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_1.stdout)";fi
+RTPredict -test -in_id RTPredict_2_input.idXML -out_id:positive RTPredict_2_output_positive.tmp -out_id:negative RTPredict_2_output_negative.tmp -svm_model RTPredict_2_input.model -in_oligo_params RTPredict_2_input.model_additional_parameters.paramXML -in_oligo_trainset RTPredict_2_input.model_samples > TOPP_RTPredict_2.stdout 2> TOPP_RTPredict_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_2.stdout)";fi
+RTPredict -test -in_id RTPredict_3_input.idXML -out_id:file RTPredict_3_output.tmp -total_gradient_time 1 -svm_model RTPredict_3_input.model -in_oligo_params RTPredict_3_input.model_additional_parameters.paramXML -in_oligo_trainset RTPredict_3_input.model_samples > TOPP_RTPredict_3.stdout 2> TOPP_RTPredict_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_3.stdout)";fi
+RTPredict -test -in_text RTPredict_4_input.txt -out_text:file RTPredict_4_output.tmp -total_gradient_time 1 -svm_model RTPredict_4_input.model -in_oligo_params RTPredict_4_input.model_additional_parameters.paramXML -in_oligo_trainset RTPredict_4_input.model_samples > TOPP_RTPredict_4.stdout 2> TOPP_RTPredict_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_4.stdout)";fi
+RTPredict -test -in_id RTPredict_5_input.idXML -out_text:file RTPredict_5_output.tmp -total_gradient_time 1 -svm_model RTPredict_5_input.model -in_oligo_params RTPredict_5_input.model_additional_parameters.paramXML -in_oligo_trainset RTPredict_5_input.model_samples > TOPP_RTPredict_5.stdout 2> TOPP_RTPredict_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_5.stdout)";fi
+InspectAdapter -test -ini InspectAdapter_1_parameters.ini -trie_dbs Inspect_FASTAFile_test2.trie -in Inspect.mzXML -dbs Inspect_FASTAFile_test.fasta -inspect_in -out InspectAdapter_2_output.tmp > TOPP_InspectAdapter_1.stdout 2> TOPP_InspectAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InspectAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InspectAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InspectAdapter_1.stdout)";fi
+InspectAdapter -test -ini InspectAdapter_1_parameters.ini -trie_dbs Inspect_FASTAFile_test2.trie -in Inspect.mzData -dbs Inspect_FASTAFile_test.fasta -inspect_in -out InspectAdapter_3_output.tmp > TOPP_InspectAdapter_2.stdout 2> TOPP_InspectAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InspectAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InspectAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InspectAdapter_2.stdout)";fi
+SeedListGenerator -test -in PepXMLFile_test.mzML -out SeedListGenerator_1_output.tmp > TOPP_SeedListGenerator_1.stdout 2> TOPP_SeedListGenerator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SeedListGenerator_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SeedListGenerator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SeedListGenerator_1.stdout)";fi
+SeedListGenerator -test -in IDMapper_1_output.featureXML -out SeedListGenerator_2_output.tmp > TOPP_SeedListGenerator_2.stdout 2> TOPP_SeedListGenerator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SeedListGenerator_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SeedListGenerator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SeedListGenerator_2.stdout)";fi
+SeedListGenerator -test -in ConsensusXMLFile_1.consensusXML -out SeedListGenerator_3_output1.tmp SeedListGenerator_3_output2.tmp > TOPP_SeedListGenerator_3.stdout 2> TOPP_SeedListGenerator_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SeedListGenerator_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SeedListGenerator_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SeedListGenerator_3.stdout)";fi
+SpectraFilterSqrtMower -test -in SpectraFilterSqrtMower_1_input.mzML -out SpectraFilterSqrtMower.tmp > TOPP_SpectraFilterSqrtMower_1.stdout 2> TOPP_SpectraFilterSqrtMower_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectraFilterSqrtMower_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectraFilterSqrtMower_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectraFilterSqrtMower_1.stdout)";fi
+SpectraFilterWindowMower -test -in SpectraFilterWindowMower_1_input.mzML -out SpectraFilterWindowMower_1.tmp > TOPP_SpectraFilterWindowMower_1.stdout 2> TOPP_SpectraFilterWindowMower_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectraFilterWindowMower_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectraFilterWindowMower_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectraFilterWindowMower_1.stdout)";fi
+SpectraFilterWindowMower -test -in SpectraFilterWindowMower_2_input.mzML -out SpectraFilterWindowMower_2.tmp -ini SpectraFilterWindowMower_2_parameters.ini > TOPP_SpectraFilterWindowMower_2.stdout 2> TOPP_SpectraFilterWindowMower_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectraFilterWindowMower_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectraFilterWindowMower_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectraFilterWindowMower_2.stdout)";fi
+InternalCalibration -test -in InternalCalibration_1_BSA1.mzML -cal:id_in InternalCalibration_1_BSA1_OMSSA.idXML -out InternalCalibration_1_BSA1_out.mzML.tmp -cal:model_type linear -RANSAC:enabled -RANSAC:iter 500 -RANSAC:threshold 1 -RT_chunking -1 -quality_control:models InternalCalibration_1_models.csv.tmp -quality_control:residuals InternalCalibration_1_residuals.csv.tmp -ms_level 1 > TOPP_InternalCalibration_1.stdout 2> TOPP_InternalCalibration_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InternalCalibration_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InternalCalibration_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InternalCalibration_1.stdout)";fi
+InternalCalibration -test -in InternalCalibration_2_lockmass.mzML.gz -cal:lock_in InternalCalibration_2_lock.csv -out InternalCalibration_2_lockmass.mzML.tmp -cal:lock_require_mono -cal:model_type linear -RT_chunking 60 -quality_control:models InternalCalibration_2_models.csv.tmp -quality_control:residuals InternalCalibration_2_residuals.csv.tmp > TOPP_InternalCalibration_2.stdout 2> TOPP_InternalCalibration_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InternalCalibration_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InternalCalibration_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InternalCalibration_2.stdout)";fi
+FileConverter -test -in InternalCalibration_2_lockmass.mzML.tmp -no_progress -out InternalCalibration_2_out_lockmass.dta2d.tmp -out_type dta2d > TOPP_InternalCalibration_2_convert.stdout 2> TOPP_InternalCalibration_2_convert.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InternalCalibration_2_convert failed'; >&2 echo -e "stderr:\n$(cat TOPP_InternalCalibration_2_convert.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InternalCalibration_2_convert.stdout)";fi
+ExternalCalibration -test -in ExternalCalibration_1_input.mzML -out ExternalCalibration_1_MS1_out.mzML.tmp -offset -5.5 -slope 0.0001 -ms_level 1 > TOPP_ExternalCalibration_1_MS1.stdout 2> TOPP_ExternalCalibration_1_MS1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ExternalCalibration_1_MS1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ExternalCalibration_1_MS1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ExternalCalibration_1_MS1.stdout)";fi
+ExternalCalibration -test -in ExternalCalibration_1_input.mzML -out ExternalCalibration_2_MS2_out.mzML.tmp -offset -5.5 -slope 0.0001 -ms_level 2 > TOPP_ExternalCalibration_2_MS2.stdout 2> TOPP_ExternalCalibration_2_MS2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ExternalCalibration_2_MS2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ExternalCalibration_2_MS2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ExternalCalibration_2_MS2.stdout)";fi
+TOFCalibration -test -in TOFCalibration_1_input.mzML -out TOFCalibration.tmp -ref_masses TOFCalibration_ref_masses.txt -ini TOFCalibration_parameters.ini -tof_const TOFCalibration_const.csv -ext_calibrants TOFCalibration_1_calibrants.mzML > TOPP_TOFCalibration_1.stdout 2> TOPP_TOFCalibration_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TOFCalibration_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TOFCalibration_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TOFCalibration_1.stdout)";fi
+TOFCalibration -test -in TOFCalibration_2_input.mzML -out TOFCalibration_2.tmp -ref_masses TOFCalibration_ref_masses.txt -ini TOFCalibration_parameters.ini -tof_const TOFCalibration_const.csv -ext_calibrants TOFCalibration_2_calibrants.mzML -peak_data > TOPP_TOFCalibration_2.stdout 2> TOPP_TOFCalibration_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TOFCalibration_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TOFCalibration_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TOFCalibration_2.stdout)";fi
+TextExporter -test -in TextExporter_1_input.featureXML -no_progress -out TextExporter_1_output.tmp > TOPP_TextExporter_1.stdout 2> TOPP_TextExporter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_1.stdout)";fi
+TextExporter -test -in TextExporter_2_input.consensusXML -ini TextExporter_2_parameters.ini > TOPP_TextExporter_2.stdout 2> TOPP_TextExporter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_2.stdout)";fi
+TextExporter -test -in TextExporter_3_input.idXML -no_progress -out TextExporter_3_output.tmp > TOPP_TextExporter_3.stdout 2> TOPP_TextExporter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_3.stdout)";fi
+TextExporter -test -in TextExporter_3_input.idXML -no_progress -out TextExporter_4_output.tmp -id:proteins_only > TOPP_TextExporter_4.stdout 2> TOPP_TextExporter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_4.stdout)";fi
+TextExporter -test -in TextExporter_5_input.idXML -no_progress -out TextExporter_5_output.tmp -id:peptides_only -id:first_dim_rt > TOPP_TextExporter_5.stdout 2> TOPP_TextExporter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_5.stdout)";fi
+TextExporter -test -in TextExporter_6_input.featureXML -no_progress -out TextExporter_6_output.tmp -no_ids > TOPP_TextExporter_6.stdout 2> TOPP_TextExporter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_6.stdout)";fi
+TextExporter -test -in TextExporter_7_input.consensusXML -ini TextExporter_7_parameters.ini > TOPP_TextExporter_7.stdout 2> TOPP_TextExporter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_7.stdout)";fi
+TextExporter -test -in TextExporter_1_input.featureXML -no_ids -no_progress -out TextExporter_8_output.tmp > TOPP_TextExporter_8.stdout 2> TOPP_TextExporter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_8.stdout)";fi
+TextExporter -test -in TextExporter_9_input.idXML -no_progress -out TextExporter_9_output.tmp -id:add_metavalues 0 -id:add_hit_metavalues 0 > TOPP_TextExporter_9.stdout 2> TOPP_TextExporter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_9.stdout)";fi
+FeatureLinkerLabeled -test -ini FeatureLinkerLabeled_1_parameters.ini -in FeatureLinkerLabeled_1_input.featureXML -out FeatureLinkerLabeled_1_output.tmp > TOPP_FeatureLinkerLabeled_1.stdout 2> TOPP_FeatureLinkerLabeled_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerLabeled_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerLabeled_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerLabeled_1.stdout)";fi
+FeatureLinkerLabeled -test -ini FeatureLinkerLabeled_2_parameters.ini -in FeatureLinkerLabeled_2_input.featureXML -out FeatureLinkerLabeled_2_output.tmp > TOPP_FeatureLinkerLabeled_2.stdout 2> TOPP_FeatureLinkerLabeled_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerLabeled_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerLabeled_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerLabeled_2.stdout)";fi
+FeatureLinkerUnlabeled -test -ini FeatureLinkerUnlabeled_1_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeled_1_output.tmp > TOPP_FeatureLinkerUnlabeled_1.stdout 2> TOPP_FeatureLinkerUnlabeled_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeled_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeled_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeled_1.stdout)";fi
+FeatureLinkerUnlabeled -test -ini FeatureLinkerUnlabeled_2_parameters.ini -in FeatureLinkerUnlabeled_2_input1.featureXML FeatureLinkerUnlabeled_2_input2.featureXML FeatureLinkerUnlabeled_2_input3.featureXML -out FeatureLinkerUnlabeled_2_output.tmp > TOPP_FeatureLinkerUnlabeled_2.stdout 2> TOPP_FeatureLinkerUnlabeled_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeled_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeled_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeled_2.stdout)";fi
+FeatureLinkerUnlabeled -test -ini FeatureLinkerUnlabeled_3_parameters.ini -in FeatureLinkerUnlabeled_3_input1.featureXML FeatureLinkerUnlabeled_3_input2.featureXML -out FeatureLinkerUnlabeled_3_output.tmp > TOPP_FeatureLinkerUnlabeled_3.stdout 2> TOPP_FeatureLinkerUnlabeled_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeled_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeled_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeled_3.stdout)";fi
+FeatureLinkerUnlabeled -test -ini FeatureLinkerUnlabeled_4_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeled_4_output.tmp > TOPP_FeatureLinkerUnlabeled_4.stdout 2> TOPP_FeatureLinkerUnlabeled_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeled_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeled_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeled_4.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_1_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeledQT_1_output.tmp > TOPP_FeatureLinkerUnlabeledQT_1.stdout 2> TOPP_FeatureLinkerUnlabeledQT_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_1.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_2_parameters.ini -in FeatureLinkerUnlabeledQT_1_output.consensusXML FeatureLinkerUnlabeledQT_1_output.consensusXML -out FeatureLinkerUnlabeledQT_2_output.tmp > TOPP_FeatureLinkerUnlabeledQT_2.stdout 2> TOPP_FeatureLinkerUnlabeledQT_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_2.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_3_parameters.ini -in FeatureLinkerUnlabeledQT_3_input1.featureXML FeatureLinkerUnlabeledQT_3_input2.featureXML -out FeatureLinkerUnlabeledQT_3_output.tmp > TOPP_FeatureLinkerUnlabeledQT_3.stdout 2> TOPP_FeatureLinkerUnlabeledQT_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_3.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_1_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeledQT_4_output.tmp -algorithm:use_identifications > TOPP_FeatureLinkerUnlabeledQT_4.stdout 2> TOPP_FeatureLinkerUnlabeledQT_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_4.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_1_parameters.ini -in FeatureLinkerUnlabeledQT_5_input1.featureXML FeatureLinkerUnlabeledQT_5_input2.featureXML FeatureLinkerUnlabeledQT_5_input3.featureXML -out FeatureLinkerUnlabeledQT_5_output.tmp -algorithm:distance_RT:max_difference 200 > TOPP_FeatureLinkerUnlabeledQT_5.stdout 2> TOPP_FeatureLinkerUnlabeledQT_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_5.stdout)";fi
+FeatureLinkerUnlabeledQT -test -in FeatureLinkerUnlabeledQT_5_input1.featureXML FeatureLinkerUnlabeledQT_5_input2.featureXML FeatureLinkerUnlabeledQT_5_input3.featureXML -out FeatureLinkerUnlabeledQT_6_output.tmp -algorithm:use_identifications -algorithm:distance_RT:max_difference 200 > TOPP_FeatureLinkerUnlabeledQT_6.stdout 2> TOPP_FeatureLinkerUnlabeledQT_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_6.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_1_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeledKD_1_output.tmp > TOPP_FeatureLinkerUnlabeledKD_1.stdout 2> TOPP_FeatureLinkerUnlabeledKD_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_1.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_2_parameters.ini -in FeatureLinkerUnlabeledKD_1_output.consensusXML FeatureLinkerUnlabeledKD_1_output.consensusXML -out FeatureLinkerUnlabeledKD_2_output.tmp > TOPP_FeatureLinkerUnlabeledKD_2.stdout 2> TOPP_FeatureLinkerUnlabeledKD_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_2.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_3_parameters.ini -in FeatureLinkerUnlabeledQT_3_input1.featureXML FeatureLinkerUnlabeledQT_3_input2.featureXML -out FeatureLinkerUnlabeledKD_3_output.tmp > TOPP_FeatureLinkerUnlabeledKD_3.stdout 2> TOPP_FeatureLinkerUnlabeledKD_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_3.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_4_parameters.ini -in FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML FeatureLinkerUnlabeledKD_dc_input3.featureXML FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML -out FeatureLinkerUnlabeledKD_4_output.tmp -algorithm:link:charge_merging Identical -algorithm:link:adduct_merging Any > TOPP_FeatureLinkerUnlabeledKD_4.stdout 2> TOPP_FeatureLinkerUnlabeledKD_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_4.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_4_parameters.ini -in FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML FeatureLinkerUnlabeledKD_dc_input3.featureXML FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML -out FeatureLinkerUnlabeledKD_5_output.tmp -algorithm:link:charge_merging With_charge_zero -algorithm:link:adduct_merging Any > TOPP_FeatureLinkerUnlabeledKD_5.stdout 2> TOPP_FeatureLinkerUnlabeledKD_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_5.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_4_parameters.ini -in FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML FeatureLinkerUnlabeledKD_dc_input3.featureXML FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML -out FeatureLinkerUnlabeledKD_6_output.tmp -algorithm:link:charge_merging Any -algorithm:link:adduct_merging With_unknown_adducts > TOPP_FeatureLinkerUnlabeledKD_6.stdout 2> TOPP_FeatureLinkerUnlabeledKD_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_6.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_4_parameters.ini -in FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML FeatureLinkerUnlabeledKD_dc_input3.featureXML FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML -out FeatureLinkerUnlabeledKD_7_output.tmp -algorithm:link:charge_merging Any -algorithm:link:adduct_merging Identical > TOPP_FeatureLinkerUnlabeledKD_7.stdout 2> TOPP_FeatureLinkerUnlabeledKD_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_7.stdout)";fi
+IDMapper -test -in IDMapper_1_input.featureXML -out IDMapper_1_output.tmp -id IDMapper_1_input.idXML -mz_measure Da -mz_tolerance 1 -ignore_charge -mz_reference precursor -feature:use_centroid_mz false > TOPP_IDMapper_1.stdout 2> TOPP_IDMapper_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_1.stdout)";fi
+IDMapper -test -in IDMapper_2_input.consensusXML -out IDMapper_2_output.tmp -id IDMapper_2_input.idXML  -mz_measure Da -mz_tolerance 1 -mz_reference precursor > TOPP_IDMapper_2.stdout 2> TOPP_IDMapper_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_2.stdout)";fi
+IDMapper -test -in IDMapper_3_input.featureXML -out IDMapper_3_output.tmp -id IDMapper_3_input.idXML  -mz_measure ppm -mz_tolerance 3 -rt_tolerance 4 -ignore_charge -mz_reference precursor > TOPP_IDMapper_3.stdout 2> TOPP_IDMapper_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_3.stdout)";fi
+IDMapper -test -in IDMapper_4_input.featureXML -out IDMapper_4_output.tmp -id IDMapper_4_input.idXML -spectra:in IDMapper_4_input.mzML -mz_measure ppm -mz_tolerance 20 -rt_tolerance 10 > TOPP_IDMapper_4.stdout 2> TOPP_IDMapper_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_4.stdout)";fi
+IDMapper -test -in IDMapper_5_input.featureXML -out IDMapper_5_output.tmp -id IDMapper_5_input.idXML -spectra:in IDMapper_5_input.mzML -mz_measure ppm -mz_tolerance 10 -rt_tolerance 20 -feature:use_centroid_mz false > TOPP_IDMapper_5.stdout 2> TOPP_IDMapper_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_5.stdout)";fi
+IDRipper -test -in IDRipper_1_input.idXML -out dummy.tmp  > TOPP_IDRipper_1.stdout 2> TOPP_IDRipper_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRipper_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRipper_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRipper_1.stdout)";fi
+IDRipper -test -in IDRipper_2_input.idXML -out_path dummy.tmp > TOPP_IDRipper_2.stdout 2> TOPP_IDRipper_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRipper_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRipper_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRipper_2.stdout)";fi
+IDMerger -test -in IDRipper_3_input1.idXML IDRipper_3_input2.idXML -out IDRipper_3_output.tmp -annotate_file_origin > TOPP_IDRipper_3_prep.stdout 2> TOPP_IDRipper_3_prep.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRipper_3_prep failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRipper_3_prep.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRipper_3_prep.stdout)";fi
+IDRipper -test -in IDRipper_3_output.idXML -out_path dummy2.tmp > TOPP_IDRipper_3.stdout 2> TOPP_IDRipper_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRipper_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRipper_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRipper_3.stdout)";fi
+ConsensusID -test -in ConsensusID_1_input.idXML -out ConsensusID_1_output.tmp -algorithm PEPMatrix -PEPMatrix:matrix PAM30MS > TOPP_ConsensusID_1.stdout 2> TOPP_ConsensusID_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_1.stdout)";fi
+ConsensusID -test -in ConsensusID_2_input.featureXML -out ConsensusID_2_output.tmp -algorithm average > TOPP_ConsensusID_2.stdout 2> TOPP_ConsensusID_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_2.stdout)";fi
+ConsensusID -test -in ConsensusID_3_input.consensusXML -out ConsensusID_3_output.tmp -algorithm best > TOPP_ConsensusID_3.stdout 2> TOPP_ConsensusID_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_3.stdout)";fi
+ConsensusID -test -in ConsensusID_1_input.idXML -out ConsensusID_4_output.tmp -algorithm PEPMatrix -PEPMatrix:matrix identity -filter:considered_hits 6 > TOPP_ConsensusID_4.stdout 2> TOPP_ConsensusID_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_4.stdout)";fi
+ConsensusID -test -in ConsensusID_1_input.idXML -out ConsensusID_5_output.tmp -algorithm PEPIons > TOPP_ConsensusID_5.stdout 2> TOPP_ConsensusID_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_5.stdout)";fi
+ConsensusID -test -in ConsensusID_1_input.idXML -out ConsensusID_6_output.tmp -algorithm best -filter:min_support 0.5 > TOPP_ConsensusID_6.stdout 2> TOPP_ConsensusID_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_6.stdout)";fi
+PrecursorIonSelector -test -in PrecursorIonSelector_features.featureXML -sim_results PrecursorIonSelector_1_output.tmp -ini PrecursorIonSelector_1_parameters.ini -db_path PrecursorIonSelector_db.fasta -ids PrecursorIonSelector_ids.idXML > TOPP_PrecursorIonSelector_1.stdout 2> TOPP_PrecursorIonSelector_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PrecursorIonSelector_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PrecursorIonSelector_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PrecursorIonSelector_1.stdout)";fi
+PrecursorIonSelector -test -in PrecursorIonSelector_features.featureXML -out PrecursorIonSelector_2_output.tmp -ini PrecursorIonSelector_2_parameters.ini -db_path PrecursorIonSelector_db.fasta -ids PrecursorIonSelector_ids.idXML > TOPP_PrecursorIonSelector_2.stdout 2> TOPP_PrecursorIonSelector_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PrecursorIonSelector_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PrecursorIonSelector_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PrecursorIonSelector_2.stdout)";fi
+CompNovo -test -in CompNovo_1_input.mzML -ini CompNovo_1.ini -out CompNovo_1_output.tmp > TOPP_CompNovo_1.stdout 2> TOPP_CompNovo_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CompNovo_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CompNovo_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CompNovo_1.stdout)";fi
+CompNovoCID -test -in CompNovoCID_1_input.mzML -ini CompNovoCID_1.ini -out CompNovoCID_1_output.tmp > TOPP_CompNovoCID_1.stdout 2> TOPP_CompNovoCID_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CompNovoCID_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CompNovoCID_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CompNovoCID_1.stdout)";fi
+PrecursorMassCorrector -test -in PrecursorMassCorrector_1_input.mzML -ini PrecursorMassCorrector_1.ini -out PrecursorMassCorrector_1_output.tmp > TOPP_PrecursorMassCorrector_1.stdout 2> TOPP_PrecursorMassCorrector_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PrecursorMassCorrector_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PrecursorMassCorrector_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PrecursorMassCorrector_1.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_OMSSA.idXML -out FalseDiscoveryRate_output_1.tmp -PSM true -protein false > TOPP_FalseDiscoveryRate_1.stdout 2> TOPP_FalseDiscoveryRate_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_1.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_OMSSA.idXML -out FalseDiscoveryRate_output_2.tmp -algorithm:treat_runs_separately -PSM true -protein false > TOPP_FalseDiscoveryRate_2.stdout 2> TOPP_FalseDiscoveryRate_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_2.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_OMSSA.idXML -out FalseDiscoveryRate_output_3.tmp -algorithm:split_charge_variants -PSM true -protein false > TOPP_FalseDiscoveryRate_3.stdout 2> TOPP_FalseDiscoveryRate_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_3.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_OMSSA_4.idXML -out FalseDiscoveryRate_output_4.tmp -algorithm:split_charge_variants -PSM true -protein false > TOPP_FalseDiscoveryRate_4.stdout 2> TOPP_FalseDiscoveryRate_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_4.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_5_input.idXML -out FalseDiscoveryRate_5_output.tmp -PSM false -protein true -algorithm:add_decoy_proteins -force > TOPP_FalseDiscoveryRate_5.stdout 2> TOPP_FalseDiscoveryRate_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_5.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_6_input.idXML -out FalseDiscoveryRate_6_output.tmp -PSM true -protein false -FDR:PSM 0.05 > TOPP_FalseDiscoveryRate_6.stdout 2> TOPP_FalseDiscoveryRate_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_6.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_7_input.idXML -out FalseDiscoveryRate_7_output.tmp -PSM false -protein true -FDR:protein 0.30 -force > TOPP_FalseDiscoveryRate_7.stdout 2> TOPP_FalseDiscoveryRate_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_7.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_Mascot_input.idXML -out 	IDPosteriorErrorProbability_output_1.tmp > TOPP_IDPosteriorErrorProbability_1.stdout 2> TOPP_IDPosteriorErrorProbability_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_1.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_XTandem_input.idXML -out IDPosteriorErrorProbability_output_2.tmp > TOPP_IDPosteriorErrorProbability_2.stdout 2> TOPP_IDPosteriorErrorProbability_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_2.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_OMSSA_input.idXML -out IDPosteriorErrorProbability_output_3.tmp > TOPP_IDPosteriorErrorProbability_3.stdout 2> TOPP_IDPosteriorErrorProbability_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_3.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_OMSSA_input2.idXML -out IDPosteriorErrorProbability_output_4.tmp -split_charge > TOPP_IDPosteriorErrorProbability_4.stdout 2> TOPP_IDPosteriorErrorProbability_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_4.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_XTandem_input2.idXML -out IDPosteriorErrorProbability_output_5.tmp -split_charge > TOPP_IDPosteriorErrorProbability_5.stdout 2> TOPP_IDPosteriorErrorProbability_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_5.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_Mascot_input2.idXML -out IDPosteriorErrorProbability_output_6.tmp -split_charge > TOPP_IDPosteriorErrorProbability_6.stdout 2> TOPP_IDPosteriorErrorProbability_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_6.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_bad_data.idXML -out IDPosteriorErrorProbability_bad_data_output.tmp -ignore_bad_data > TOPP_IDPosteriorErrorProbability_7.stdout 2> TOPP_IDPosteriorErrorProbability_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_7.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_OMSSA_input.idXML -out IDPosteriorErrorProbability_output_8.tmp -prob_correct > TOPP_IDPosteriorErrorProbability_8.stdout 2> TOPP_IDPosteriorErrorProbability_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_8.stdout)";fi
+ProteinResolver -test -in ProteinResolver_1_input.consensusXML -fasta ProteinResolver_1_input.fasta -protein_groups ProteinResolver_1_output1.tmp -peptide_table ProteinResolver_1_output2.tmp -protein_table ProteinResolver_1_output3.tmp > TOPP_ProteinResolver_1.stdout 2> TOPP_ProteinResolver_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinResolver_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinResolver_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinResolver_1.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.featureXML -out ProteinQuantifier_1_output1.tmp -peptide_out ProteinQuantifier_1_output2.tmp > TOPP_ProteinQuantifier_1.stdout 2> TOPP_ProteinQuantifier_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_1.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.featureXML -out ProteinQuantifier_2_output1.tmp -peptide_out ProteinQuantifier_2_output2.tmp -top 2 -include_all -best_charge_and_fraction -average sum > TOPP_ProteinQuantifier_2.stdout 2> TOPP_ProteinQuantifier_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_2.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_3_input.featureXML -out ProteinQuantifier_3_output1.tmp -peptide_out ProteinQuantifier_3_output2.tmp -top 2 -include_all -average mean > TOPP_ProteinQuantifier_3.stdout 2> TOPP_ProteinQuantifier_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_3.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_4_output.tmp -top 0 -average sum > TOPP_ProteinQuantifier_4.stdout 2> TOPP_ProteinQuantifier_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_4.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_5_output.tmp -top 3 -average sum > TOPP_ProteinQuantifier_5.stdout 2> TOPP_ProteinQuantifier_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_5.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_6_output.tmp -top 3 -include_all -average sum > TOPP_ProteinQuantifier_6.stdout 2> TOPP_ProteinQuantifier_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_6.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_7_output.tmp -top 0 -consensus:fix_peptides -average sum > TOPP_ProteinQuantifier_7.stdout 2> TOPP_ProteinQuantifier_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_7.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_8_output.tmp -top 3 -consensus:fix_peptides -average sum > TOPP_ProteinQuantifier_8.stdout 2> TOPP_ProteinQuantifier_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_8.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_9_output.tmp -top 3 -include_all -consensus:fix_peptides -average sum > TOPP_ProteinQuantifier_9.stdout 2> TOPP_ProteinQuantifier_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_9.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_12_output.tmp -top 3 -include_all -consensus:fix_peptides -average sum -ratios > TOPP_ProteinQuantifier_12.stdout 2> TOPP_ProteinQuantifier_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_12.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_13_output.tmp -top 3 -include_all -consensus:fix_peptides -average sum -ratiosSILAC > TOPP_ProteinQuantifier_13.stdout 2> TOPP_ProteinQuantifier_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_13.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.idXML -out ProteinQuantifier_14_output1.tmp -peptide_out ProteinQuantifier_14_output2.tmp -top 0 -average sum > TOPP_ProteinQuantifier_14.stdout 2> TOPP_ProteinQuantifier_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_14.stdout)";fi
+InclusionExclusionListCreator -test -include InclusionExclusionListCreator.featureXML -out InclusionExclusionListCreator_1_output.tmp > TOPP_InclusionExclusionListCreator_1.stdout 2> TOPP_InclusionExclusionListCreator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_1.stdout)";fi
+InclusionExclusionListCreator -test -exclude InclusionExclusionListCreator.featureXML -out InclusionExclusionListCreator_2_output.tmp -ini InclusionExclusionListCreator_2.ini > TOPP_InclusionExclusionListCreator_2.stdout 2> TOPP_InclusionExclusionListCreator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_2.stdout)";fi
+InclusionExclusionListCreator -test -include InclusionExclusionListCreator.fasta -out InclusionExclusionListCreator_3_output.tmp -inclusion_charges 1 2 -rt_model InclusionExclusionListCreator_rt.model > TOPP_InclusionExclusionListCreator_3.stdout 2> TOPP_InclusionExclusionListCreator_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_3.stdout)";fi
+InclusionExclusionListCreator -test -exclude InclusionExclusionListCreator.fasta -out InclusionExclusionListCreator_4_output.tmp -exclusion_charges 1 2 -rt_model InclusionExclusionListCreator_rt.model  -ini InclusionExclusionListCreator_4.ini > TOPP_InclusionExclusionListCreator_4.stdout 2> TOPP_InclusionExclusionListCreator_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_4.stdout)";fi
+InclusionExclusionListCreator -test -exclude InclusionExclusionListCreator.idXML -out InclusionExclusionListCreator_5_output.tmp -exclusion_charges 1 2 -rt_model InclusionExclusionListCreator_rt.model > TOPP_InclusionExclusionListCreator_5.stdout 2> TOPP_InclusionExclusionListCreator_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_5.stdout)";fi
+InclusionExclusionListCreator -test -exclude InclusionExclusionListCreator.idXML -out InclusionExclusionListCreator_6_output.tmp -exclusion_charges 1 2 -rt_model InclusionExclusionListCreator_rt.model  -ini InclusionExclusionListCreator_6.ini > TOPP_InclusionExclusionListCreator_6.stdout 2> TOPP_InclusionExclusionListCreator_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_6.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_1_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_1.stdout 2> TOPP_PeptideIndexer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_1.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_2_out.tmp.idXML -allow_unmatched -write_protein_sequence -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_2.stdout 2> TOPP_PeptideIndexer_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_2.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_3_out.tmp.idXML -allow_unmatched -keep_unreferenced_proteins -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_3.stdout 2> TOPP_PeptideIndexer_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_3.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_4_out.tmp.idXML -allow_unmatched -aaa_max 0 -write_protein_sequence -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_4.stdout 2> TOPP_PeptideIndexer_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_4.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_5_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_5.stdout 2> TOPP_PeptideIndexer_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_5.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_2.idXML -out PeptideIndexer_6_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 3 > TOPP_PeptideIndexer_6.stdout 2> TOPP_PeptideIndexer_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_6.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_3.idXML -out PeptideIndexer_7_out.tmp.idXML -allow_unmatched -aaa_max 4 -decoy_string DECOY_ > TOPP_PeptideIndexer_7.stdout 2> TOPP_PeptideIndexer_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_7.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_3.idXML -out PeptideIndexer_8_out.tmp.idXML -allow_unmatched -enzyme:specificity semi -aaa_max 4 > TOPP_PeptideIndexer_8.stdout 2> TOPP_PeptideIndexer_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_8.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_3.idXML -out PeptideIndexer_9_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_9.stdout 2> TOPP_PeptideIndexer_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_9.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_10_input.fasta -in PeptideIndexer_10_input.idXML -out PeptideIndexer_10_output.tmp.idXML -IL_equivalent -aaa_max 3 -write_protein_sequence > TOPP_PeptideIndexer_10.stdout 2> TOPP_PeptideIndexer_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_10.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_12_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_12.stdout 2> TOPP_PeptideIndexer_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_12.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in empty.idXML -out PeptideIndexer_13_out.tmp.idXML -aaa_max 4 > TOPP_PeptideIndexer_13.stdout 2> TOPP_PeptideIndexer_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_13.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_2.fasta -in PeptideIndexer_14.idXML -out PeptideIndexer_14_out.tmp.idXML -enzyme:specificity none -aaa_max 4 -write_protein_sequence > TOPP_PeptideIndexer_14.stdout 2> TOPP_PeptideIndexer_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_14.stdout)";fi
+MzTabExporter -test -in MzTabExporter_1_input.consensusXML -out MzTabExporter_1_output.tmp > TOPP_MzTabExporter_1.stdout 2> TOPP_MzTabExporter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MzTabExporter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MzTabExporter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MzTabExporter_1.stdout)";fi
+MzTabExporter -test -in MzTabExporter_2_input.idXML -out MzTabExporter_2_output.tmp > TOPP_MzTabExporter_2.stdout 2> TOPP_MzTabExporter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MzTabExporter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MzTabExporter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MzTabExporter_2.stdout)";fi
+MzTabExporter -test -in MzTabExporter_3_input.featureXML -out MzTabExporter_3_output.tmp > TOPP_MzTabExporter_3.stdout 2> TOPP_MzTabExporter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MzTabExporter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MzTabExporter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MzTabExporter_3.stdout)";fi
+OpenPepXL -test -decoy_string "decoy" -in OpenPepXL_input.mzML -consensus OpenPepXL_input.consensusXML -database OpenPepXL_input.fasta -out_xquestxml OpenPepXL_output.xquest.xml.tmp -out_xquest_specxml OpenPepXL_output.spec.xml.tmp -out_mzIdentML OpenPepXL_output.mzid.tmp -out_idXML OpenPepXL_output.idXML.tmp > TOPP_OpenPepXL_1.stdout 2> TOPP_OpenPepXL_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenPepXL_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenPepXL_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenPepXL_1.stdout)";fi
+OpenPepXLLF -test -decoy_string "decoy" -in OpenPepXLLF_input.mzML -database OpenPepXLLF_input.fasta -out_xquestxml OpenPepXLLF_output.xquest.xml.tmp -out_xquest_specxml OpenPepXLLF_output.spec.xml.tmp -out_mzIdentML OpenPepXLLF_output.mzid.tmp -out_idXML OpenPepXLLF_output.idXML.tmp > TOPP_OpenPepXLLF_1.stdout 2> TOPP_OpenPepXLLF_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenPepXLLF_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenPepXLLF_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenPepXLLF_1.stdout)";fi
+OpenPepXLLF -test -ini OpenPepXLLF_input2.ini -in OpenPepXLLF_input2.mzML -database OpenPepXLLF_input2.fasta -out_idXML OpenPepXLLF_output2.idXML.tmp > TOPP_OpenPepXLLF_2.stdout 2> TOPP_OpenPepXLLF_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenPepXLLF_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenPepXLLF_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenPepXLLF_2.stdout)";fi
+XFDR -test -binsize 0.1 -in XFDR_test_in1.idXML -out_idXML XFDR_test_out1_temp.idXML -out_mzIdentML XFDR_test_out1_temp.mzid -out_xquest XFDR_test_out1_temp.xquest.xml > TOPP_XFDR_1.stdout 2> TOPP_XFDR_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_1.stdout)";fi
+XFDR -test -binsize 0.1 -in XFDR_test_in1.idXML -uniquexl -no_qvalues -out_idXML XFDR_test_out2_temp.idXML -out_mzIdentML XFDR_test_out2_temp.mzid -out_xquest XFDR_test_out2_temp.xquest.xml > TOPP_XFDR_2.stdout 2> TOPP_XFDR_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_2.stdout)";fi
+XFDR -test -binsize 0.1 -minscore 0.0 -in XFDR_test_in2.xquest.xml -out_idXML XFDR_test_out3_temp.idXML -out_mzIdentML XFDR_test_out3_temp.mzid -out_xquest XFDR_test_out3_temp.xquest.xml > TOPP_XFDR_3.stdout 2> TOPP_XFDR_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_3.stdout)";fi
+XFDR -test -binsize 0.1 -minborder -3 -maxborder 3 -in XFDR_test_in2.xquest.xml -out_idXML XFDR_test_out4_temp.idXML -out_mzIdentML XFDR_test_out4_temp.mzid -out_xquest XFDR_test_out4_temp.xquest.xml > TOPP_XFDR_4.stdout 2> TOPP_XFDR_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_4.stdout)";fi
+XFDR -test -binsize 0.1 -minborder -3 -maxborder 3 -in XFDR_test_in3.xquest.xml -out_idXML XFDR_test_out5_temp.idXML -out_mzIdentML XFDR_test_out5_temp.mzid -out_xquest XFDR_test_out5_temp.xquest.xml > TOPP_XFDR_5.stdout 2> TOPP_XFDR_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_5.stdout)";fi
+XFDR -test -binsize 0.1 -in XFDR_test_in4.idXML -out_idXML XFDR_test_out6_temp.idXML > TOPP_XFDR_6.stdout 2> TOPP_XFDR_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_6.stdout)";fi
+XFDR -test -uniquexl -binsize 0.1 -minscore 0.0 -in XFDR_test_in2.xquest.xml -out_idXML XFDR_test_out7_temp.idXML -out_mzIdentML XFDR_test_out7_temp.mzid -out_xquest XFDR_test_out7_temp.xquest.xml > TOPP_XFDR_7.stdout 2> TOPP_XFDR_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_7.stdout)";fi
+QualityControl -test -in_raw QualityControl_1_in1.mzML.gz QualityControl_1_in2.mzML.gz QualityControl_1_in3.mzML.gz -in_postFDR QualityControl_1_in1.featureXML QualityControl_1_in2.featureXML QualityControl_1_in3.featureXML -in_trafo QualityControl_1_in1.trafoXML QualityControl_1_in2.trafoXML QualityControl_1_in3.trafoXML  -in_contaminants QualityControl_1.fasta -in_cm QualityControl_1_in.consensusXML -out_cm QualityControl_1_out.consensusXML.tmp -out QualityControl_1_out.mzTab.tmp > TOPP_QualityControl_1.stdout 2> TOPP_QualityControl_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_QualityControl_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_QualityControl_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_QualityControl_1.stdout)";fi
+AccurateMassSearch -test -in ConsensusMapNormalizer_input.consensusXML -out AccurateMassSearch_1_output.tmp.mzTab > UTILS_AccurateMassSearch_1.stdout 2> UTILS_AccurateMassSearch_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AccurateMassSearch_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AccurateMassSearch_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AccurateMassSearch_1.stdout)";fi
+AccurateMassSearch -test -in AccurateMassSearch_2_input.featureXML -out AccurateMassSearch_2_output.tmp.mzTab -out_annotation AccurateMassSearch_2_output.tmp.featureXML -db:mapping AMS_test_Mapping.tsv -db:struct AMS_test_Struct.tsv -positive_adducts AMS_PositiveAdducts.tsv -negative_adducts AMS_NegativeAdducts.tsv -algorithm:mzTab:exportIsotopeIntensities true > UTILS_AccurateMassSearch_2.stdout 2> UTILS_AccurateMassSearch_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AccurateMassSearch_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AccurateMassSearch_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AccurateMassSearch_2.stdout)";fi
+AccurateMassSearch -test -in AccurateMassSearch_2_input.featureXML -out AccurateMassSearch_3_output.tmp.mzTab -out_annotation AccurateMassSearch_2_output.tmp.featureXML -db:mapping AMS_test_Mapping.tsv -db:struct AMS_test_Struct.tsv -positive_adducts AMS_PositiveAdducts.tsv -negative_adducts AMS_NegativeAdducts.tsv > UTILS_AccurateMassSearch_3.stdout 2> UTILS_AccurateMassSearch_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AccurateMassSearch_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AccurateMassSearch_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AccurateMassSearch_3.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ffm_input.featureXML -out AssayGeneratorMetabo_ffm_output.tmp.tsv -min_transitions 1 > UTILS_AssayGeneratorMetabo_1.stdout 2> UTILS_AssayGeneratorMetabo_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_1.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_output.tmp.tsv -min_transitions 1 > UTILS_AssayGeneratorMetabo_2.stdout 2> UTILS_AssayGeneratorMetabo_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_2.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ffm_input.featureXML -out AssayGeneratorMetabo_ffm_output_consensus.tmp.tsv -method consensus_spectrum -min_transitions 1 > UTILS_AssayGeneratorMetabo_3.stdout 2> UTILS_AssayGeneratorMetabo_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_3.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_output_consensus.tmp.tsv -method consensus_spectrum -min_transitions 1 > UTILS_AssayGeneratorMetabo_4.stdout 2> UTILS_AssayGeneratorMetabo_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_4.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_uku_output_consensus.tmp.tsv -method consensus_spectrum -use_known_unknowns -min_transitions 1 > UTILS_AssayGeneratorMetabo_5.stdout 2> UTILS_AssayGeneratorMetabo_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_5 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_5.stdout)";fi
+TargetedFileConverter -test -in AssayGeneratorMetabo_ams_uku_output_consensus.tsv  -out AssayGeneratorMetabo_ams_uku_output_consensus_traml.tmp.TraML > UTILS_AssayGeneratorMetabo_6.stdout 2> UTILS_AssayGeneratorMetabo_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_6 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_6.stdout)";fi
+ImageCreator -test -in ImageCreator_1_input.mzML -out ImageCreator1.bmp -width 20 -height 15 > UTILS_ImageCreator_1.stdout 2> UTILS_ImageCreator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_ImageCreator_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_ImageCreator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_ImageCreator_1.stdout)";fi
+ImageCreator -test -in ImageCreator_2_input.mzML -out ImageCreator2.png -out_type bmp -width 20 -height 15 -precursors -precursor_size 3 -precursor_color green -log_intensity > UTILS_ImageCreator_2.stdout 2> UTILS_ImageCreator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_ImageCreator_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_ImageCreator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_ImageCreator_2.stdout)";fi
+IDScoreSwitcher -test -in IDFileConverter_12_output.idXML -out IDScoreSwitcher_1_output.tmp -new_score Percolator_PEP -new_score_type "Posterior Error Probability" -new_score_orientation lower_better -old_score Percolator_qvalue > UTILS_IDScoreSwitcher_1.stdout 2> UTILS_IDScoreSwitcher_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_IDScoreSwitcher_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_IDScoreSwitcher_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_IDScoreSwitcher_1.stdout)";fi
+IDScoreSwitcher -test -in IDScoreSwitcher_2_input.idXML -out IDScoreSwitcher_2_output.tmp -new_score "Posterior Probability_score" -new_score_type "Posterior Probability" -new_score_orientation higher_better -proteins > UTILS_IDScoreSwitcher_2.stdout 2> UTILS_IDScoreSwitcher_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_IDScoreSwitcher_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_IDScoreSwitcher_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_IDScoreSwitcher_2.stdout)";fi
+IDSplitter -test -in IDMapper_1_output.featureXML -out IDSplitter_1_output1.tmp -id_out IDSplitter_1_output2.tmp > UTILS_IDSplitter_1.stdout 2> UTILS_IDSplitter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_IDSplitter_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_IDSplitter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_IDSplitter_1.stdout)";fi
+MassCalculator -test -in MassCalculator_1_input.txt -out MassCalculator_1_output.tmp -charge 0 1 -format table -separator , > UTILS_MassCalculator_1.stdout 2> UTILS_MassCalculator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MassCalculator_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MassCalculator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MassCalculator_1.stdout)";fi
+MassCalculator -test -in_seq "LDQWLC(Carbamidomethyl)EKL" "(Glu->pyro-Glu)EAM(Oxidation)APKHK" "RANVM(Oxidation)DYR" "FGVEQDVDMVFASFIR" -out MassCalculator_2_output.tmp -charge 1 2 3 > UTILS_MassCalculator_2.stdout 2> UTILS_MassCalculator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MassCalculator_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MassCalculator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MassCalculator_2.stdout)";fi
+MultiplexResolver -test -in MultiplexResolver_1_input.consensusXML -ini MultiplexResolver_1_parameters.ini -out MultiplexResolver_1.tmp -out_conflicts MultiplexResolver_1_conflicts.tmp > UTILS_MultiplexResolver_1.stdout 2> UTILS_MultiplexResolver_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MultiplexResolver_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MultiplexResolver_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MultiplexResolver_1.stdout)";fi
+MultiplexResolver -test -in MultiplexResolver_2_input.consensusXML -ini MultiplexResolver_2_parameters.ini -out MultiplexResolver_2.tmp -out_conflicts MultiplexResolver_2_conflicts.tmp > UTILS_MultiplexResolver_2.stdout 2> UTILS_MultiplexResolver_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MultiplexResolver_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MultiplexResolver_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MultiplexResolver_2.stdout)";fi
+MultiplexResolver -test -in MultiplexResolver_3_input.consensusXML -ini MultiplexResolver_3_parameters.ini -out MultiplexResolver_3.tmp -out_conflicts MultiplexResolver_3_conflicts.tmp > UTILS_MultiplexResolver_3.stdout 2> UTILS_MultiplexResolver_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MultiplexResolver_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MultiplexResolver_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MultiplexResolver_3.stdout)";fi
+MultiplexResolver -test -in MultiplexResolver_4_input.consensusXML -in_blacklist MultiplexResolver_4_input.mzML -ini MultiplexResolver_4_parameters.ini -out MultiplexResolver_4.tmp -out_conflicts MultiplexResolver_4_conflicts.tmp > UTILS_MultiplexResolver_4.stdout 2> UTILS_MultiplexResolver_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MultiplexResolver_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MultiplexResolver_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MultiplexResolver_4.stdout)";fi
+INIUpdater -test -in INIUpdater_1_noupdate.toppas -out INIUpdater_1_noupdate.toppas.tmp > UTILS_INIUpdater_1.stdout 2> UTILS_INIUpdater_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_INIUpdater_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_INIUpdater_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_INIUpdater_1.stdout)";fi
+INIUpdater -test -in INIUpdater_3_old.toppas -out INIUpdater_3_old.toppas.tmp > UTILS_INIUpdater_3.stdout 2> UTILS_INIUpdater_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_INIUpdater_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_INIUpdater_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_INIUpdater_3.stdout)";fi
+DatabaseFilter -test -in DatabaseFilter_1.fasta -id DatabaseFilter_1.idXML -out DatabaseFilter_1_out.fasta.tmp > UTILS_DatabaseFilter_1.stdout 2> UTILS_DatabaseFilter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DatabaseFilter_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DatabaseFilter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DatabaseFilter_1.stdout)";fi
+DatabaseFilter -test -in DatabaseFilter_1.fasta -id DatabaseFilter_1.idXML -out DatabaseFilter_2_out.fasta.tmp -method blacklist > UTILS_DatabaseFilter_2.stdout 2> UTILS_DatabaseFilter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DatabaseFilter_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DatabaseFilter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DatabaseFilter_2.stdout)";fi
+DatabaseFilter -test -in DatabaseFilter_3.fasta -id DatabaseFilter_3.mzid -out DatabaseFilter_3_out.fasta.tmp > UTILS_DatabaseFilter_3.stdout 2> UTILS_DatabaseFilter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DatabaseFilter_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DatabaseFilter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DatabaseFilter_3.stdout)";fi
+DatabaseFilter -test -in DatabaseFilter_3.fasta -id DatabaseFilter_3.mzid -out DatabaseFilter_4_out.fasta.tmp -method blacklist > UTILS_DatabaseFilter_4.stdout 2> UTILS_DatabaseFilter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DatabaseFilter_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DatabaseFilter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DatabaseFilter_4.stdout)";fi
+DecoyDatabase -test -in DecoyDatabase_1.fasta -out DecoyDatabase_1.fasta.tmp -only_decoy > UTILS_DecoyDatabase_1.stdout 2> UTILS_DecoyDatabase_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DecoyDatabase_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DecoyDatabase_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DecoyDatabase_1.stdout)";fi
+DecoyDatabase -test -in DecoyDatabase_1.fasta -out DecoyDatabase_2.fasta.tmp -decoy_string "blabla" -decoy_string_position "prefix" -method shuffle -Decoy:non_shuffle_pattern "KRP" -seed 42 > UTILS_DecoyDatabase_2.stdout 2> UTILS_DecoyDatabase_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DecoyDatabase_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DecoyDatabase_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DecoyDatabase_2.stdout)";fi
+DecoyDatabase -test -in DecoyDatabase_1.fasta -out DecoyDatabase_3.fasta.tmp -decoy_string "blabla" -decoy_string_position "prefix" -method shuffle -Decoy:non_shuffle_pattern "KR" -seed 42 -enzyme "Chymotrypsin" > UTILS_DecoyDatabase_3.stdout 2> UTILS_DecoyDatabase_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DecoyDatabase_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DecoyDatabase_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DecoyDatabase_3.stdout)";fi
+DecoyDatabase -test -type RNA -in DecoyDatabase_4.fasta -out DecoyDatabase_4.fasta.tmp -decoy_string "blabla" -decoy_string_position "prefix" -method reverse -seed 42  > UTILS_DecoyDatabase_4.stdout 2> UTILS_DecoyDatabase_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DecoyDatabase_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DecoyDatabase_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DecoyDatabase_4.stdout)";fi
+SimpleSearchEngine -test -ini SimpleSearchEngine_1.ini -in SimpleSearchEngine_1.mzML -out SimpleSearchEngine_1_out.tmp -database SimpleSearchEngine_1.fasta > UTILS_SimpleSearchEngine_1.stdout 2> UTILS_SimpleSearchEngine_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_SimpleSearchEngine_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_SimpleSearchEngine_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_SimpleSearchEngine_1.stdout)";fi
+FeatureFinderMetaboIdent -test -in FeatureFinderMetaboIdent_1_input.mzML -id FeatureFinderMetaboIdent_1_input.tsv -out FeatureFinderMetaboIdent_1_output.tmp -extract:mz_window 5 -extract:rt_window 20 -detect:peak_width 3 > UTILS_FeatureFinderMetaboIdent_1.stdout 2> UTILS_FeatureFinderMetaboIdent_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_FeatureFinderMetaboIdent_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_FeatureFinderMetaboIdent_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_FeatureFinderMetaboIdent_1.stdout)";fi
+FeatureFinderSuperHirn -test -in FeatureFinderSuperHirn_input_1.mzML -out FeatureFinderSuperHirn_1_output.featureXML.tmp -ini FeatureFinderSuperHirn_1_parameters.ini > UTILS_FeatureFinderSuperHirn_1.stdout 2> UTILS_FeatureFinderSuperHirn_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_FeatureFinderSuperHirn_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_FeatureFinderSuperHirn_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_FeatureFinderSuperHirn_1.stdout)";fi
+FeatureFinderSuperHirn -test -in FeatureFinderSuperHirn_input_2.mzML -out FeatureFinderSuperHirn_2_output.featureXML.tmp -ini FeatureFinderSuperHirn_2_parameters.ini > UTILS_FeatureFinderSuperHirn_2.stdout 2> UTILS_FeatureFinderSuperHirn_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_FeatureFinderSuperHirn_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_FeatureFinderSuperHirn_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_FeatureFinderSuperHirn_2.stdout)";fi
+MzMLSplitter -test -in FileFilter_1_input.mzML -out MzMLSplitter_1_output -parts 2 > UTILS_MzMLSplitter_1.stdout 2> UTILS_MzMLSplitter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MzMLSplitter_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MzMLSplitter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MzMLSplitter_1.stdout)";fi
+MzMLSplitter -test -in FileFilter_1_input.mzML -out MzMLSplitter_2_output -size 40 -unit KB > UTILS_MzMLSplitter_2.stdout 2> UTILS_MzMLSplitter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MzMLSplitter_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MzMLSplitter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MzMLSplitter_2.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method regular > UTILS_TICCalculator_1.stdout 2> UTILS_TICCalculator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_1.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method streaming -loadData true > UTILS_TICCalculator_2.stdout 2> UTILS_TICCalculator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_2.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method streaming -loadData false > UTILS_TICCalculator_3.stdout 2> UTILS_TICCalculator_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_3.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method indexed > UTILS_TICCalculator_4.stdout 2> UTILS_TICCalculator_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_4.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method indexed_parallel > UTILS_TICCalculator_5.stdout 2> UTILS_TICCalculator_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_5 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_5.stdout)";fi
+ProteomicsLFQ -in examples/FRACTIONS/BSA1_F1.mzML examples/FRACTIONS/BSA1_F2.mzML examples/FRACTIONS/BSA2_F1.mzML examples/FRACTIONS/BSA2_F2.mzML examples/FRACTIONS/BSA3_F1.mzML examples/FRACTIONS/BSA3_F2.mzML -ids examples/FRACTIONS/BSA1_F1.idXML examples/FRACTIONS/BSA1_F2.idXML examples/FRACTIONS/BSA2_F1.idXML examples/FRACTIONS/BSA2_F2.idXML examples/FRACTIONS/BSA3_F1.idXML examples/FRACTIONS/BSA3_F2.idXML -design examples/FRACTIONS/BSA_design.tsv -Alignment:max_rt_shift 0 -fasta examples/TOPPAS/data/BSA_Identification/18Protein_SoCe_Tr_detergents_trace_target_decoy.fasta -targeted_only true -transfer_ids false -mass_recalibration false -out_cxml BSA.consensusXML.tmp -out_msstats BSA.csv.tmp -out BSA.mzTab.tmp -threads 4 -proteinFDR 0.3 -test  > UTILS_ProteomicsLFQ_1.stdout 2> UTILS_ProteomicsLFQ_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_ProteomicsLFQ_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_ProteomicsLFQ_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_ProteomicsLFQ_1.stdout)";fi
+NucleicAcidSearchEngine -test -ini NucleicAcidSearchEngine_1.ini -in NucleicAcidSearchEngine_1.mzML -id_out NucleicAcidSearchEngine_11_out.tmp -out NucleicAcidSearchEngine_12_out.tmp -database NucleicAcidSearchEngine_1.fasta > UTILS_NucleicAcidSearchEngine_1.stdout 2> UTILS_NucleicAcidSearchEngine_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_NucleicAcidSearchEngine_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_NucleicAcidSearchEngine_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_NucleicAcidSearchEngine_1.stdout)";fi
+RNAMassCalculator -test -in_seq "AUCGGC" -charge -1 -2 -out RNAMassCalculator.tmp > UTILS_RNAMassCalculator_1.stdout 2> UTILS_RNAMassCalculator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_RNAMassCalculator_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_RNAMassCalculator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_RNAMassCalculator_1.stdout)";fi
+Epifany -test -in FidoAdapter_1_input.idXML -algorithm:model_parameters:prot_prior 0.7 -algorithm:model_parameters:pep_spurious_emission 0.001 -algorithm:model_parameters:pep_emission 0.1 -out Epifany_1_out.tmp > UTILS_Epifany_1.stdout 2> UTILS_Epifany_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_Epifany_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_Epifany_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_Epifany_1.stdout)";fi
+OMSSAAdapter -test -ini OMSSAAdapter_1.ini -database proteins.fasta -in spectra.mzML -out OMSSAAdapter_1_out.tmp -omssa_executable "${OMSSA_BINARY}" > TOPP_OMSSAAdapter_1.stdout 2> TOPP_OMSSAAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OMSSAAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OMSSAAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OMSSAAdapter_1.stdout)";fi
+XTandemAdapter -test -ini XTandemAdapter_1.ini -database proteins.fasta -in spectra.mzML -out XTandemAdapter_1_out.tmp -xtandem_executable "${XTANDEM_BINARY}" > TOPP_XTandemAdapter_1.stdout 2> TOPP_XTandemAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XTandemAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XTandemAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XTandemAdapter_1.stdout)";fi
+XTandemAdapter -test -ini XTandemAdapter_1.ini -database proteins.fasta -in spectra.mzML -out XTandemAdapter_2_out.tmp -output_results valid -xtandem_executable "${XTANDEM_BINARY}" -max_valid_expect 1e-14 > TOPP_XTandemAdapter_2.stdout 2> TOPP_XTandemAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XTandemAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XTandemAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XTandemAdapter_2.stdout)";fi
+MyriMatchAdapter -test -ini MyriMatchAdapter_1.ini -database proteins.fasta -in spectra.mzML -out MyriMatchAdapter_1_out.tmp -myrimatch_executable "${MYRIMATCH_BINARY}" > TOPP_MyriMatchAdapter_1.stdout 2> TOPP_MyriMatchAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MyriMatchAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MyriMatchAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MyriMatchAdapter_1.stdout)";fi
+MSGFPlusAdapter -test -ini MSGFPlusAdapter_1.ini -database proteins.fasta -in spectra.mzML -out MSGFPlusAdapter_1_out1.tmp -mzid_out MSGFPlusAdapter_1_out2.tmp.mzid -executable "${MSGFPLUS_BINARY}" > TOPP_MSGFPlusAdapter_1.stdout 2> TOPP_MSGFPlusAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSGFPlusAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSGFPlusAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSGFPlusAdapter_1.stdout)";fi
+CruxAdapter -test -ini CruxAdapter_1.ini -database proteins.fasta -in spectra_comet.mzML -out CruxAdapter_1_out1.tmp -crux_executable "${CRUX_BINARY}" -run_percolator false -decoy-format peptide-reverse > TOPP_CruxAdapter_1.stdout 2> TOPP_CruxAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CruxAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CruxAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CruxAdapter_1.stdout)";fi
+CometAdapter -test -ini CometAdapter_1.ini -database proteins.fasta -in spectra_comet.mzML -out CometAdapter_1_out1.tmp -pin_out CometAdapter_1_out2.tmp.tsv -comet_executable "${COMET_BINARY}" > TOPP_CometAdapter_1.stdout 2> TOPP_CometAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CometAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CometAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CometAdapter_1.stdout)";fi
+FileConverter -test -in CometAdapter_2_in.mzML -out CometAdapter_2_prepared.mzML -force_TPP_compatibility > TOPP_CometAdapter_2_prepare.stdout 2> TOPP_CometAdapter_2_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CometAdapter_2_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_CometAdapter_2_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CometAdapter_2_prepare.stdout)";fi
+CometAdapter -test -database CometAdapter_2_in.fasta -in CometAdapter_2_prepared.mzML -out CometAdapter_2_out1.tmp -pin_out CometAdapter_2_out2.tmp.tsv -comet_executable "${COMET_BINARY}" -precursor_mass_tolerance 3 -precursor_error_units Da -ini CometAdapter_1.ini > TOPP_CometAdapter_2.stdout 2> TOPP_CometAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CometAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CometAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CometAdapter_2.stdout)";fi
+CometAdapter -test -ini CometAdapter_3.ini -database CometAdapter_3.fasta -in CometAdapter_3.mzML -out CometAdapter_3_out1.tmp -pin_out CometAdapter_3_out2.tmp.tsv -comet_executable "${COMET_BINARY}" > TOPP_CometAdapter_3.stdout 2> TOPP_CometAdapter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CometAdapter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CometAdapter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CometAdapter_3.stdout)";fi
+MaRaClusterAdapter -test -ini MaRaClusterAdapter_1.ini -in MaRaClusterAdapter_1_in_1.mzML MaRaClusterAdapter_1_in_2.mzML -consensus_out MaRaClusterAdapter_1_out_1.tmp.mzML -maracluster_executable "${MARACLUSTER_BINARY}" > TOPP_MaRaClusterAdapter_1.stdout 2> TOPP_MaRaClusterAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MaRaClusterAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MaRaClusterAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MaRaClusterAdapter_1.stdout)";fi
+MaRaClusterAdapter -test -ini MaRaClusterAdapter_2.ini -in MaRaClusterAdapter_1_in_1.mzML MaRaClusterAdapter_1_in_2.mzML -id_in MaRaClusterAdapter_1_in_3.idXML -out MaRaClusterAdapter_2_out_1.tmp.idXML -maracluster_executable "${MARACLUSTER_BINARY}" > TOPP_MaRaClusterAdapter_2.stdout 2> TOPP_MaRaClusterAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MaRaClusterAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MaRaClusterAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MaRaClusterAdapter_2.stdout)";fi
+PercolatorAdapter -test -ini PercolatorAdapter_1.ini -in PercolatorAdapter_1.idXML -out PercolatorAdapter_1_out1.tmp -out_type idXML -percolator_executable "${PERCOLATOR_BINARY}" > TOPP_PercolatorAdapter_1.stdout 2> TOPP_PercolatorAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_1.stdout)";fi
+PercolatorAdapter -test -osw_level ms1 -in_osw PercolatorAdapter_2.osw -out PercolatorAdapter_2_out1.osw -out_type osw -percolator_executable "${PERCOLATOR_BINARY}" > TOPP_PercolatorAdapter_2.stdout 2> TOPP_PercolatorAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_2.stdout)";fi
+PercolatorAdapter -test -osw_level ms2 -in_osw PercolatorAdapter_2_out1.osw -out PercolatorAdapter_3_out1.osw -out_type osw -percolator_executable "${PERCOLATOR_BINARY}" > TOPP_PercolatorAdapter_3.stdout 2> TOPP_PercolatorAdapter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_3.stdout)";fi
+PercolatorAdapter -test -osw_level transition -in_osw PercolatorAdapter_3_out1.osw -out PercolatorAdapter_4_out1.osw -out_type osw -percolator_executable "${PERCOLATOR_BINARY}" > TOPP_PercolatorAdapter_4.stdout 2> TOPP_PercolatorAdapter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_4.stdout)";fi
+PercolatorAdapter -test -ini PercolatorAdapter_1.ini -in PercolatorAdapter_1.idXML -out PercolatorAdapter_1_out1.tmp -out_type idXML -percolator_executable "${PERCOLATOR_BINARY}" -out_pin PercolatorAdapter_1_out1.tsv  > TOPP_PercolatorAdapter_5.stdout 2> TOPP_PercolatorAdapter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_5.stdout)";fi
+MascotAdapterOnline -test -ini MascotAdapterOnline_1.ini -Mascot_parameters:database SwissProt -in spectra_comet.mzML -out MascotAdapterOnline_1_out1.tmp > TOPP_MascotAdapterOnline_1.stdout 2> TOPP_MascotAdapterOnline_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MascotAdapterOnline_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MascotAdapterOnline_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MascotAdapterOnline_1.stdout)";fi
+FidoAdapter -test -in FidoAdapter_1_input.idXML -out FidoAdapter_1_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" > TOPP_FidoAdapter_1.stdout 2> TOPP_FidoAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_1.stdout)";fi
+FidoAdapter -test -in FidoAdapter_1_input.idXML -out FidoAdapter_2_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" -separate_runs > TOPP_FidoAdapter_2.stdout 2> TOPP_FidoAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_2.stdout)";fi
+FidoAdapter -test -in FidoAdapter_1_input.idXML -out FidoAdapter_3_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" -group_level -all_PSMs > TOPP_FidoAdapter_3.stdout 2> TOPP_FidoAdapter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_3.stdout)";fi
+FidoAdapter -test -in FidoAdapter_4_input.idXML -out FidoAdapter_4_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" > TOPP_FidoAdapter_4.stdout 2> TOPP_FidoAdapter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_4.stdout)";fi
+FidoAdapter -test -greedy_group_resolution -in FidoAdapter_5_input.idXML -out FidoAdapter_5_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" > TOPP_FidoAdapter_5.stdout 2> TOPP_FidoAdapter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_5.stdout)";fi
+FidoAdapter -test -in FidoAdapter_1_input.idXML -out FidoAdapter_6_output.tmp -fido_executable "${FIDO_BINARY}" -prob:protein 0.9 -prob:peptide 0.01 -prob:spurious 0.0 > TOPP_FidoAdapter_6.stdout 2> TOPP_FidoAdapter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_6.stdout)";fi
+MSFraggerAdapter -test -java_heapmemory 2600  -in spectra.mzML -executable "${MSFRAGGER_BINARY}" -database proteins.fasta -out MSFraggerAdapter_7_out_tmp.idXML -opt_out MSFraggerAdapter_7_opt_out_tmp.pepXML -varmod:enable_common -digest:num_enzyme_termini semi > TOPP_MSFraggerAdapter_7.stdout 2> TOPP_MSFraggerAdapter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSFraggerAdapter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSFraggerAdapter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSFraggerAdapter_7.stdout)";fi
+MSFraggerAdapter -test -java_heapmemory 2600 -in spectra_comet.mzML -executable "${MSFRAGGER_BINARY}" -database proteins.fasta -out MSFraggerAdapter_8_out_tmp.idXML -varmod:enable_common -digest:num_enzyme_termini semi > TOPP_MSFraggerAdapter_8.stdout 2> TOPP_MSFraggerAdapter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSFraggerAdapter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSFraggerAdapter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSFraggerAdapter_8.stdout)";fi
+FileConverter -test -in ginkgotoxin-ms-switching.raw -ThermoRaw_executable "${THERMORAWFILEPARSER_BINARY}" -out ginkgotoxin-ms-switching_out_tmp.mzML > TOPP_THERMORAWFILEPARSER_1.stdout 2> TOPP_THERMORAWFILEPARSER_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_THERMORAWFILEPARSER_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_THERMORAWFILEPARSER_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_THERMORAWFILEPARSER_1.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_1_input.mzML -out_sirius SiriusAdapter_1_output.tmp -sirius:auto_charge -sirius:profile qtof -sirius:database all -sirius:cores 1 > TOPP_SiriusAdapter_1.stdout 2> TOPP_SiriusAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_1.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_2_input.mzML -in_featureinfo SiriusAdapter_2_input.featureXML -out_sirius SiriusAdapter_2_output.tmp -preprocessing:feature_only -preprocessing:filter_by_num_masstraces 3 -sirius:auto_charge -sirius:profile qtof -sirius:database all -sirius:cores 1 > TOPP_SiriusAdapter_2.stdout 2> TOPP_SiriusAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_2.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_3_input.mzML -in_featureinfo SiriusAdapter_3_input.featureXML -out_sirius SiriusAdapter_3_output.tmp -preprocessing:filter_by_num_masstraces 3 -sirius:auto_charge -sirius:profile qtof -sirius:database all -sirius:cores 1 > TOPP_SiriusAdapter_3.stdout 2> TOPP_SiriusAdapter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_3.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_3_input.mzML -in_featureinfo SiriusAdapter_3_input.featureXML -out_ms SiriusAdapter_5_output.tmp -converter_mode > TOPP_SiriusAdapter_5.stdout 2> TOPP_SiriusAdapter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_5.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_4_input.mzML -in_featureinfo SiriusAdapter_4_input.featureXML -out_ms SiriusAdapter_6_output.tmp -converter_mode > TOPP_SiriusAdapter_6.stdout 2> TOPP_SiriusAdapter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_6.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_4_input.mzML -in_featureinfo SiriusAdapter_4_input.featureXML -out_sirius SiriusAdapter_7_output.tmp -preprocessing:feature_only -sirius:profile qtof -sirius:database all -sirius:cores 1 > TOPP_SiriusAdapter_7.stdout 2> TOPP_SiriusAdapter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_7.stdout)";fi
+AssayGeneratorMetabo -test -executable "${SIRIUS_BINARY}" -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100 > UTILS_AssayGeneratorMetabo_7.stdout 2> UTILS_AssayGeneratorMetabo_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_7 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_7.stdout)";fi
+AssayGeneratorMetabo -test -executable "${SIRIUS_BINARY}" -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_ukn_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100 -use_known_unknowns > UTILS_AssayGeneratorMetabo_8.stdout 2> UTILS_AssayGeneratorMetabo_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_8 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_8.stdout)";fi
+AssayGeneratorMetabo -test -executable "${SIRIUS_BINARY}" -in AssayGeneratorMetabo_intsort_input.mzML -in_id AssayGeneratorMetabo_intsort_input.featureXML -out AssayGeneratorMetabo_ams_sirius_intsort_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100 > UTILS_AssayGeneratorMetabo_9.stdout 2> UTILS_AssayGeneratorMetabo_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_9 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_9.stdout)";fi
+AssayGeneratorMetabo -test -executable "${SIRIUS_BINARY}" -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_restrict_output.tmp.tsv  -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -min_fragment_mz 100 -max_fragment_mz 900 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100 > UTILS_AssayGeneratorMetabo_10.stdout 2> UTILS_AssayGeneratorMetabo_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_10 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_10.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_2_input.mzML -in_featureinfo SiriusAdapter_2_input.featureXML  -out_sirius SiriusAdapter_4_output.tmp -out_fingerid SiriusAdapter_4_foutput.tmp -sirius:auto_charge -sirius:profile qtof -sirius:database all > TOPP_SiriusAdapter_4.stdout 2> TOPP_SiriusAdapter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_4.stdout)";fi
+NovorAdapter -test -java_memory 512 -executable "${NOVOR_BINARY}" -in NovorAdapter_in.mzML -out NovorAdapter_1_out.tmp -variable_modifications "Acetyl (K)" -fixed_modifications "Carbamidomethyl (C)" -forbiddenResidues "I" > TOPP_NovorAdapter_1.stdout 2> TOPP_NovorAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NovorAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NovorAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NovorAdapter_1.stdout)";fi
+FileConverter -test -force_TPP_compatibility -in spectra_spectrast.mzXML -out SpectrastAdapter_1_hack.mzML > TOPP_SpectrastSearchAdapter_0_prepare.stdout 2> TOPP_SpectrastSearchAdapter_0_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectrastSearchAdapter_0_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectrastSearchAdapter_0_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectrastSearchAdapter_0_prepare.stdout)";fi
+SpectraSTSearchAdapter -test -library_file testLib.splib -spectra_files SpectrastAdapter_1_hack.mzML -output_files SpectrastAdapter_1_out1.tmp.pep.xml -executable "${SPECTRAST_BINARY}" > TOPP_SpectrastSearchAdapter_1.stdout 2> TOPP_SpectrastSearchAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectrastSearchAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectrastSearchAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectrastSearchAdapter_1.stdout)";fi
+SpectraSTSearchAdapter -test -library_file testLib.splib -spectra_files SpectrastAdapter_1_hack.mzML -output_files SpectrastAdapter_1_out1.tmp.pep.tsv -executable "${SPECTRAST_BINARY}" > TOPP_SpectrastSearchAdapter_2.stdout 2> TOPP_SpectrastSearchAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectrastSearchAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectrastSearchAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectrastSearchAdapter_2.stdout)";fi
+LuciphorAdapter -test -in LuciphorAdapter_1_input.mzML  -java_memory 1024 -id LuciphorAdapter_1_input.idXML -out LuciphorAdapter_1_output.tmp  -executable "${LUCIPHOR_BINARY}" -min_num_psms_model 1 > TOPP_LuciphorAdapter_1.stdout 2> TOPP_LuciphorAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_LuciphorAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_LuciphorAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_LuciphorAdapter_1.stdout)";fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/prepare_test_data_manual.sh	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,155 @@
+MSSimulator -test -in DecoyDatabase_1.fasta -out MSsimulator.mzml -algorithm:RandomNumberGenerators:biological reproducible -algorithm:RandomNumberGenerators:technical reproducible > MSSimulator_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MSSimulator_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MSSimulator -test -in DecoyDatabase_1.fasta -out MSsimulator_MALDI.mzml -algorithm:RandomNumberGenerators:biological reproducible -algorithm:RandomNumberGenerators:technical reproducible -algorithm:MSSim:Global:ionization_type MALDI > MSSimulator_2.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MSSimulator_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+ClusterMassTracesByPrecursor -test -in_ms1 ConsensusMapNormalizer_input.consensusXML -in_swath ConsensusMapNormalizer_input.consensusXML -out ClusterMassTracesByPrecursor.mzml > ClusterMassTracesByPrecursor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'ClusterMassTracesByPrecursor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+ClusterMassTraces -test -in ConsensusMapNormalizer_input.consensusXML -out ClusterMassTraces.mzml > ClusterMassTraces.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'ClusterMassTraces failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+CVInspector -test -cv_files CHEMISTRY/XLMOD.obo -cv_names XLMOD -mapping_file MAPPING/ms-mapping.xml -html CVInspector.html > CVInspector.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'CVInspector failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+DeMeanderize -test -in MSsimulator_MALDI.mzml -out DeMeanderize.mzml > DeMeanderize.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'DeMeanderize failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO DigestorMotif
+
+Digestor -test -in random.fa -out Digestor.fasta -out_type fasta > Digestor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'Digestor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+EICExtractor -test -in spectra.mzML -pos FileConverter_10_input.edta -out EICExtractor.csv > EICExtractor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'EICExtractor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+#TODO ERPairFinder
+
+FeatureFinderIsotopeWavelet -test -in FeatureFinderCentroided_1_input.mzML -out  FeatureFinderIsotopeWavelet.featureXML > FeatureFinderIsotopeWavelet.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'FeatureFinderIsotopeWavelet failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+
+FFEval -test -in  FeatureFinderCentroided_1_output.featureXML -truth  FeatureFinderCentroided_1_output.featureXML -out  FFEval.featureXML -out_roc FFEval_roc.csv  > FFEval.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'FFEval failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO? deprecated IDDecoyProbability
+
+IDExtractor -test -in MSGFPlusAdapter_1_out.idXML -best_hits -number_of_peptides  1 -out  IDExtractor.idXML   > IDExtractor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'IDExtractor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+LabeledEval -test -in  FeatureLinkerLabeled_1_input.featureXML -truth  FeatureLinkerLabeled_1_output.consensusXML> LabeledEval.txt > LabeledEval.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'LabeledEval failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MapStatistics -test -in SiriusAdapter_3_input.featureXML -out MapStatistics.txt > MapStatistics_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MapStatistics_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MapStatistics -test -in ConsensusXMLFile_1.consensusXML -out MapStatistics2.txt > MapStatistics_2.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MapStatistics_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MetaboliteAdductDecharger -test -in Decharger_input.featureXML -out_cm MetaboliteAdductDecharger_cm.consensusXML -out_fm MetaboliteAdductDecharger_fm.featureXML -outpairs MetaboliteAdductDecharger_pairs.consensusXML > MetaboliteAdductDecharger.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MetaboliteAdductDecharger failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MetaboliteSpectralMatcher -test -in spectra.mzML -database MetaboliteSpectralDB.mzML -out MetaboliteSpectralMatcher.mzTab > MetaboliteSpectralMatcher.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MetaboliteSpectralMatcher failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO MRMPairFinder
+
+# TODO OpenSwathDIAPreScoring
+
+OpenSwathRewriteToFeatureXML -featureXML OpenSwathFeatureXMLToTSV_input.featureXML -out OpenSwathRewriteToFeatureXML.featureXML > OpenSwathRewriteToFeatureXML.stdout 2> stderr
+# if [[ "$?" -ne "0" ]]; then >&2 echo 'OpenSwathRewriteToFeatureXML failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# adapted from the commented tests in OpenMS TODO may be removed later https://github.com/OpenMS/OpenMS/issues/4719
+FileConverter -in PepNovo.mzXML -out PepNovo_1.mzML > /dev/null 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'FileConverter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+PepNovoAdapter -ini PepNovoAdapter_1_parameters.ini -in PepNovo_1.mzML -out PepNovoAdapter_3_output.idXML -model_directory pepnovo_models/ -pepnovo_executable pepnovo > PepNovo_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PhosphoScoring failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+FileConverter -in PepNovo.mzData -out PepNovo_4.mzML > /dev/null 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'FileConverter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+PepNovoAdapter -ini PepNovoAdapter_1_parameters.ini -in PepNovo_4.mzML -out PepNovoAdapter_4_output.idXML -model_directory pepnovo_models/ -pepnovo_executable pepnovo > PepNovo_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PhosphoScoring failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+#PepNovoAdapter -ini PepNovoAdapter_5_parameters.ini -in PepNovoAdapter_5_output.pepnovo_out -out PepNovoAdapter_5_output.idXML -model_directory pepnovo_models/ 
+
+# TODO PhosphoScoring 
+PhosphoScoring -in spectra.mzML -id MSGFPlusAdapter_1_out1.tmp -out PhosphoScoring.idxml > PhosphoScoring.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PhosphoScoring failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+PSMFeatureExtractor -test -in MSGFPlusAdapter_1_out.idXML XTandemAdapter_1_out.idXML -multiple_search_engines -skip_db_check -out PSMFeatureExtractor.idxml > PSMFeatureExtractor_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PSMFeatureExtractor_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+PSMFeatureExtractor -test -in MSGFPlusAdapter_1_out.idXML XTandemAdapter_1_out.idXML -multiple_search_engines -skip_db_check -out PSMFeatureExtractor.mzid > PSMFeatureExtractor_2.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PSMFeatureExtractor_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+QCCalculator -test -in OpenPepXL_input.mzML -out QCCalculator1.qcML > QCCalculator_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCCalculator_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+QCCalculator -test -in OpenPepXL_input.mzML -id OpenPepXL_output.idXML -consensus OpenPepXL_input.consensusXML -out QCCalculator2.qcML > QCCalculator_2.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCCalculator_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+QCCalculator -test -in IDMapper_4_input.mzML -id IDMapper_4_input.idXML -feature IDMapper_4_input.featureXML -out QCCalculator3.qcML > QCCalculator_3.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCCalculator_3 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO QCEmbedder
+# TODO QCExporter
+# TODO QCExtractor
+# TODO QCImporter
+
+QCMerger -test -in QCCalculator1.qcML QCCalculator3.qcML -out QCMerger.qcML > QCMerger.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCMerger failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+QCShrinker -test -in QCCalculator1.qcML -out QCShrinker.qcML > QCShrinker.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCShrinker failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+RNADigestor -test -in random_RNA.fa -out RNADigestor.fasta > RNADigestor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'RNADigestor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+RNPxlXICFilter -test -control FileFilter_1_input.mzML -treatment FileFilter_1_input.mzML -out RNPxlXICFilter.mzML > RNPxlXICFilter.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'RNPxlXICFilter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO out should be tsv, but needs https://github.com/OpenMS/OpenMS/pull/4533
+RTEvaluation -in PeptideIndexer_1.idXML -out RTEvaluation.csv > RTEvaluation.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'RTEvaluation failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+ln -fs RTEvaluation.csv RTEvaluation.tsv > .stdout 2> stderr
+
+SemanticValidator -test -in FileFilter_1_input.mzML -mapping_file MAPPING/ms-mapping.xml > SemanticValidator.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SemanticValidator failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+IDFilter -in PeptideIndexer_1.idXML -best:strict -out SequenceCoverageCalculator_1.idXML > IDFilter.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'IDFilter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+SequenceCoverageCalculator -test -in_database  PeptideIndexer_1.fasta -in_peptides  SequenceCoverageCalculator_1.idXML  -out  SequenceCoverageCalculator.txt > SequenceCoverageCalculator.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SequenceCoverageCalculator failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO SpecLibCreator
+
+SpectraFilterBernNorm -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterBernNorm.mzML > SpectraFilterBernNorm.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterBernNorm failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterMarkerMower -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterMarkerMower.mzML > SpectraFilterMarkerMower.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterMarkerMower failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterNLargest -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterNLargest.mzML > SpectraFilterNLargest.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterNLargest failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterNormalizer -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterNormalizer.mzML > SpectraFilterNormalizer.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterNormalizer failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterParentPeakMower -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterParentPeakMower.mzML > SpectraFilterParentPeakMower.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterParentPeakMower failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterScaler -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterScaler.mzML > SpectraFilterScaler.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterScaler failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterThresholdMower -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterThresholdMower.mzML > SpectraFilterThresholdMower.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterThresholdMower failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraMerger -test -in NovorAdapter_in.mzML -out SpectraMerger_1.mzML > SpectraMerger.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraMerger failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO SvmTheoreticalSpectrumGeneratorTrainer
+
+TransformationEvaluation -test -in FileInfo_16_input.trafoXML -out TransformationEvaluation.trafoXML > TransformationEvaluation.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TransformationEvaluation failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+XMLValidator -test -in FileFilter_1_input.mzML > XMLValidator.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'XMLValidator failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
--- a/readme.md	Fri May 17 10:05:40 2019 -0400
+++ b/readme.md	Wed Sep 09 12:59:26 2020 +0000
@@ -8,175 +8,127 @@
 More informations are available at:
 
  * https://github.com/OpenMS/OpenMS
- * http://open-ms.sourceforge.net
+ * https://www.openms.de/
+
+The wrappers for these tools and most of their tests are automatically
+generated using the `generate.sh` script. The generation of the tools is
+based on the CTDConverter (https://github.com/WorkflowConversion/CTDConverter)
+which can be fine tuned via the `hardcoded_params.json` file. This file allows
+to blacklist and hardcode parameters and to modify or set arbitrary
+CTD/XML attributes.
+
+Note that, due to its size, the test data is excluded from this repository. In
+order to generate the test data on call `test-data.sh`.
+
+Manual updates should only be done to
+
+- the `@GALAXY_VERSION@"` token in `macros.xml`
+- and the manually contributed tests in `macros_test.xml` (The goal is that all
+  tools that do not have an automatically generated test are covered here)
+- the `hardcoded_params.json` files
+
+In a few cases patches may be acceptable.
+
+Installation
+============
+
+The Galaxy OpenMS tools can be installed from the toolshed. While most tools
+will work out of the box some need attention since requirements can not be
+fulfilled via Conda:
+
+Not yet in Conda are:
+
+- SpectraST (http://tools.proteomecenter.org/wiki/index.php?title=SpectraST)
+- MaRaCluster (https://github.com/statisticalbiotechnology/maracluster)
+
+Binaries for these tools can easily be obtained via: 
+
+```
+VERSION=....
+git git clone -b release/$VERSION.0 https://github.com/OpenMS/OpenMS.git OpenMS$VERSION.0-git
+git submodule init OpenMS$VERSION.0-git
+git submodule update OpenMS$VERSION.0-git
+```
+
+They are located in `OpenMS$VERSION-git/THIRDPARTY/`. 
 
+Not in Conda due to licencing restrictions:
+
+- Mascot http://www.matrixscience.com/
+- MSFragger https://github.com/Nesvilab/MSFragger
+- Novor http://www.rapidnovor.org/novor
+
+There are multiple ways to enable the Galaxy tools to use these binaries. 
+
+- Just copy them to the `bin` path within Galaxy's conda environment
+- Put them in any other path that that is included in PATH
+- Edit the corresponding tools: In the command line part search for the parameters `-executable`, `-maracluster_executable`, or `-mascot_directory` and edit them appropriately.
+
+Working
+=======
+
+The tools work by:
+
+Preprocessing:
+
+- For each input / output data set parameter a directory is crated (named by
+  the parameter)
+- For input data set parameters the links to the actual location of the data
+  sets are created
+
+Main:
+
+- The galaxy wrapper create two json config files: one containing the
+  parameters and the values chosen by the user and the other the values of
+  hardcoded parameters.
+- With `OpenMSTool -write_ctd ./` a CTD (names OpenMSTool.ctd) file is
+  generated that contains the default values.
+- A call to `fill_ctd.py` fills in the values from the json config files into
+  the CTD file
+- The actual tool is called `OpenMSTool -ini OpenMSTool.ctd` and also all input
+  and output parameters are given on the command line.
+
+Postprocessing:
+
+- output data sets are moved to the final locations
+
+Note: The reason for handling data sets on the command line (and not specifying
+them in the CTD file) is mainly that all files in Galaxy have the extension
+`.dat` and OpenMS tools require an appropriate extension. But this may change
+in the future.
 
 Generating OpenMS wrappers
 ==========================
 
- * install OpenMS (you can do this automatically through Conda)
- * create a folder called CTD
- * if you installed openms as a binary in a specific directory, execute the following command in the `openms/bin` directory:
-    
-    ```bash
-    for binary in `ls`; do ./$binary -write_ctd /PATH/TO/YOUR/CTD; done;
-    ```
-    
- * if there is no binary release (e.g. as with version 2.2), download and unpack the Conda package, find the `bin` folder and create a list of the tools as follow:
- 
-    ```bash
-    ls >> tools.txt
-    ```
-    
- * search for the `bin` folder of your conda environment containing OpenMS and do:
- 
-    ```bash
-    while read p; do
-        ./PATH/TO/BIN/$p -write_ctd /PATH/TO/YOUR/CTD;
-    done <tools.txt
-    ```
-    
- * You should have all CTD files now. `MetaProSIP.ctd` includes a not supported character: To use it, search for `²` and replace it (e.g. with `^2`).
+1. remove old test data: `rm -rf $(ls -d test-data/* | egrep -v "random|\.loc")`
+2. `./generate.sh`
 
- * clone or install CTDopts
-
-    ```bash
-    git clone https://github.com/genericworkflownodes/CTDopts
-    ```
-
- * add CTDopts to your `$PYTHONPATH`
-
-    ```bash
-    export PYTHONPATH=/home/user/CTDopts/
-    ```
-
- * clone or install CTD2Galaxy
+Whats happening:
 
-    ```bash
-    git clone https://github.com/WorkflowConversion/CTDConverter.git
-    ```
-    
- * If you have CTDopts and CTDConverter installed you are ready to generate Galaxy Tools from CTD definitions. Change the following command according to your needs, especially the `/PATH/TO` parts. The default files are provided in this repository. You might have to install `libxslt` and `lxml` to run it. Further information can be found on the CTDConverter page.
+1. The binaries of the OpenMS package can generate a CTD file that describes
+   the parameters. These CTD files are converted to xml Galaxy tool descriptions
+   using the `CTDConverter`.
 
-    ```bash
-    python convert.py galaxy \ 
-    -i /PATH/TO/YOUR/CTD/*.ctd \
-    -o ./PATH/TO/YOUR/WRAPPERS/ -t tool.conf \
-    -d datatypes_conf.xml -g openms \
-    -b version log debug test no_progress threads \
-     in_type executable myrimatch_executable \
-     fido_executable fidocp_executable \
-     omssa_executable pepnovo_e xecutable \
-     xtandem_executable param_model_directory \
-     java_executable java_memory java_permgen \
-     r_executable rt_concat_trafo_out param_id_pool \
-    -f /PATH/TO/filetypes.txt -m /PATH/TO/macros.xml \
-    -s PATH/TO/tools_blacklist.txt
-    ```
-
-
- * As last step you need to change manually the binary names of all external binaries you want to use in OpenMS. Some of these tools might already be deprecated and the files might not exist:
-
-    ```
-    sed -i '13 a\-fido_executable Fido' wrappers/FidoAdapter.xml
-    sed -i '13 a\-fidocp_executable FidoChooseParameters' wrappers/FidoAdapter.xml
-    sed -i '13 a\-myrimatch_executable myrimatch' wrappers/MyriMatchAdapter.xml
-    sed -i '13 a\-omssa_executable omssa' wrappers/OMSSAAdapter.xml
-    sed -i '13 a\-xtandem_executable xtandem' wrappers/XTandemAdapter.xml
-    ```
-    
- * For some tools, additional work has to be done. In `MSGFPlusAdapter.xml` the following is needed in the command section at the beginning (check your file to know what to copy where):
- 
-   ```
-    <command><![CDATA[
-
-    ## check input file type
-    #set $in_type = $param_in.ext
+2. The CI testing framework of OpenMS contains command lines and test data 
+   (https://github.com/OpenMS/OpenMS/tree/develop/src/tests/topp). These tests
+   are described in two CMake files.
 
-    ## create the symlinks to set the proper file extension, since msgf uses them to choose how to handle the input files
-    ln -s '$param_in' 'param_in.${in_type}' &&
-    ln -s '$param_database' param_database.fasta &&
-    ## find location of the MSGFPlus.jar file of the msgf_plus conda package
-    MSGF_JAR=\$(msgf_plus -get_jar_path) &&
+   - From these CMake files Galaxy tests are auto generated and stored in `macros_autotest.xml`
+   - The command lines are stored in `prepare_test_data.sh` for regeneration of test data
+
+More details can be found in the comments of the shell script.
+
+Open problems
+=============
 
-    MSGFPlusAdapter
-    -executable \$MSGF_JAR
-    #if $param_in:
-      -in 'param_in.${in_type}'
-    #end if
-    #if $param_out:
-      -out $param_out
-    #end if
-    #if $param_mzid_out:
-      -mzid_out $param_mzid_out
-    #end if
-    #if $param_database:
-      -database param_database.fasta
-    #end if
-    
-    [...]
-    ]]>
-    ```
- 
- * In Xtandem Converter and probably in others:
- 
-    ```
-    #if str($param_missed_cleavages) != '':
-    ```
-    This is because integers needs to be compared as string otherwise `0` becomes `false`.
- 
- * In `MetaProSIP.xml` add `R` as a requirement:
- 
-   ```
-   <expand macro="requirements">
-       <requirement type="package" version="3.3.1">r-base</requirement>
-   </expand>
-   ```
-   
- * In `IDFileConverter.xml` the following is needed in the command section at the beginning (check your file to know what to copy where):
- 
-   ```
-    <command><![CDATA[
-   
-      ## check input file type
-      #set $in_type = $param_in.ext
+Some tools stall in CI testing using `--biocontainers` which is why the OpenMS
+tools are currently listed in `.tt_biocontainer_skip`. This is
 
-      ## create the symlinks to set the proper file extension, since IDFileConverter uses them to choose how to handle the input files
-      ln -s '$param_in' 'param_in.${in_type}' &&
-
-      IDFileConverter
-
-      #if $param_in:
-        -in 'param_in.${in_type}'
-      #end if
-
-        [...]
-        ]]>
-    ```
+- AssayGeneratorMetabo and SiriusAdapter (both depend on sirius)
+- OMSSAAdapter
 
- * In `IDFileConverter.xml` and `FileConverter.xml` add `auto_format="true"` to the output, e.g.:
- 
-   - `<data name="param_out" auto_format="true"/>`
-   - `<data name="param_out" metadata_source="param_in" auto_format="true"/>`
-        
- * To add an example test case to `DecoyDatabase.xml` add the following after the output section. If standard settings change you might have to adjust the options and/or the test files.
- 
-    ```
-       <tests>
-        <test>
-            <param name="param_in" value="DecoyDatabase_input.fasta"/>
-            <output name="param_out" file="DecoyDatabase_output.fasta"/>
-        </test>
-    </tests>
-    ```
-    
- * Additionally cause of lacking dependencies, the following adapters have been removed in `SKIP_TOOLS_FILES.txt` as well:
-    * OMSSAAdapter
-    * MyrimatchAdapter
-    
- * Additionally cause of a problematic parameter (-model_directory), the following adapter has been removed:
-    * PepNovoAdapter
-
+Using `docker -t` seems to solve the problem (see
+https://github.com/galaxyproject/galaxy/issues/10153).
 
 Licence (MIT)
 =============
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data.sh	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,255 @@
+#!/usr/bin/env bash
+
+VERSION=2.5
+FILETYPES="filetypes.txt"
+CONDAPKG="https://anaconda.org/bioconda/openms/2.5.0/download/linux-64/openms-2.5.0-h463af6b_1.tar.bz2"
+
+# import the magic
+. ./generate-foo.sh
+
+# install conda
+if [ -z "$tmp" ]; then
+	tmp=$(mktemp -d)
+	created="yes"
+fi
+
+export OPENMSGIT="$tmp/OpenMS$VERSION.0-git"
+export OPENMSPKG="$tmp/OpenMS$VERSION-pkg/"
+export OPENMSENV="$tmp/OpenMS$VERSION-env"
+export CTDCONVERTER="$tmp/CTDConverter"
+
+
+if type conda > /dev/null; then  
+	true
+else
+	wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
+	bash Miniconda3-latest-Linux-x86_64.sh -b -p "$tmp/miniconda"
+	source "$tmp/miniconda/bin/activate"
+fi
+eval "$(conda shell.bash hook)"
+
+if [[ -z "$1" ]]; then
+	autotests="/dev/null"
+else
+	autotests="$1"
+fi
+
+###############################################################################
+## get 
+## - conda environment (for executing the binaries) and 
+## - the git clone of OpenMS (for generating the tests)
+###############################################################################
+
+echo "Clone OpenMS $VERSION sources"
+if [[ ! -d $OPENMSGIT ]]; then
+	git clone -b release/$VERSION.0 https://github.com/OpenMS/OpenMS.git $OPENMSGIT
+	cd $OPENMSGIT
+	git submodule init
+	git submodule update
+	cd -
+else
+	cd $OPENMSGIT
+		git pull origin release/$VERSION.0
+	cd -
+fi
+
+echo "Create OpenMS $VERSION conda env"
+# TODO currently add lxml (needed by CTDConverter)
+# TODO for some reason a to recent openjdk is used
+if conda env list | grep "$OPENMSENV"; then
+	true
+else
+	conda create -y --quiet --override-channels --channel iuc --channel conda-forge --channel bioconda --channel defaults -p $OPENMSENV openms=$VERSION openms-thirdparty=$VERSION openjdk=8.0.192 ctdopts=1.4 lxml
+# chmod -R u-w $OPENMSENV 
+fi
+###############################################################################
+## get the 
+## - conda package (for easy access and listing of the OpenMS binaries), 
+###############################################################################
+echo "Download OpenMS $VERSION package $CONDAPKG"
+
+if [[ ! -d $OPENMSPKG ]]; then
+	mkdir $OPENMSPKG
+	wget -q -P $OPENMSPKG/ "$CONDAPKG"
+	tar -xf $OPENMSPKG/"$(basename $CONDAPKG)" -C $OPENMSPKG/
+	rm $OPENMSPKG/"$(basename $CONDAPKG)"
+fi
+
+###############################################################################
+## Get python libaries for CTD -> Galaxy conversion
+## TODO fix to main repo OR conda packkage if PRs are merged 
+###############################################################################
+echo "Clone CTDConverter"
+if [[ ! -d $CTDCONVERTER ]]; then
+	#git clone https://github.com/WorkflowConversion/CTDConverter.git CTDConverter
+	git clone -b topic/cdata https://github.com/bernt-matthias/CTDConverter.git $CTDCONVERTER
+else
+	cd $CTDCONVERTER
+	git pull origin topic/cdata
+	cd -
+fi
+export PYTHONPATH=$(pwd)/CTDopts
+
+###############################################################################
+## copy all the test data files to test-data
+## most of it (outputs) will be overwritten later, but its needed for
+## prepare_test_data
+###############################################################################
+echo "Get test data"
+cp $(find $OPENMSGIT/src/tests/topp/ -type f | grep -Ev "third_party_tests.cmake|CMakeLists.txt|check_ini") test-data/
+cp -r $OPENMSGIT/share/OpenMS/MAPPING/ test-data/
+cp -r $OPENMSGIT/share/OpenMS/CHEMISTRY test-data/
+cp -r $OPENMSGIT/share/OpenMS/examples/ test-data/
+if [[ ! -f test-data/MetaboliteSpectralDB.mzML ]]; then 
+	wget -q https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Tutorials/Data/latest/Example_Data/Metabolomics/databases/MetaboliteSpectralDB.mzML && mv MetaboliteSpectralDB.mzML test-data/
+fi
+ln -fs TOFCalibration_ref_masses test-data/TOFCalibration_ref_masses.txt
+ln -fs TOFCalibration_const test-data/TOFCalibration_const.csv
+
+if [ ! -d test-data/pepnovo_models/ ]; then
+	wget http://proteomics.ucsd.edu/Software/PepNovo/PepNovo.20120423.zip
+	unzip -e PepNovo.20120423.zip -d /tmp/
+	mv /tmp/Models test-data/pepnovo_models/
+fi
+###############################################################################
+## generate ctd files using the binaries in the conda package 
+###############################################################################
+echo "Create CTD files"
+conda activate $OPENMSENV
+mkdir -p ctd
+
+# TODO because of https://github.com/OpenMS/OpenMS/issues/4641
+# this needs to be done from within test-data
+cd test-data
+for i in $OPENMSPKG/bin/*
+do
+	b=$(basename $i)
+	echo $b
+	$b -write_ctd ../ctd/
+	sed -i -e 's/²/^2/' ../ctd/$b.ctd
+done
+cd -
+###############################################################################
+## fix ini files: OpenMS test data contains ini files with outdated ini files.
+## e.g. variables might be in different nodes, outdated variables present, new
+## variables missing, ...
+## OpenMS tools fix this on the fly (so its no problem for the OpenMS tests)
+## but it is for the generation of the tests
+## see https://github.com/OpenMS/OpenMS/issues/4462
+###############################################################################
+echo "Update test INI files"
+for ini in test-data/*ini
+do
+	tool=$(cat $ini | grep 'NODE name="' | head -n 1 | sed 's/.*name="\([^"]\+\)".*/\1/')
+	bin=$(which $tool)
+	if [[ -z $bin ]]; then
+          >&2 echo "missing binary to convert $ini"
+		  continue
+	fi
+	cp $ini $ini.backup
+	$bin -ini $ini -write_ini $ini > $ini.stdout 2> $ini.stderr
+	if [[ "$?" -ne "0" ]]; then
+		>&2 echo "could not convert $ini"
+	fi
+done
+
+###############################################################################
+## create script to create results for the tests and run it
+###############################################################################
+echo "Create test shell script"
+
+echo -n "" > prepare_test_data.sh
+echo 'export COMET_BINARY="comet"' >> prepare_test_data.sh
+echo 'export CRUX_BINARY="crux"' >> prepare_test_data.sh
+echo 'export FIDOCHOOSEPARAMS_BINARY="FidoChooseParameters"' >> prepare_test_data.sh
+echo 'export FIDO_BINARY="Fido"' >> prepare_test_data.sh
+echo 'export LUCIPHOR_BINARY="$(dirname $(realpath $(which luciphor2)))/luciphor2.jar"' >> prepare_test_data.sh
+
+echo 'export MARACLUSTER_BINARY="'"$OPENMSGIT"'/THIRDPARTY/Linux/64bit/MaRaCluster/maracluster"'>> prepare_test_data.sh
+echo 'export MSFRAGGER_BINARY="/home/berntm/Downloads/MSFragger-20171106/MSFragger-20171106.jar"'>> prepare_test_data.sh
+echo 'export MSGFPLUS_BINARY="$(msgf_plus -get_jar_path)"' >> prepare_test_data.sh
+echo 'export MYRIMATCH_BINARY="myrimatch"'>> prepare_test_data.sh
+echo 'export NOVOR_BINARY="/home/berntm/Downloads/novor/lib/novor.jar"' >> prepare_test_data.sh
+echo 'export OMSSA_BINARY="$(dirname $(realpath $(which omssacl)))/omssacl"'>> prepare_test_data.sh
+echo 'export PERCOLATOR_BINARY="percolator"'>> prepare_test_data.sh
+echo 'export SIRIUS_BINARY="$(which sirius)"' >> prepare_test_data.sh
+echo 'export SPECTRAST_BINARY="spectrast"' >> prepare_test_data.sh
+echo 'export XTANDEM_BINARY="xtandem"' >> prepare_test_data.sh
+echo 'export THERMORAWFILEPARSER_BINARY="ThermoRawFileParser.exe"' >> prepare_test_data.sh
+
+prepare_test_data >> prepare_test_data.sh #tmp_test_data.sh
+
+# prepare_test_data > tmp_test_data.sh
+# # remove calls not needed for the tools listed in any .list file
+# echo LIST $LIST
+# if [ ! -z "$LIST" ]; then
+# 	REX=$(echo $LIST | sed 's/ /\n/g' | sed 's@.*/\([^/]\+\).xml$@\1@' | tr '\n' '|' | sed 's/|$//')
+# else
+# 	REX=".*"
+# fi
+# echo REX $REX
+# cat tmp_test_data.sh | egrep "($REX)" >> prepare_test_data.sh
+# rm tmp_test_data.sh
+
+echo "Execute test shell script"
+chmod u+x prepare_test_data.sh
+cd ./test-data || exit
+../prepare_test_data.sh
+cd - || exit
+
+
+###############################################################################
+## create/update test data for the manually generated tests
+## - run convert once with the manual tests only and 
+## - update test-data (needs to run 2x)
+###############################################################################
+echo "Execute test shell script for manually curated tests"
+chmod u+x prepare_test_data_manual.sh
+
+cd ./test-data || exit
+../prepare_test_data_manual.sh
+cd - || exit
+
+
+# # # exit
+
+###############################################################################
+## auto generate tests
+###############################################################################
+
+echo "Write test macros to "$autotests
+echo "<macros>" > $autotests
+for i in $(ls *xml |grep -v macros)
+do
+	b=$(basename "$i" .xml)
+	get_tests2 "$b" >> $autotests 
+done
+echo "</macros>" >> $autotests
+
+echo "Create test data links"
+link_tmp_files
+
+# tests for tools using output_prefix parameters can not be auto generated
+# hence we output the tests for manual curation in macros_test.xml
+# and remove them from the autotests
+if [[ ! -z "$1" ]]; then
+	echo "" > macros_discarded_auto.xml
+	for i in OpenSwathFileSplitter IDRipper MzMLSplitter
+	do
+		echo "<xml name=\"manutest_$i\">" >>  macros_discarded_auto.xml
+		xmlstarlet sel -t -c "/macros/xml[@name='autotest_$i']/test" macros_autotest.xml >>  macros_discarded_auto.xml
+		echo "</xml>"  >>  macros_discarded_auto.xml
+		xmlstarlet ed -d "/macros/xml[@name='autotest_$i']/test" macros_autotest.xml > tmp
+		mv tmp macros_autotest.xml
+	done
+	>&2 "discarded autogenerated macros for curation in macros_discarded_auto.xml"
+fi
+conda deactivate
+
+## remove broken symlinks in test-data
+find test-data/ -xtype l -delete
+
+# if [ ! -z "$created" ]; then
+# 	echo "Removing temporary directory"
+# 	rm -rf "$tmp"
+# fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/pepnovo_models.loc.sample	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,23 @@
+# This is a sample file distributed with Galaxy that enables tools
+# to use pepnovo models
+# The file has three tab separated columns: name, value, and path.
+# The idea is that there are a number of models in a directory:
+# - each model directory has a unique name (columns 2 and 0)
+# - each model can contain a set of models (column 1)
+#
+# The following example works fo the default models from 
+# http://proteomics.ucsd.edu/Software/PepNovo.html (just remove the comment
+# chars and replace DIR_TO_PEPNOVO_MODELS)
+
+#default_models	CID_IT_TRYP	DIR_TO_PEPNOVO_MODELS
+#default_models	LTQ_COMP	DIR_TO_PEPNOVO_MODELS
+#default_models	DBC4_PEAK	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_TAG5	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_TAG6	DIR_TO_PEPNOVO_MODELS
+#default_models	ITDNV_PEAK	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_SCORE	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_TAG3	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_DNVPART	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_TAG4	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_DB	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_CSP	DIR_TO_PEPNOVO_MODELS
--- a/tool.conf	Fri May 17 10:05:40 2019 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<toolbox>
-  <section id="section-id-Peptidepropertyprediction" name="Peptide property prediction">
-    <tool file="openms/PTModel.xml"/>
-    <tool file="openms/PTPredict.xml"/>
-    <tool file="openms/RTModel.xml"/>
-    <tool file="openms/RTPredict.xml"/>
-  </section>
-  <section id="section-id-TargetedExperiments" name="Targeted Experiments">
-    <tool file="openms/InclusionExclusionListCreator.xml"/>
-    <tool file="openms/MRMMapper.xml"/>
-    <tool file="openms/OpenSwathAnalyzer.xml"/>
-    <tool file="openms/OpenSwathAssayGenerator.xml"/>
-    <tool file="openms/OpenSwathChromatogramExtractor.xml"/>
-    <tool file="openms/OpenSwathConfidenceScoring.xml"/>
-    <tool file="openms/OpenSwathDecoyGenerator.xml"/>
-    <tool file="openms/OpenSwathDIAPreScoring.xml"/>
-    <tool file="openms/OpenSwathFeatureXMLToTSV.xml"/>
-    <tool file="openms/OpenSwathFileSplitter.xml"/>
-    <tool file="openms/OpenSwathMzMLFileCacher.xml"/>
-    <tool file="openms/OpenSwathRewriteToFeatureXML.xml"/>
-    <tool file="openms/OpenSwathRTNormalizer.xml"/>
-    <tool file="openms/PrecursorIonSelector.xml"/>
-    <tool file="openms/TargetedFileConverter.xml"/>
-  </section>
-  <section id="section-id-Utilities" name="Utilities">
-    <tool file="openms/AccurateMassSearch.xml"/>
-    <tool file="openms/CVInspector.xml"/>
-    <tool file="openms/DatabaseFilter.xml"/>
-    <tool file="openms/DecoyDatabase.xml"/>
-    <tool file="openms/DeMeanderize.xml"/>
-    <tool file="openms/Digestor.xml"/>
-    <tool file="openms/DigestorMotif.xml"/>
-    <tool file="openms/ERPairFinder.xml"/>
-    <tool file="openms/FFEval.xml"/>
-    <tool file="openms/FuzzyDiff.xml"/>
-    <tool file="openms/IDDecoyProbability.xml"/>
-    <tool file="openms/IDExtractor.xml"/>
-    <tool file="openms/IDMassAccuracy.xml"/>
-    <tool file="openms/IDScoreSwitcher.xml"/>
-    <tool file="openms/IDSplitter.xml"/>
-    <tool file="openms/LabeledEval.xml"/>
-    <tool file="openms/LowMemPeakPickerHiRes.xml"/>
-    <tool file="openms/LowMemPeakPickerHiRes_RandomAccess.xml"/>
-    <tool file="openms/MassCalculator.xml"/>
-    <tool file="openms/MetaboliteSpectralMatcher.xml"/>
-    <tool file="openms/MetaProSIP.xml"/>
-    <tool file="openms/MRMPairFinder.xml"/>
-    <tool file="openms/MRMTransitionGroupPicker.xml"/>
-    <tool file="openms/MSSimulator.xml"/>
-    <tool file="openms/MultiplexResolver.xml"/>
-    <tool file="openms/MzMLSplitter.xml"/>
-    <tool file="openms/OpenSwathWorkflow.xml"/>
-    <tool file="openms/QCCalculator.xml"/>
-    <tool file="openms/QCEmbedder.xml"/>
-    <tool file="openms/QCExporter.xml"/>
-    <tool file="openms/QCExtractor.xml"/>
-    <tool file="openms/QCImporter.xml"/>
-    <tool file="openms/QCMerger.xml"/>
-    <tool file="openms/QCShrinker.xml"/>
-    <tool file="openms/RNPxl.xml"/>
-    <tool file="openms/RNPxlSearch.xml"/>
-    <tool file="openms/RNPxlXICFilter.xml"/>
-    <tool file="openms/RTEvaluation.xml"/>
-    <tool file="openms/SemanticValidator.xml"/>
-    <tool file="openms/SequenceCoverageCalculator.xml"/>
-    <tool file="openms/SimpleSearchEngine.xml"/>
-    <tool file="openms/SpecLibCreator.xml"/>
-    <tool file="openms/SpectraSTSearchAdapter.xml"/>
-    <tool file="openms/SvmTheoreticalSpectrumGeneratorTrainer.xml"/>
-    <tool file="openms/TICCalculator.xml"/>
-    <tool file="openms/TopPerc.xml"/>
-    <tool file="openms/TransformationEvaluation.xml"/>
-    <tool file="openms/XMLValidator.xml"/>
-  </section>
-  <section id="section-id-MapAlignment" name="Map Alignment">
-    <tool file="openms/ConsensusMapNormalizer.xml"/>
-    <tool file="openms/FeatureLinkerLabeled.xml"/>
-    <tool file="openms/FeatureLinkerUnlabeled.xml"/>
-    <tool file="openms/FeatureLinkerUnlabeledKD.xml"/>
-    <tool file="openms/FeatureLinkerUnlabeledQT.xml"/>
-    <tool file="openms/MapRTTransformer.xml"/>
-  </section>
-  <section id="section-id-IDProcessing" name="ID Processing">
-    <tool file="openms/ConsensusID.xml"/>
-    <tool file="openms/FalseDiscoveryRate.xml"/>
-    <tool file="openms/FidoAdapter.xml"/>
-    <tool file="openms/IDConflictResolver.xml"/>
-    <tool file="openms/IDFileConverter.xml"/>
-    <tool file="openms/IDFilter.xml"/>
-    <tool file="openms/IDMapper.xml"/>
-    <tool file="openms/IDPosteriorErrorProbability.xml"/>
-    <tool file="openms/IDRTCalibration.xml"/>
-    <tool file="openms/LuciphorAdapter.xml"/>
-    <tool file="openms/PeptideIndexer.xml"/>
-    <tool file="openms/PhosphoScoring.xml"/>
-  </section>
-  <section id="section-id-Signalprocessingandpreprocessing" name="Signal processing and preprocessing">
-    <tool file="openms/BaselineFilter.xml"/>
-    <tool file="openms/ExternalCalibration.xml"/>
-    <tool file="openms/HighResPrecursorMassCorrector.xml"/>
-    <tool file="openms/InternalCalibration.xml"/>
-    <tool file="openms/MapNormalizer.xml"/>
-    <tool file="openms/MassTraceExtractor.xml"/>
-    <tool file="openms/NoiseFilterGaussian.xml"/>
-    <tool file="openms/NoiseFilterSGolay.xml"/>
-    <tool file="openms/PeakPickerHiRes.xml"/>
-    <tool file="openms/PeakPickerIterative.xml"/>
-    <tool file="openms/PeakPickerWavelet.xml"/>
-    <tool file="openms/PrecursorMassCorrector.xml"/>
-    <tool file="openms/SpectraMerger.xml"/>
-    <tool file="openms/TOFCalibration.xml"/>
-  </section>
-  <section id="section-id-Identification" name="Identification">
-    <tool file="openms/CompNovoCID.xml"/>
-    <tool file="openms/CompNovo.xml"/>
-    <tool file="openms/InspectAdapter.xml"/>
-    <tool file="openms/MascotAdapter.xml"/>
-    <tool file="openms/MascotAdapterOnline.xml"/>
-    <tool file="openms/MSGFPlusAdapter.xml"/>
-    <tool file="openms/ProteinInference.xml"/>
-    <tool file="openms/SpectraFilterBernNorm.xml"/>
-    <tool file="openms/SpectraFilterMarkerMower.xml"/>
-    <tool file="openms/SpectraFilterNLargest.xml"/>
-    <tool file="openms/SpectraFilterNormalizer.xml"/>
-    <tool file="openms/SpectraFilterParentPeakMower.xml"/>
-    <tool file="openms/SpectraFilterScaler.xml"/>
-    <tool file="openms/SpectraFilterSqrtMower.xml"/>
-    <tool file="openms/SpectraFilterThresholdMower.xml"/>
-    <tool file="openms/SpectraFilterWindowMower.xml"/>
-    <tool file="openms/XTandemAdapter.xml"/>
-  </section>
-  <section id="section-id-FileHandling" name="File Handling">
-    <tool file="openms/DTAExtractor.xml"/>
-    <tool file="openms/FileConverter.xml"/>
-    <tool file="openms/FileFilter.xml"/>
-    <tool file="openms/FileInfo.xml"/>
-    <tool file="openms/FileMerger.xml"/>
-    <tool file="openms/IDMerger.xml"/>
-    <tool file="openms/IDRipper.xml"/>
-    <tool file="openms/MapStatistics.xml"/>
-    <tool file="openms/MzTabExporter.xml"/>
-    <tool file="openms/TextExporter.xml"/>
-  </section>
-  <section id="section-id-Quantitation" name="Quantitation">
-    <tool file="openms/AdditiveSeries.xml"/>
-    <tool file="openms/Decharger.xml"/>
-    <tool file="openms/EICExtractor.xml"/>
-    <tool file="openms/FeatureFinderCentroided.xml"/>
-    <tool file="openms/FeatureFinderIdentification.xml"/>
-    <tool file="openms/FeatureFinderIsotopeWavelet.xml"/>
-    <tool file="openms/FeatureFinderMetabo.xml"/>
-    <tool file="openms/FeatureFinderMRM.xml"/>
-    <tool file="openms/FeatureFinderMultiplex.xml"/>
-    <tool file="openms/FeatureFinderSuperHirn.xml"/>
-    <tool file="openms/IsobaricAnalyzer.xml"/>
-    <tool file="openms/ProteinQuantifier.xml"/>
-    <tool file="openms/ProteinResolver.xml"/>
-  </section>
-</toolbox>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Locations of pepnovo models -->
+    <table name="pepnovo_models" comment_char="#" allow_duplicate_entries="False">
+        <columns>name,value,path</columns>
+        <file path="tool-data/pepnovo_models.loc" />
+    </table>
+</tables>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.test	Wed Sep 09 12:59:26 2020 +0000
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Locations of all eggnog_mapper data -->
+    <table name="pepnovo_models" comment_char="#">
+        <columns>name,value,path</columns>
+        <file path="${__HERE__}/test-data/pepnovo_models.loc" />
+    </table>
+</tables>
--- a/tools_blacklist.txt	Fri May 17 10:05:40 2019 -0400
+++ b/tools_blacklist.txt	Wed Sep 09 12:59:26 2020 +0000
@@ -1,9 +1,24 @@
-OMSSAAdapter
-MyriMatchAdapter
-PepNovoAdapter
-SeedListGenerator
-SpecLibSearcher
-MapAlignerIdentification
-MapAlignerPoseClustering
-MapAlignerSpectrum
-MapAlignerRTTransformer
+# seems not possible for 2.5 https://github.com/OpenMS/OpenMS/issues/4426
+DigestorMotif
+
+# deprecated https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/latest/html/UTILS_IDDecoyProbability.html
+# https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/latest/html/a16242.html
+IDDecoyProbability
+
+# personal communication with author V. Bafna: 
+# "InsPect is no longer maintained as there are many better tools including MS-GF+"
+InspectAdapter
+
+# licence? see https://github.com/bioconda/bioconda-recipes/issues/18953
+#MSFraggerAdapter
+
+# seems currently unusable https://github.com/OpenMS/OpenMS/pull/4443
+OpenSwathDIAPreScoring
+
+# https://github.com/OpenMS/OpenMS/issues/4550#issuecomment-594065727
+ProteomicsLFQ
+
+# https://github.com/OpenMS/OpenMS/issues/4401
+InclusionExclusionListCreator
+RTPredict
+PTPredict