diff OpenSwathWorkflow.xml @ 14:ec4490c65f95 draft default tip

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
author galaxyp
date Fri, 14 Jun 2024 21:38:33 +0000
parents 4a7b96835140
children
line wrap: on
line diff
--- a/OpenSwathWorkflow.xml	Thu Dec 01 19:20:41 2022 +0000
+++ b/OpenSwathWorkflow.xml	Fri Jun 14 21:38:33 2024 +0000
@@ -1,6 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
 <!--This is a configuration file for the integration of a tools into Galaxy (https://galaxyproject.org/). This file was automatically generated using CTDConverter.-->
-<!--Proposed Tool Section: [Utilities]-->
+<!--Proposed Tool Section: []-->
 <tool id="OpenSwathWorkflow" name="OpenSwathWorkflow" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
   <description>Complete workflow to run OpenSWATH</description>
   <macros>
@@ -15,20 +14,20 @@
 
 ## Preprocessing
 mkdir in &&
-ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
+cp '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
 mkdir tr &&
-ln -s '$tr' 'tr/${re.sub("[^\w\-_]", "_", $tr.element_identifier)}.$gxy2omsext($tr.ext)' &&
+cp '$tr' 'tr/${re.sub("[^\w\-_]", "_", $tr.element_identifier)}.$gxy2omsext($tr.ext)' &&
 #if $tr_irt:
   mkdir tr_irt &&
-  ln -s '$tr_irt' 'tr_irt/${re.sub("[^\w\-_]", "_", $tr_irt.element_identifier)}.$gxy2omsext($tr_irt.ext)' &&
+  cp '$tr_irt' 'tr_irt/${re.sub("[^\w\-_]", "_", $tr_irt.element_identifier)}.$gxy2omsext($tr_irt.ext)' &&
 #end if
 #if $tr_irt_nonlinear:
   mkdir tr_irt_nonlinear &&
-  ln -s '$tr_irt_nonlinear' 'tr_irt_nonlinear/${re.sub("[^\w\-_]", "_", $tr_irt_nonlinear.element_identifier)}.$gxy2omsext($tr_irt_nonlinear.ext)' &&
+  cp '$tr_irt_nonlinear' 'tr_irt_nonlinear/${re.sub("[^\w\-_]", "_", $tr_irt_nonlinear.element_identifier)}.$gxy2omsext($tr_irt_nonlinear.ext)' &&
 #end if
 #if $swath_windows_file:
   mkdir swath_windows_file &&
-  ln -s '$swath_windows_file' 'swath_windows_file/${re.sub("[^\w\-_]", "_", $swath_windows_file.element_identifier)}.$gxy2omsext($swath_windows_file.ext)' &&
+  cp '$swath_windows_file' 'swath_windows_file/${re.sub("[^\w\-_]", "_", $swath_windows_file.element_identifier)}.$gxy2omsext($swath_windows_file.ext)' &&
 #end if
 #if "out_features_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   mkdir out_features &&
@@ -51,11 +50,13 @@
 #if "irt_trafo_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   mkdir Debugging_irt_trafo &&
 #end if
+## advanced options
   #if $adv_opts.rt_norm:
     mkdir adv_opts.rt_norm &&
-    ln -s '$adv_opts.rt_norm' 'adv_opts.rt_norm/${re.sub("[^\w\-_]", "_", $adv_opts.rt_norm.element_identifier)}.$gxy2omsext($adv_opts.rt_norm.ext)' &&
+    cp '$adv_opts.rt_norm' 'adv_opts.rt_norm/${re.sub("[^\w\-_]", "_", $adv_opts.rt_norm.element_identifier)}.$gxy2omsext($adv_opts.rt_norm.ext)' &&
   #end if
 
+
 ## Main program call
 
 set -o pipefail &&
@@ -106,10 +107,12 @@
   -Debugging:irt_trafo
   'Debugging_irt_trafo/output.${gxy2omsext("trafoxml")}'
 #end if
+## advanced options
   #if $adv_opts.rt_norm:
     -rt_norm
     'adv_opts.rt_norm/${re.sub("[^\w\-_]", "_", $adv_opts.rt_norm.element_identifier)}.$gxy2omsext($adv_opts.rt_norm.ext)'
   #end if
+
 #if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
   | tee '$stdout'
 #end if
@@ -144,20 +147,21 @@
     <configfile name="hardcoded_json"><![CDATA[{"tempDirectory": "\$TMP_DIR", "outer_loop_threads": "1", "log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
   </configfiles>
   <inputs>
-    <param argument="-in" type="data" format="mzml,mzxml,sqmass" optional="false" label="Input files separated by blank" help=" select mzml,mzxml,sqmass data sets(s)"/>
-    <param argument="-tr" type="data" format="pqp,tabular,traml" optional="false" label="transition file ('TraML','tsv','pqp')" help=" select pqp,tabular,traml data sets(s)"/>
+    <param argument="-in" type="data" format="mzml,mzxml,sqmass" label="Input files separated by blank" help=" select mzml,mzxml,sqmass data sets(s)"/>
+    <param argument="-tr" type="data" format="pqp,tabular,traml" label="transition file ('TraML','tsv','pqp')" help=" select pqp,tabular,traml data sets(s)"/>
     <param argument="-tr_irt" type="data" format="pqp,tabular,traml" optional="true" label="transition file ('TraML')" help=" select pqp,tabular,traml data sets(s)"/>
     <param argument="-tr_irt_nonlinear" type="data" format="pqp,tabular,traml" optional="true" label="additional nonlinear transition file ('TraML')" help=" select pqp,tabular,traml data sets(s)"/>
     <param argument="-swath_windows_file" type="data" format="txt" optional="true" label="Optional, tab-separated file containing the SWATH windows for extraction: lower_offset upper_offset" help="Note that the first line is a header and will be skipped select txt data sets(s)"/>
     <param argument="-sonar" type="boolean" truevalue="true" falsevalue="false" checked="false" label="data is scanning SWATH data" help=""/>
-    <param argument="-rt_extraction_window" type="float" optional="true" value="600.0" label="Only extract RT around this value (-1 means extract over the whole range, a value of 600 means to extract around +/- 300 s of the expected elution)" help=""/>
-    <param argument="-ion_mobility_window" type="float" optional="true" value="-1.0" label="Extraction window in ion mobility dimension (in milliseconds)" help="This is the full window size, e.g. a value of 10 milliseconds would extract 5 milliseconds on either side"/>
-    <param argument="-mz_extraction_window" type="float" optional="true" min="0.0" value="50.0" label="Extraction window in Thomson or ppm (see mz_extraction_window_unit)" help=""/>
-    <param argument="-mz_extraction_window_ms1" type="float" optional="true" min="0.0" value="50.0" label="Extraction window used in MS1 in Thomson or ppm (see mz_extraction_window_ms1_unit)" help=""/>
-    <param argument="-im_extraction_window_ms1" type="float" optional="true" value="-1.0" label="Extraction window in ion mobility dimension for MS1 (in milliseconds)" help=""/>
+    <param argument="-pasef" type="boolean" truevalue="true" falsevalue="false" checked="false" label="data is PASEF data" help=""/>
+    <param argument="-rt_extraction_window" type="float" value="600.0" label="Only extract RT around this value (-1 means extract over the whole range, a value of 600 means to extract around +/- 300 s of the expected elution)" help=""/>
+    <param argument="-ion_mobility_window" type="float" value="-1.0" label="Extraction window in ion mobility dimension (in 1/k0 or milliseconds depending on library)" help="This is the full window size, e.g. a value of 10 milliseconds would extract 5 milliseconds on either side. -1 means extract over the whole range or ion mobility is not present. (Default for diaPASEF data: 0.06 1/k0)"/>
+    <param argument="-mz_extraction_window" type="float" min="0.0" value="50.0" label="Extraction window in Thomson or ppm (see mz_extraction_window_unit)" help=""/>
+    <param argument="-mz_extraction_window_ms1" type="float" min="0.0" value="50.0" label="Extraction window used in MS1 in Thomson or ppm (see mz_extraction_window_ms1_unit)" help=""/>
+    <param argument="-im_extraction_window_ms1" type="float" value="-1.0" label="Extraction window in ion mobility dimension for MS1 (in 1/k0 or milliseconds depending on library)" help="-1 means this is not ion mobility data"/>
     <section name="Calibration" title="Parameters for the m/z and ion mobility calibration" help="" expanded="false">
       <param name="ms1_im_calibration" argument="-Calibration:ms1_im_calibration" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Whether to use MS1 precursor data for the ion mobility calibration (default = false, uses MS2 / fragment ions for calibration)" help=""/>
-      <param name="im_correction_function" argument="-Calibration:im_correction_function" type="select" optional="true" label="Type of normalization function for IM calibration" help="">
+      <param name="im_correction_function" argument="-Calibration:im_correction_function" type="select" label="Type of normalization function for IM calibration" help="">
         <option value="none">none</option>
         <option value="linear" selected="true">linear</option>
         <expand macro="list_string_san" name="im_correction_function"/>
@@ -170,7 +174,7 @@
       </param>
     </section>
     <section name="Library" title="Library parameters section" help="" expanded="false">
-      <param name="retentionTimeInterpretation" argument="-Library:retentionTimeInterpretation" type="select" optional="true" label="How to interpret the provided retention time (the retention time column can either be interpreted to be in iRT, minutes or seconds)" help="">
+      <param name="retentionTimeInterpretation" argument="-Library:retentionTimeInterpretation" type="select" label="How to interpret the provided retention time (the retention time column can either be interpreted to be in iRT, minutes or seconds)" help="">
         <option value="iRT" selected="true">iRT</option>
         <option value="seconds">seconds</option>
         <option value="minutes">minutes</option>
@@ -180,14 +184,14 @@
       <param name="force_invalid_mods" argument="-Library:force_invalid_mods" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Force reading even if invalid modifications are encountered (OpenMS may not recognize the modification)" help=""/>
     </section>
     <section name="RTNormalization" title="Parameters for the RTNormalization for iRT petides" help="This specifies how the RT alignment is performed and how outlier detection is applied. Outlier detection can be done iteratively (by default) which removes one outlier per iteration or using the RANSAC algorithm" expanded="false">
-      <param name="alignmentMethod" argument="-RTNormalization:alignmentMethod" type="select" optional="true" label="How to perform the alignment to the normalized RT space using anchor points" help="'linear': perform linear regression (for few anchor points). 'interpolated': Interpolate between anchor points (for few, noise-free anchor points). 'lowess' Use local regression (for many, noisy anchor points). 'b_spline' use b splines for smoothing">
+      <param name="alignmentMethod" argument="-RTNormalization:alignmentMethod" type="select" label="How to perform the alignment to the normalized RT space using anchor points" help="'linear': perform linear regression (for few anchor points). 'interpolated': Interpolate between anchor points (for few, noise-free anchor points). 'lowess' Use local regression (for many, noisy anchor points). 'b_spline' use b splines for smoothing">
         <option value="linear" selected="true">linear</option>
         <option value="interpolated">interpolated</option>
         <option value="lowess">lowess</option>
         <option value="b_spline">b_spline</option>
         <expand macro="list_string_san" name="alignmentMethod"/>
       </param>
-      <param name="outlierMethod" argument="-RTNormalization:outlierMethod" type="select" optional="true" label="Which outlier detection method to use (valid: 'iter_residual', 'iter_jackknife', 'ransac', 'none')" help="Iterative methods remove one outlier at a time. Jackknife approach optimizes for maximum r-squared improvement while 'iter_residual' removes the datapoint with the largest residual error (removal by residual is computationally cheaper, use this with lots of peptides)">
+      <param name="outlierMethod" argument="-RTNormalization:outlierMethod" type="select" label="Which outlier detection method to use (valid: 'iter_residual', 'iter_jackknife', 'ransac', 'none')" help="Iterative methods remove one outlier at a time. Jackknife approach optimizes for maximum r-squared improvement while 'iter_residual' removes the datapoint with the largest residual error (removal by residual is computationally cheaper, use this with lots of peptides)">
         <option value="iter_residual" selected="true">iter_residual</option>
         <option value="iter_jackknife">iter_jackknife</option>
         <option value="ransac">ransac</option>
@@ -195,52 +199,52 @@
         <expand macro="list_string_san" name="outlierMethod"/>
       </param>
       <param name="useIterativeChauvenet" argument="-RTNormalization:useIterativeChauvenet" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Whether to use Chauvenet's criterion when using iterative methods" help="This should be used if the algorithm removes too many datapoints but it may lead to true outliers being retained"/>
-      <param name="RANSACMaxIterations" argument="-RTNormalization:RANSACMaxIterations" type="integer" optional="true" value="1000" label="Maximum iterations for the RANSAC outlier detection algorithm" help=""/>
-      <param name="RANSACMaxPercentRTThreshold" argument="-RTNormalization:RANSACMaxPercentRTThreshold" type="integer" optional="true" value="3" label="Maximum threshold in RT dimension for the RANSAC outlier detection algorithm (in percent of the total gradient)" help="Default is set to 3% which is around +/- 4 minutes on a 120 gradient"/>
-      <param name="RANSACSamplingSize" argument="-RTNormalization:RANSACSamplingSize" type="integer" optional="true" value="10" label="Sampling size of data points per iteration for the RANSAC outlier detection algorithm" help=""/>
+      <param name="RANSACMaxIterations" argument="-RTNormalization:RANSACMaxIterations" type="integer" value="1000" label="Maximum iterations for the RANSAC outlier detection algorithm" help=""/>
+      <param name="RANSACMaxPercentRTThreshold" argument="-RTNormalization:RANSACMaxPercentRTThreshold" type="integer" value="3" label="Maximum threshold in RT dimension for the RANSAC outlier detection algorithm (in percent of the total gradient)" help="Default is set to 3% which is around +/- 4 minutes on a 120 gradient"/>
+      <param name="RANSACSamplingSize" argument="-RTNormalization:RANSACSamplingSize" type="integer" value="10" label="Sampling size of data points per iteration for the RANSAC outlier detection algorithm" help=""/>
       <param name="estimateBestPeptides" argument="-RTNormalization:estimateBestPeptides" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Whether the algorithms should try to choose the best peptides based on their peak shape for normalization" help="Use this option you do not expect all your peptides to be detected in a sample and too many 'bad' peptides enter the outlier removal step (e.g. due to them being endogenous peptides or using a less curated list of peptides)"/>
-      <param name="InitialQualityCutoff" argument="-RTNormalization:InitialQualityCutoff" type="float" optional="true" value="0.5" label="The initial overall quality cutoff for a peak to be scored (range ca" help="-2 to 2)"/>
-      <param name="OverallQualityCutoff" argument="-RTNormalization:OverallQualityCutoff" type="float" optional="true" value="5.5" label="The overall quality cutoff for a peak to go into the retention time estimation (range ca" help="0 to 10)"/>
-      <param name="NrRTBins" argument="-RTNormalization:NrRTBins" type="integer" optional="true" value="10" label="Number of RT bins to use to compute coverage" help="This option should be used to ensure that there is a complete coverage of the RT space (this should detect cases where only a part of the RT gradient is actually covered by normalization peptides)"/>
-      <param name="MinPeptidesPerBin" argument="-RTNormalization:MinPeptidesPerBin" type="integer" optional="true" value="1" label="Minimal number of peptides that are required for a bin to counted as 'covered'" help=""/>
-      <param name="MinBinsFilled" argument="-RTNormalization:MinBinsFilled" type="integer" optional="true" value="8" label="Minimal number of bins required to be covered" help=""/>
+      <param name="InitialQualityCutoff" argument="-RTNormalization:InitialQualityCutoff" type="float" value="0.5" label="The initial overall quality cutoff for a peak to be scored (range ca" help="-2 to 2)"/>
+      <param name="OverallQualityCutoff" argument="-RTNormalization:OverallQualityCutoff" type="float" value="5.5" label="The overall quality cutoff for a peak to go into the retention time estimation (range ca" help="0 to 10)"/>
+      <param name="NrRTBins" argument="-RTNormalization:NrRTBins" type="integer" value="10" label="Number of RT bins to use to compute coverage" help="This option should be used to ensure that there is a complete coverage of the RT space (this should detect cases where only a part of the RT gradient is actually covered by normalization peptides)"/>
+      <param name="MinPeptidesPerBin" argument="-RTNormalization:MinPeptidesPerBin" type="integer" value="1" label="Minimal number of peptides that are required for a bin to counted as 'covered'" help=""/>
+      <param name="MinBinsFilled" argument="-RTNormalization:MinBinsFilled" type="integer" value="8" label="Minimal number of bins required to be covered" help=""/>
       <section name="lowess" title="" help="" expanded="false">
-        <param name="span" argument="-RTNormalization:lowess:span" type="float" optional="true" min="0.0" max="1.0" value="0.05" label="Span parameter for lowess" help=""/>
+        <param name="span" argument="-RTNormalization:lowess:span" type="float" min="0.0" max="1.0" value="0.05" label="Span parameter for lowess" help=""/>
       </section>
       <section name="b_spline" title="" help="" expanded="false">
-        <param name="num_nodes" argument="-RTNormalization:b_spline:num_nodes" type="integer" optional="true" min="0" value="5" label="Number of nodes for b spline" help=""/>
+        <param name="num_nodes" argument="-RTNormalization:b_spline:num_nodes" type="integer" min="0" value="5" label="Number of nodes for b spline" help=""/>
       </section>
     </section>
     <section name="Scoring" title="Scoring parameters section" help="" expanded="false">
-      <param name="stop_report_after_feature" argument="-Scoring:stop_report_after_feature" type="integer" optional="true" value="5" label="Stop reporting after feature (ordered by quality; -1 means do not stop)" help=""/>
-      <param name="rt_normalization_factor" argument="-Scoring:rt_normalization_factor" type="float" optional="true" value="100.0" label="The normalized RT is expected to be between 0 and 1" help="If your normalized RT has a different range, pass this here (e.g. it goes from 0 to 100, set this value to 100)"/>
-      <param name="quantification_cutoff" argument="-Scoring:quantification_cutoff" type="float" optional="true" min="0.0" value="0.0" label="Cutoff in m/z below which peaks should not be used for quantification any more" help=""/>
+      <param name="stop_report_after_feature" argument="-Scoring:stop_report_after_feature" type="integer" value="5" label="Stop reporting after feature (ordered by quality; -1 means do not stop)" help=""/>
+      <param name="rt_normalization_factor" argument="-Scoring:rt_normalization_factor" type="float" value="100.0" label="The normalized RT is expected to be between 0 and 1" help="If your normalized RT has a different range, pass this here (e.g. it goes from 0 to 100, set this value to 100)"/>
+      <param name="quantification_cutoff" argument="-Scoring:quantification_cutoff" type="float" min="0.0" value="0.0" label="Cutoff in m/z below which peaks should not be used for quantification any more" help=""/>
       <param name="write_convex_hull" argument="-Scoring:write_convex_hull" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Whether to write out all points of all features into the featureXML" help=""/>
-      <param name="spectrum_addition_method" argument="-Scoring:spectrum_addition_method" type="select" optional="true" label="For spectrum addition, either use simple concatenation or use peak resampling" help="">
+      <param name="spectrum_addition_method" argument="-Scoring:spectrum_addition_method" type="select" label="For spectrum addition, either use simple concatenation or use peak resampling" help="">
         <option value="simple" selected="true">simple</option>
         <option value="resample">resample</option>
         <expand macro="list_string_san" name="spectrum_addition_method"/>
       </param>
-      <param name="add_up_spectra" argument="-Scoring:add_up_spectra" type="integer" optional="true" min="1" value="1" label="Add up spectra around the peak apex (needs to be a non-even integer)" help=""/>
-      <param name="spacing_for_spectra_resampling" argument="-Scoring:spacing_for_spectra_resampling" type="float" optional="true" min="0.0" value="0.005" label="If spectra are to be added, use this spacing to add them up" help=""/>
-      <param name="uis_threshold_sn" argument="-Scoring:uis_threshold_sn" type="integer" optional="true" value="-1" label="S/N threshold to consider identification transition (set to -1 to consider all)" help=""/>
-      <param name="uis_threshold_peak_area" argument="-Scoring:uis_threshold_peak_area" type="integer" optional="true" value="0" label="Peak area threshold to consider identification transition (set to -1 to consider all)" help=""/>
-      <param name="scoring_model" argument="-Scoring:scoring_model" type="select" optional="true" label="Scoring model to use" help="">
+      <param name="add_up_spectra" argument="-Scoring:add_up_spectra" type="integer" min="1" value="1" label="Add up spectra around the peak apex (needs to be a non-even integer)" help=""/>
+      <param name="spacing_for_spectra_resampling" argument="-Scoring:spacing_for_spectra_resampling" type="float" min="0.0" value="0.005" label="If spectra are to be added, use this spacing to add them up" help=""/>
+      <param name="uis_threshold_sn" argument="-Scoring:uis_threshold_sn" type="integer" value="-1" label="S/N threshold to consider identification transition (set to -1 to consider all)" help=""/>
+      <param name="uis_threshold_peak_area" argument="-Scoring:uis_threshold_peak_area" type="integer" value="0" label="Peak area threshold to consider identification transition (set to -1 to consider all)" help=""/>
+      <param name="scoring_model" argument="-Scoring:scoring_model" type="select" label="Scoring model to use" help="">
         <option value="default" selected="true">default</option>
         <option value="single_transition">single_transition</option>
         <expand macro="list_string_san" name="scoring_model"/>
       </param>
-      <param name="im_extra_drift" argument="-Scoring:im_extra_drift" type="float" optional="true" min="0.0" value="0.0" label="Extra drift time to extract for IM scoring (as a fraction" help="e.g. 0.25 means 25% extra on each side)"/>
+      <param name="im_extra_drift" argument="-Scoring:im_extra_drift" type="float" min="0.0" value="0.0" label="Extra drift time to extract for IM scoring (as a fraction" help="e.g. 0.25 means 25% extra on each side)"/>
       <param name="strict" argument="-Scoring:strict" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Whether to error (true) or skip (false) if a transition in a transition group does not have a corresponding chromatogram" help=""/>
       <section name="TransitionGroupPicker" title="" help="" expanded="false">
-        <param name="stop_after_feature" argument="-Scoring:TransitionGroupPicker:stop_after_feature" type="integer" optional="true" value="-1" label="Stop finding after feature (ordered by intensity; -1 means do not stop)" help=""/>
-        <param name="min_peak_width" argument="-Scoring:TransitionGroupPicker:min_peak_width" type="float" optional="true" value="-1.0" label="Minimal peak width (s), discard all peaks below this value (-1 means no action)" help=""/>
-        <param name="peak_integration" argument="-Scoring:TransitionGroupPicker:peak_integration" type="select" optional="true" label="Calculate the peak area and height either the smoothed or the raw chromatogram data" help="">
+        <param name="stop_after_feature" argument="-Scoring:TransitionGroupPicker:stop_after_feature" type="integer" value="-1" label="Stop finding after feature (ordered by intensity; -1 means do not stop)" help=""/>
+        <param name="min_peak_width" argument="-Scoring:TransitionGroupPicker:min_peak_width" type="float" value="-1.0" label="Minimal peak width (s), discard all peaks below this value (-1 means no action)" help=""/>
+        <param name="peak_integration" argument="-Scoring:TransitionGroupPicker:peak_integration" type="select" label="Calculate the peak area and height either the smoothed or the raw chromatogram data" help="">
           <option value="original" selected="true">original</option>
           <option value="smoothed">smoothed</option>
           <expand macro="list_string_san" name="peak_integration"/>
         </param>
-        <param name="background_subtraction" argument="-Scoring:TransitionGroupPicker:background_subtraction" type="select" optional="true" label="Remove background from peak signal using estimated noise levels" help="The 'original' method is only provided for historical purposes, please use the 'exact' method and set parameters using the PeakIntegrator: settings. The same original or smoothed chromatogram specified by peak_integration will be used for background estimation">
+        <param name="background_subtraction" argument="-Scoring:TransitionGroupPicker:background_subtraction" type="select" label="Remove background from peak signal using estimated noise levels" help="The 'original' method is only provided for historical purposes, please use the 'exact' method and set parameters using the PeakIntegrator: settings. The same original or smoothed chromatogram specified by peak_integration will be used for background estimation">
           <option value="none" selected="true">none</option>
           <option value="original">original</option>
           <option value="exact">exact</option>
@@ -249,27 +253,27 @@
         <param name="recalculate_peaks" argument="-Scoring:TransitionGroupPicker:recalculate_peaks" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Tries to get better peak picking by looking at peak consistency of all picked peaks" help="Tries to use the consensus (median) peak border if the variation within the picked peaks is too large"/>
         <param name="use_precursors" argument="-Scoring:TransitionGroupPicker:use_precursors" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use precursor chromatogram for peak picking (note that this may lead to precursor signal driving the peak picking)" help=""/>
         <param name="use_consensus" argument="-Scoring:TransitionGroupPicker:use_consensus" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Use consensus peak boundaries when computing transition group picking (if false, compute independent peak boundaries for each transition)" help=""/>
-        <param name="recalculate_peaks_max_z" argument="-Scoring:TransitionGroupPicker:recalculate_peaks_max_z" type="float" optional="true" value="0.75" label="Determines the maximal Z-Score (difference measured in standard deviations) that is considered too large for peak boundaries" help="If the Z-Score is above this value, the median is used for peak boundaries (default value 1.0)"/>
-        <param name="minimal_quality" argument="-Scoring:TransitionGroupPicker:minimal_quality" type="float" optional="true" value="-1.5" label="Only if compute_peak_quality is set, this parameter will not consider peaks below this quality threshold" help=""/>
-        <param name="resample_boundary" argument="-Scoring:TransitionGroupPicker:resample_boundary" type="float" optional="true" value="15.0" label="For computing peak quality, how many extra seconds should be sample left and right of the actual peak" help=""/>
+        <param name="recalculate_peaks_max_z" argument="-Scoring:TransitionGroupPicker:recalculate_peaks_max_z" type="float" value="0.75" label="Determines the maximal Z-Score (difference measured in standard deviations) that is considered too large for peak boundaries" help="If the Z-Score is above this value, the median is used for peak boundaries (default value 1.0)"/>
+        <param name="minimal_quality" argument="-Scoring:TransitionGroupPicker:minimal_quality" type="float" value="-1.5" label="Only if compute_peak_quality is set, this parameter will not consider peaks below this quality threshold" help=""/>
+        <param name="resample_boundary" argument="-Scoring:TransitionGroupPicker:resample_boundary" type="float" value="15.0" label="For computing peak quality, how many extra seconds should be sample left and right of the actual peak" help=""/>
         <param name="compute_peak_quality" argument="-Scoring:TransitionGroupPicker:compute_peak_quality" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Tries to compute a quality value for each peakgroup and detect outlier transitions" help="The resulting score is centered around zero and values above 0 are generally good and below -1 or -2 are usually bad"/>
         <param name="compute_peak_shape_metrics" argument="-Scoring:TransitionGroupPicker:compute_peak_shape_metrics" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Calculates various peak shape metrics" help="(e.g., tailing) that can be used for downstream QC/QA"/>
         <param name="compute_total_mi" argument="-Scoring:TransitionGroupPicker:compute_total_mi" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Compute mutual information metrics for individual transitions that can be used for OpenSWATH/IPF scoring" help=""/>
-        <param name="boundary_selection_method" argument="-Scoring:TransitionGroupPicker:boundary_selection_method" type="select" optional="true" label="Method to use when selecting the best boundaries for peaks" help="">
+        <param name="boundary_selection_method" argument="-Scoring:TransitionGroupPicker:boundary_selection_method" type="select" label="Method to use when selecting the best boundaries for peaks" help="">
           <option value="largest" selected="true">largest</option>
           <option value="widest">widest</option>
           <expand macro="list_string_san" name="boundary_selection_method"/>
         </param>
         <section name="PeakPickerMRM" title="" help="" expanded="false">
-          <param name="sgolay_frame_length" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:sgolay_frame_length" type="integer" optional="true" value="11" label="The number of subsequent data points used for smoothing" help="This number has to be uneven. If it is not, 1 will be added"/>
-          <param name="sgolay_polynomial_order" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:sgolay_polynomial_order" type="integer" optional="true" value="3" label="Order of the polynomial that is fitted" help=""/>
-          <param name="gauss_width" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:gauss_width" type="float" optional="true" value="30.0" label="Gaussian width in seconds, estimated peak size" help=""/>
+          <param name="sgolay_frame_length" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:sgolay_frame_length" type="integer" value="11" label="The number of subsequent data points used for smoothing" help="This number has to be uneven. If it is not, 1 will be added"/>
+          <param name="sgolay_polynomial_order" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:sgolay_polynomial_order" type="integer" value="3" label="Order of the polynomial that is fitted" help=""/>
+          <param name="gauss_width" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:gauss_width" type="float" value="30.0" label="Gaussian width in seconds, estimated peak size" help=""/>
           <param name="use_gauss" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:use_gauss" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use Gaussian filter for smoothing (alternative is Savitzky-Golay filter)" help=""/>
-          <param name="peak_width" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:peak_width" type="float" optional="true" value="-1.0" label="Force a certain minimal peak_width on the data" help="(e.g. extend the peak at least by this amount on both sides) in seconds. -1 turns this feature off"/>
-          <param name="signal_to_noise" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:signal_to_noise" type="float" optional="true" min="0.0" value="0.1" label="Signal-to-noise threshold at which a peak will not be extended any more" help="Note that setting this too high (e.g. 1.0) can lead to peaks whose flanks are not fully captured"/>
+          <param name="peak_width" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:peak_width" type="float" value="-1.0" label="Force a certain minimal peak_width on the data" help="(e.g. extend the peak at least by this amount on both sides) in seconds. -1 turns this feature off"/>
+          <param name="signal_to_noise" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:signal_to_noise" type="float" min="0.0" value="0.1" label="Signal-to-noise threshold at which a peak will not be extended any more" help="Note that setting this too high (e.g. 1.0) can lead to peaks whose flanks are not fully captured"/>
           <param name="write_sn_log_messages" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:write_sn_log_messages" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write out log messages of the signal-to-noise estimator in case of sparse windows or median in rightmost histogram bin" help=""/>
           <param name="remove_overlapping_peaks" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:remove_overlapping_peaks" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Try to remove overlapping peaks during peak picking" help=""/>
-          <param name="method" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:method" type="select" optional="true" label="Which method to choose for chromatographic peak-picking (OpenSWATH legacy on raw data, corrected picking on smoothed chromatogram or Crawdad on smoothed chromatogram)" help="">
+          <param name="method" argument="-Scoring:TransitionGroupPicker:PeakPickerMRM:method" type="select" label="Which method to choose for chromatographic peak-picking (OpenSWATH legacy on raw data, corrected picking on smoothed chromatogram or Crawdad on smoothed chromatogram)" help="">
             <option value="legacy">legacy</option>
             <option value="corrected" selected="true">corrected</option>
             <option value="crawdad">crawdad</option>
@@ -277,13 +281,13 @@
           </param>
         </section>
         <section name="PeakIntegrator" title="" help="" expanded="false">
-          <param name="integration_type" argument="-Scoring:TransitionGroupPicker:PeakIntegrator:integration_type" type="select" optional="true" label="The integration technique to use in integratePeak() and estimateBackground() which uses either the summed intensity, integration by Simpson's rule or trapezoidal integration" help="">
+          <param name="integration_type" argument="-Scoring:TransitionGroupPicker:PeakIntegrator:integration_type" type="select" label="The integration technique to use in integratePeak() and estimateBackground() which uses either the summed intensity, integration by Simpson's rule or trapezoidal integration" help="">
             <option value="intensity_sum" selected="true">intensity_sum</option>
             <option value="simpson">simpson</option>
             <option value="trapezoid">trapezoid</option>
             <expand macro="list_string_san" name="integration_type"/>
           </param>
-          <param name="baseline_type" argument="-Scoring:TransitionGroupPicker:PeakIntegrator:baseline_type" type="select" optional="true" label="The baseline type to use in estimateBackground() based on the peak boundaries" help="A rectangular baseline shape is computed based either on the minimal intensity of the peak boundaries, the maximum intensity or the average intensity (base_to_base)">
+          <param name="baseline_type" argument="-Scoring:TransitionGroupPicker:PeakIntegrator:baseline_type" type="select" label="The baseline type to use in estimateBackground() based on the peak boundaries" help="A rectangular baseline shape is computed based either on the minimal intensity of the peak boundaries, the maximum intensity or the average intensity (base_to_base)">
             <option value="base_to_base" selected="true">base_to_base</option>
             <option value="vertical_division">vertical_division</option>
             <option value="vertical_division_min">vertical_division_min</option>
@@ -294,21 +298,21 @@
         </section>
       </section>
       <section name="DIAScoring" title="" help="" expanded="false">
-        <param name="dia_extraction_window" argument="-Scoring:DIAScoring:dia_extraction_window" type="float" optional="true" min="0.0" value="0.05" label="DIA extraction window in Th or ppm" help=""/>
-        <param name="dia_extraction_unit" argument="-Scoring:DIAScoring:dia_extraction_unit" type="select" optional="true" label="DIA extraction window unit" help="">
+        <param name="dia_extraction_window" argument="-Scoring:DIAScoring:dia_extraction_window" type="float" min="0.0" value="0.05" label="DIA extraction window in Th or ppm" help=""/>
+        <param name="dia_extraction_unit" argument="-Scoring:DIAScoring:dia_extraction_unit" type="select" label="DIA extraction window unit" help="">
           <option value="Th" selected="true">Th</option>
           <option value="ppm">ppm</option>
           <expand macro="list_string_san" name="dia_extraction_unit"/>
         </param>
         <param name="dia_centroided" argument="-Scoring:DIAScoring:dia_centroided" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use centroided DIA data" help=""/>
-        <param name="dia_byseries_intensity_min" argument="-Scoring:DIAScoring:dia_byseries_intensity_min" type="float" optional="true" min="0.0" value="300.0" label="DIA b/y series minimum intensity to conside" help=""/>
-        <param name="dia_byseries_ppm_diff" argument="-Scoring:DIAScoring:dia_byseries_ppm_diff" type="float" optional="true" min="0.0" value="10.0" label="DIA b/y series minimal difference in ppm to conside" help=""/>
-        <param name="dia_nr_isotopes" argument="-Scoring:DIAScoring:dia_nr_isotopes" type="integer" optional="true" min="0" value="4" label="DIA number of isotopes to conside" help=""/>
-        <param name="dia_nr_charges" argument="-Scoring:DIAScoring:dia_nr_charges" type="integer" optional="true" min="0" value="4" label="DIA number of charges to conside" help=""/>
-        <param name="peak_before_mono_max_ppm_diff" argument="-Scoring:DIAScoring:peak_before_mono_max_ppm_diff" type="float" optional="true" min="0.0" value="20.0" label="DIA maximal difference in ppm to count a peak at lower m/z when searching for evidence that a peak might not be monoisotopic" help=""/>
+        <param name="dia_byseries_intensity_min" argument="-Scoring:DIAScoring:dia_byseries_intensity_min" type="float" min="0.0" value="300.0" label="DIA b/y series minimum intensity to conside" help=""/>
+        <param name="dia_byseries_ppm_diff" argument="-Scoring:DIAScoring:dia_byseries_ppm_diff" type="float" min="0.0" value="10.0" label="DIA b/y series minimal difference in ppm to conside" help=""/>
+        <param name="dia_nr_isotopes" argument="-Scoring:DIAScoring:dia_nr_isotopes" type="integer" min="0" value="4" label="DIA number of isotopes to conside" help=""/>
+        <param name="dia_nr_charges" argument="-Scoring:DIAScoring:dia_nr_charges" type="integer" min="0" value="4" label="DIA number of charges to conside" help=""/>
+        <param name="peak_before_mono_max_ppm_diff" argument="-Scoring:DIAScoring:peak_before_mono_max_ppm_diff" type="float" min="0.0" value="20.0" label="DIA maximal difference in ppm to count a peak at lower m/z when searching for evidence that a peak might not be monoisotopic" help=""/>
       </section>
       <section name="EMGScoring" title="" help="" expanded="false">
-        <param name="max_iteration" argument="-Scoring:EMGScoring:max_iteration" type="integer" optional="true" value="10" label="Maximum number of iterations using by Levenberg-Marquardt algorithm" help=""/>
+        <param name="max_iteration" argument="-Scoring:EMGScoring:max_iteration" type="integer" value="10" label="Maximum number of iterations using by Levenberg-Marquardt algorithm" help=""/>
         <param name="init_mom" argument="-Scoring:EMGScoring:init_mom" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Initialize parameters using method of moments estimators" help=""/>
       </section>
       <section name="Scores" title="" help="" expanded="false">
@@ -338,43 +342,43 @@
       <param argument="-sort_swath_maps" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Sort input SWATH files when matching to SWATH windows from swath_windows_file" help=""/>
       <param argument="-enable_ms1" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Extract the precursor ion trace(s) and use for scoring if present" help=""/>
       <param argument="-enable_ipf" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Enable additional scoring of identification assays using IPF (see online documentation)" help=""/>
-      <param name="out_chrom_type" type="select" optional="false" label="File type of output out_chrom (Also output all computed chromatograms output in mzML (chrom.mzML) or sqMass (SQLite format))">
+      <param name="out_chrom_type" type="select" label="File type of output out_chrom (Also output all computed chromatograms output in mzML (chrom.mzML) or sqMass (SQLite format))">
         <option value="mzML">mzml</option>
         <option value="sqMass">sqmass</option>
       </param>
-      <param argument="-min_upper_edge_dist" type="float" optional="true" value="0.0" label="Minimal distance to the upper edge of a Swath window to still consider a precursor, in Thomson" help=""/>
-      <param argument="-extra_rt_extraction_window" type="float" optional="true" min="0.0" value="0.0" label="Output an XIC with a RT-window by this much large" help="(e.g. to visually inspect a larger area of the chromatogram)"/>
-      <param argument="-mz_extraction_window_unit" type="select" optional="true" label="Unit for mz extraction" help="">
+      <param argument="-min_upper_edge_dist" type="float" value="0.0" label="Minimal distance to the upper edge of a Swath window to still consider a precursor, in Thomson" help=""/>
+      <param argument="-extra_rt_extraction_window" type="float" min="0.0" value="0.0" label="Output an XIC with a RT-window by this much large" help="(e.g. to visually inspect a larger area of the chromatogram)"/>
+      <param argument="-mz_extraction_window_unit" type="select" label="Unit for mz extraction" help="">
         <option value="Th">Th</option>
         <option value="ppm" selected="true">ppm</option>
         <expand macro="list_string_san" name="mz_extraction_window_unit"/>
       </param>
-      <param argument="-mz_extraction_window_ms1_unit" type="select" optional="true" label="Unit of the MS1 m/z extraction window" help="">
+      <param argument="-mz_extraction_window_ms1_unit" type="select" label="Unit of the MS1 m/z extraction window" help="">
         <option value="ppm" selected="true">ppm</option>
         <option value="Th">Th</option>
         <expand macro="list_string_san" name="mz_extraction_window_ms1_unit"/>
       </param>
       <param argument="-use_ms1_ion_mobility" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Also perform precursor extraction using the same ion mobility window as for fragment ion extraction" help=""/>
       <param argument="-matching_window_only" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Assume the input data is targeted / PRM-like data with potentially overlapping DIA windows" help="Will only attempt to extract each assay from the *best* matching DIA window (instead of all matching windows)"/>
-      <param argument="-irt_mz_extraction_window" type="float" optional="true" min="0.0" value="50.0" label="Extraction window used for iRT and m/z correction in Thomson or ppm (see irt_mz_extraction_window_unit)" help=""/>
-      <param argument="-irt_mz_extraction_window_unit" type="select" optional="true" label="Unit for mz extraction" help="">
+      <param argument="-irt_mz_extraction_window" type="float" min="0.0" value="50.0" label="Extraction window used for iRT and m/z correction in Thomson or ppm (see irt_mz_extraction_window_unit)" help=""/>
+      <param argument="-irt_mz_extraction_window_unit" type="select" label="Unit for mz extraction" help="">
         <option value="Th">Th</option>
         <option value="ppm" selected="true">ppm</option>
         <expand macro="list_string_san" name="irt_mz_extraction_window_unit"/>
       </param>
-      <param argument="-irt_im_extraction_window" type="float" optional="true" value="-1.0" label="Ion mobility extraction window used for iRT (in 1/K0 or milliseconds)" help=""/>
-      <param argument="-min_rsq" type="float" optional="true" value="0.95" label="Minimum r-squared of RT peptides regression" help=""/>
-      <param argument="-min_coverage" type="float" optional="true" value="0.6" label="Minimum relative amount of RT peptides to keep" help=""/>
+      <param argument="-irt_im_extraction_window" type="float" value="-1.0" label="Ion mobility extraction window used for iRT (in 1/K0 or milliseconds depending on library)" help="-1 means do not perform ion mobility calibration"/>
+      <param argument="-min_rsq" type="float" value="0.95" label="Minimum r-squared of RT peptides regression" help=""/>
+      <param argument="-min_coverage" type="float" value="0.6" label="Minimum relative amount of RT peptides to keep" help=""/>
       <param argument="-split_file_input" type="boolean" truevalue="true" falsevalue="false" checked="false" label="The input files each contain one single SWATH (alternatively: all SWATH are in separate files)" help=""/>
       <param argument="-use_elution_model_score" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Turn on elution model score (EMG fit to peak)" help=""/>
-      <param argument="-readOptions" type="select" optional="true" label="Whether to run OpenSWATH directly on the input data, cache data to disk first or to perform a datareduction step first" help="If you choose cache, make sure to also set tempDirectory">
+      <param argument="-readOptions" type="select" label="Whether to run OpenSWATH directly on the input data, cache data to disk first or to perform a datareduction step first" help="If you choose cache, make sure to also set tempDirectory">
         <option value="normal" selected="true">normal</option>
         <option value="cache">cache</option>
         <option value="cacheWorkingInMemory">cacheWorkingInMemory</option>
         <option value="workingInMemory">workingInMemory</option>
         <expand macro="list_string_san" name="readOptions"/>
       </param>
-      <param argument="-mz_correction_function" type="select" optional="true" label="Use the retention time normalization peptide MS2 masses to perform a mass correction (linear, weighted by intensity linear or quadratic) of all spectra" help="">
+      <param argument="-mz_correction_function" type="select" label="Use the retention time normalization peptide MS2 masses to perform a mass correction (linear, weighted by intensity linear or quadratic) of all spectra" help="">
         <option value="none" selected="true">none</option>
         <option value="regression_delta_ppm">regression_delta_ppm</option>
         <option value="unweighted_regression">unweighted_regression</option>
@@ -385,15 +389,15 @@
         <option value="quadratic_regression_delta_ppm">quadratic_regression_delta_ppm</option>
         <expand macro="list_string_san" name="mz_correction_function"/>
       </param>
-      <param argument="-extraction_function" type="select" optional="true" label="Function used to extract the signal" help="">
+      <param argument="-extraction_function" type="select" label="Function used to extract the signal" help="">
         <option value="tophat" selected="true">tophat</option>
         <option value="bartlett">bartlett</option>
         <expand macro="list_string_san" name="extraction_function"/>
       </param>
-      <param argument="-batchSize" type="integer" optional="true" min="0" value="1000" label="The batch size of chromatograms to process (0 means to only have one batch, sensible values are around 250-1000)" help=""/>
-      <param argument="-ms1_isotopes" type="integer" optional="true" min="0" value="3" label="The number of MS1 isotopes used for extraction" help=""/>
+      <param argument="-batchSize" type="integer" min="0" value="1000" label="The batch size of chromatograms to process (0 means to only have one batch, sensible values are around 250-1000)" help=""/>
+      <param argument="-ms1_isotopes" type="integer" min="0" value="3" label="The number of MS1 isotopes used for extraction" help=""/>
       <param argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/>
-      <param argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help="">
+      <param argument="-test" type="hidden" value="False" label="Enables the test mode (needed for internal use only)" help="" optional="true">
         <expand macro="list_string_san" name="test"/>
       </param>
     </expand>
@@ -440,7 +444,8 @@
       <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
     </data>
   </outputs>
-  <tests><!-- TOPP_OpenSwathWorkflow_1 -->
+  <tests>
+    <!-- TOPP_OpenSwathWorkflow_1 -->
     <test expect_num_outputs="4">
       <section name="adv_opts">
         <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
@@ -450,167 +455,7 @@
         <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="false"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_1_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_1_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
-      <output name="out_qc" file="OpenSwathWorkflow_1_output.json" compare="sim_size" delta_frac="0.7" 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="50.0"/>
-      <param name="mz_extraction_window_ms1" value="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_2 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_2_input.trafoXML"/>
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="false"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
         <param name="mz_extraction_window_ms1_unit" value="ppm"/>
         <param name="use_ms1_ion_mobility" value="true"/>
         <param name="matching_window_only" value="false"/>
@@ -625,336 +470,20 @@
         <param name="mz_correction_function" value="none"/>
         <param name="extraction_function" value="tophat"/>
         <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
+        <param name="ms1_isotopes" value="0"/>
         <param name="force" value="false"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_2_input.mzXML"/>
-      <param name="tr" value="OpenSwathWorkflow_2_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_2_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_2_output.chrom.mzML" compare="sim_size" delta_frac="0.7" 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="50.0"/>
-      <param name="mz_extraction_window_ms1" value="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_3 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="false"/>
-        <param name="test" value="false"/>
+        <param name="test" value="true"/>
       </section>
       <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
       <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <output name="out_features" value="OpenSwathWorkflow_1_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_1_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <output name="out_qc" value="OpenSwathWorkflow_1_output.json" compare="sim_size" delta_frac="0.7" ftype="json"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" value="false"/>
       <param name="rt_extraction_window" value="600.0"/>
       <param name="ion_mobility_window" value="-1.0"/>
-      <param name="mz_extraction_window" value="50.0"/>
-      <param name="mz_extraction_window_ms1" value="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_4 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="false"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_tsv" file="OpenSwathWorkflow_4.tsv.tmp" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_4.chrom.mzML.tmp" compare="sim_size" delta_frac="0.7" 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="50.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
       <param name="mz_extraction_window_ms1" value="50.0"/>
       <param name="im_extraction_window_ms1" value="-1.0"/>
       <section name="Debugging"/>
@@ -1013,166 +542,7 @@
           <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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_5 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="cache"/>
-        <param name="mz_correction_function" value="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="false"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta_frac="0.7" 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="50.0"/>
-      <param name="mz_extraction_window_ms1" value="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="false"/>
+          <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"/>
@@ -1217,195 +587,39 @@
           <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_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_ms1_mi" value="false"/>
           <param name="use_uis_scores" value="false"/>
           <param name="use_ionseries_scores" value="true"/>
           <param name="use_ms2_isotope_scores" value="true"/>
         </section>
       </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- TOPP_OpenSwathWorkflow_6 -->
+    <!-- TOPP_OpenSwathWorkflow_2 -->
     <test expect_num_outputs="3">
       <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_2_input.trafoXML"/>
         <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
+        <param name="enable_ms1" value="false"/>
         <param name="enable_ipf" value="true"/>
         <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="cacheWorkingInMemory"/>
-        <param name="mz_correction_function" value="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="false"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta_frac="0.7" 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="50.0"/>
-      <param name="mz_extraction_window_ms1" value="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_7 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
         <param name="mz_extraction_window_ms1_unit" value="ppm"/>
         <param name="use_ms1_ion_mobility" value="true"/>
         <param name="matching_window_only" value="false"/>
@@ -1420,179 +634,19 @@
         <param name="mz_correction_function" value="none"/>
         <param name="extraction_function" value="tophat"/>
         <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
+        <param name="ms1_isotopes" value="0"/>
         <param name="force" value="false"/>
-        <param name="test" value="false"/>
+        <param name="test" value="true"/>
       </section>
-      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <param name="swath_windows_file" value="swath_windows.txt" ftype="txt"/>
-      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <param name="in" value="OpenSwathWorkflow_2_input.mzXML"/>
+      <param name="tr" value="OpenSwathWorkflow_2_input.TraML"/>
+      <output name="out_features" value="OpenSwathWorkflow_2_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_2_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" value="false"/>
       <param name="rt_extraction_window" value="600.0"/>
       <param name="ion_mobility_window" value="-1.0"/>
-      <param name="mz_extraction_window" value="50.0"/>
-      <param name="mz_extraction_window_ms1" value="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_10 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="true"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <param name="swath_windows_file" value="swath_windows_overlap.txt" ftype="txt"/>
-      <output name="out_features" file="OpenSwathWorkflow_10.featureXML.tmp" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_10.chrom.mzML.tmp" compare="sim_size" delta_frac="0.7" 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="50.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
       <param name="mz_extraction_window_ms1" value="50.0"/>
       <param name="im_extraction_window_ms1" value="-1.0"/>
       <section name="Debugging"/>
@@ -1651,643 +705,7 @@
           <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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_11 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="false"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <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="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="false"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_11_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_11_input_2.TraML"/>
-      <param name="tr_irt" value="OpenSwathWorkflow_11_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_11_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_11_output.chrom.mzML" compare="sim_size" delta_frac="0.7" 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="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <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"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_13 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="false"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_13_input.pqp.tmp"/>
-      <output name="out_osw" file="OpenSwathWorkflow_13.osw" compare="sim_size" delta_frac="0.7" ftype="osw"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_13_output.chrom.mzML" compare="sim_size" delta_frac="0.7" 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="50.0"/>
-      <param name="mz_extraction_window_ms1" value="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_14 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="false"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_14_input.pqp.tmp"/>
-      <output name="out_osw" file="OpenSwathWorkflow_14.osw" compare="sim_size" delta_frac="0.7" ftype="osw"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_14.chrom.tmp.sqMass" compare="sim_size" delta_frac="0.7" 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="50.0"/>
-      <param name="mz_extraction_window_ms1" value="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_15 -->
-    <test expect_num_outputs="3">
-      <section name="adv_opts">
-        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="2"/>
-        <param name="force" value="false"/>
-        <param name="test" value="true"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_15_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_15_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_15_output.chrom.mzML" compare="sim_size" delta_frac="0.7" 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="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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_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"/>
@@ -2350,8 +768,11 @@
           <is_valid_xml/>
         </assert_contents>
       </output>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- TOPP_OpenSwathWorkflow_16 -->
+    <!-- TOPP_OpenSwathWorkflow_3 -->
     <test expect_num_outputs="3">
       <section name="adv_opts">
         <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
@@ -2361,7 +782,7 @@
         <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="ppm"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
         <param name="mz_extraction_window_ms1_unit" value="ppm"/>
         <param name="use_ms1_ion_mobility" value="true"/>
         <param name="matching_window_only" value="false"/>
@@ -2372,22 +793,23 @@
         <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="readOptions" value="normal"/>
         <param name="mz_correction_function" value="none"/>
         <param name="extraction_function" value="tophat"/>
         <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="2"/>
+        <param name="ms1_isotopes" value="0"/>
         <param name="force" value="false"/>
-        <param name="test" value="false"/>
+        <param name="test" value="true"/>
       </section>
-      <param name="in" value="OpenSwathWorkflow_16_input.sqMass"/>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
       <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_16_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_16_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <output name="out_features" value="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" value="false"/>
       <param name="rt_extraction_window" value="600.0"/>
       <param name="ion_mobility_window" value="-1.0"/>
-      <param name="mz_extraction_window" value="50.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
       <param name="mz_extraction_window_ms1" value="50.0"/>
       <param name="im_extraction_window_ms1" value="-1.0"/>
       <section name="Debugging"/>
@@ -2446,7 +868,7 @@
           <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_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"/>
@@ -2491,13 +913,13 @@
           <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_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_ms1_mi" value="false"/>
           <param name="use_uis_scores" value="false"/>
           <param name="use_ionseries_scores" value="true"/>
           <param name="use_ms2_isotope_scores" value="true"/>
@@ -2509,19 +931,23 @@
           <is_valid_xml/>
         </assert_contents>
       </output>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- TOPP_OpenSwathWorkflow_17 -->
+    <!-- TOPP_OpenSwathWorkflow_4 -->
     <test expect_num_outputs="3">
       <section name="adv_opts">
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
         <param name="sort_swath_maps" value="false"/>
         <param name="enable_ms1" value="true"/>
         <param name="enable_ipf" value="true"/>
         <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="ppm"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
         <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
         <param name="matching_window_only" value="false"/>
         <param name="irt_mz_extraction_window" value="50.0"/>
         <param name="irt_mz_extraction_window_unit" value="ppm"/>
@@ -2530,22 +956,23 @@
         <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="readOptions" value="normal"/>
         <param name="mz_correction_function" value="none"/>
         <param name="extraction_function" value="tophat"/>
         <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
+        <param name="ms1_isotopes" value="0"/>
         <param name="force" value="false"/>
-        <param name="test" value="false"/>
+        <param name="test" value="true"/>
       </section>
-      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_17_input.tsv" ftype="tabular"/>
-      <output name="out_features" file="OpenSwathWorkflow_17.featureXML.tmp" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_17.chrom.mzML.tmp" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <output name="out_tsv" value="OpenSwathWorkflow_4.tsv.tmp" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" value="false"/>
       <param name="rt_extraction_window" value="600.0"/>
-      <param name="ion_mobility_window" value="0.05"/>
-      <param name="mz_extraction_window" value="50.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
       <param name="mz_extraction_window_ms1" value="50.0"/>
       <param name="im_extraction_window_ms1" value="-1.0"/>
       <section name="Debugging"/>
@@ -2604,7 +1031,7 @@
           <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_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"/>
@@ -2649,37 +1076,41 @@
           <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_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_ion_mobility_scores" value="false"/>
           <param name="use_ms1_fullscan" value="false"/>
-          <param name="use_ms1_mi" value="true"/>
+          <param name="use_ms1_mi" value="false"/>
           <param name="use_uis_scores" value="false"/>
           <param name="use_ionseries_scores" value="true"/>
           <param name="use_ms2_isotope_scores" value="true"/>
         </section>
       </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- TOPP_OpenSwathWorkflow_17_cache -->
+    <!-- TOPP_OpenSwathWorkflow_5 -->
     <test expect_num_outputs="3">
       <section name="adv_opts">
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
         <param name="sort_swath_maps" value="false"/>
         <param name="enable_ms1" value="true"/>
         <param name="enable_ipf" value="true"/>
         <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="ppm"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
         <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
         <param name="matching_window_only" value="false"/>
         <param name="irt_mz_extraction_window" value="50.0"/>
         <param name="irt_mz_extraction_window_unit" value="ppm"/>
@@ -2692,18 +1123,19 @@
         <param name="mz_correction_function" value="none"/>
         <param name="extraction_function" value="tophat"/>
         <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
+        <param name="ms1_isotopes" value="0"/>
         <param name="force" value="false"/>
-        <param name="test" value="false"/>
+        <param name="test" value="true"/>
       </section>
-      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_17_input.tsv" ftype="tabular"/>
-      <output name="out_features" file="OpenSwathWorkflow_17.featureXML.tmp" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_17.chrom.mzML.tmp" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <output name="out_features" value="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" value="false"/>
       <param name="rt_extraction_window" value="600.0"/>
-      <param name="ion_mobility_window" value="0.05"/>
-      <param name="mz_extraction_window" value="50.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
       <param name="mz_extraction_window_ms1" value="50.0"/>
       <param name="im_extraction_window_ms1" value="-1.0"/>
       <section name="Debugging"/>
@@ -2762,7 +1194,7 @@
           <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_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"/>
@@ -2807,13 +1239,13 @@
           <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_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_ion_mobility_scores" value="false"/>
           <param name="use_ms1_fullscan" value="false"/>
-          <param name="use_ms1_mi" value="true"/>
+          <param name="use_ms1_mi" value="false"/>
           <param name="use_uis_scores" value="false"/>
           <param name="use_ionseries_scores" value="true"/>
           <param name="use_ms2_isotope_scores" value="true"/>
@@ -2825,172 +1257,18 @@
           <is_valid_xml/>
         </assert_contents>
       </output>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- TOPP_OpenSwathWorkflow_17_b -->
+    <!-- TOPP_OpenSwathWorkflow_6 -->
     <test expect_num_outputs="3">
       <section name="adv_opts">
-        <param name="sort_swath_maps" value="false"/>
-        <param name="enable_ms1" value="true"/>
-        <param name="enable_ipf" value="true"/>
-        <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="ppm"/>
-        <param name="mz_extraction_window_ms1_unit" value="ppm"/>
-        <param name="use_ms1_ion_mobility" value="false"/>
-        <param name="matching_window_only" value="false"/>
-        <param name="irt_mz_extraction_window" value="50.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="workingInMemory"/>
-        <param name="mz_correction_function" value="none"/>
-        <param name="extraction_function" value="tophat"/>
-        <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="3"/>
-        <param name="force" value="false"/>
-        <param name="test" value="false"/>
-      </section>
-      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_17_input.pqp.tmp"/>
-      <output name="out_features" file="OpenSwathWorkflow_17_b_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_17_b_output.chrom.mzML" compare="sim_size" delta_frac="0.7" 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="50.0"/>
-      <param name="mz_extraction_window_ms1" value="50.0"/>
-      <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.05"/>
-        </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="-1"/>
-        <param name="uis_threshold_peak_area" value="0"/>
-        <param name="scoring_model" value="default"/>
-        <param name="im_extra_drift" value="0.0"/>
-        <param name="strict" value="true"/>
-        <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="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"/>
-          <param name="init_mom" value="false"/>
-        </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="true"/>
-          <param name="use_uis_scores" value="false"/>
-          <param name="use_ionseries_scores" value="true"/>
-          <param name="use_ms2_isotope_scores" value="true"/>
-        </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>
-    <!-- TOPP_OpenSwathWorkflow_18 -->
-    <test expect_num_outputs="2">
-      <section name="adv_opts">
         <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
         <param name="sort_swath_maps" value="false"/>
         <param name="enable_ms1" value="true"/>
         <param name="enable_ipf" value="true"/>
+        <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"/>
@@ -3004,7 +1282,7 @@
         <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="readOptions" value="cacheWorkingInMemory"/>
         <param name="mz_correction_function" value="none"/>
         <param name="extraction_function" value="tophat"/>
         <param name="batchSize" value="1000"/>
@@ -3014,8 +1292,10 @@
       </section>
       <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
       <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_18_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_features" value="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" 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"/>
@@ -3128,26 +1408,30 @@
           <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_ms1_mi" value="false"/>
           <param name="use_uis_scores" value="false"/>
           <param name="use_ionseries_scores" value="true"/>
           <param name="use_ms2_isotope_scores" value="true"/>
         </section>
       </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
+      <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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- TOPP_OpenSwathWorkflow_19 -->
-    <test expect_num_outputs="2">
+    <!-- TOPP_OpenSwathWorkflow_7 -->
+    <test expect_num_outputs="3">
       <section name="adv_opts">
         <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
         <param name="sort_swath_maps" value="false"/>
         <param name="enable_ms1" value="true"/>
         <param name="enable_ipf" value="true"/>
+        <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"/>
@@ -3171,8 +1455,501 @@
       </section>
       <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
       <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_19_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <param name="swath_windows_file" value="swath_windows.txt" ftype="txt"/>
+      <output name="out_features" value="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="pasef" 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="50.0"/>
+      <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.05"/>
+        </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="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <param name="strict" value="true"/>
+        <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"/>
+          <param name="init_mom" value="false"/>
+        </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"/>
+          <param name="use_ionseries_scores" value="true"/>
+          <param name="use_ms2_isotope_scores" value="true"/>
+        </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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
+    </test>
+    <!-- TOPP_OpenSwathWorkflow_10 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="enable_ms1" value="true"/>
+        <param name="enable_ipf" value="true"/>
+        <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="ppm"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="50.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="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="1000"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="true"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="swath_windows_file" value="swath_windows_overlap.txt" ftype="txt"/>
+      <output name="out_features" value="OpenSwathWorkflow_10.featureXML.tmp" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_10.chrom.mzML.tmp" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" 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="50.0"/>
+      <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.05"/>
+        </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="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <param name="strict" value="true"/>
+        <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"/>
+          <param name="init_mom" value="false"/>
+        </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"/>
+          <param name="use_ionseries_scores" value="true"/>
+          <param name="use_ms2_isotope_scores" value="true"/>
+        </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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
+    </test>
+    <!-- TOPP_OpenSwathWorkflow_13 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="enable_ms1" value="true"/>
+        <param name="enable_ipf" value="true"/>
+        <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="ppm"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="50.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="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="1000"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_13_input.pqp.tmp"/>
+      <output name="out_osw" value="OpenSwathWorkflow_13.osw" compare="sim_size" delta_frac="0.7" ftype="osw"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_13_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="pasef" 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="50.0"/>
+      <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.05"/>
+        </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="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <param name="strict" value="true"/>
+        <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"/>
+          <param name="init_mom" value="false"/>
+        </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"/>
+          <param name="use_ionseries_scores" value="true"/>
+          <param name="use_ms2_isotope_scores" value="true"/>
+        </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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
+    </test>
+    <!-- TOPP_OpenSwathWorkflow_14 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="enable_ms1" value="true"/>
+        <param name="enable_ipf" value="true"/>
+        <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="ppm"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="50.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="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="1000"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_14_input.pqp.tmp"/>
+      <output name="out_osw" value="OpenSwathWorkflow_14.osw" compare="sim_size" delta_frac="0.7" ftype="osw"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_14.chrom.tmp.sqMass" compare="sim_size" delta_frac="0.7" ftype="sqmass"/>
+      <param name="sonar" value="false"/>
+      <param name="pasef" 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"/>
@@ -3279,7 +2056,7 @@
           <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_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"/>
@@ -3291,20 +2068,24 @@
           <param name="use_ms2_isotope_scores" value="true"/>
         </section>
       </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
+      <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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- TOPP_OpenSwathWorkflow_20 -->
-    <test expect_num_outputs="2">
+    <!-- TOPP_OpenSwathWorkflow_16 -->
+    <test expect_num_outputs="3">
       <section name="adv_opts">
         <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
         <param name="sort_swath_maps" value="false"/>
         <param name="enable_ms1" value="true"/>
         <param name="enable_ipf" value="true"/>
+        <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"/>
@@ -3318,18 +2099,20 @@
         <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="readOptions" value="workingInMemory"/>
         <param name="mz_correction_function" value="none"/>
         <param name="extraction_function" value="tophat"/>
         <param name="batchSize" value="1000"/>
-        <param name="ms1_isotopes" value="0"/>
+        <param name="ms1_isotopes" value="2"/>
         <param name="force" value="false"/>
         <param name="test" value="true"/>
       </section>
-      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="in" value="OpenSwathWorkflow_16_input.sqMass"/>
       <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_20_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_features" value="OpenSwathWorkflow_16_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_16_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" 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"/>
@@ -3434,9 +2217,9 @@
           <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_total_mi_score" value="false"/>
           <param name="use_sn_score" value="true"/>
-          <param name="use_mi_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"/>
@@ -3448,15 +2231,18 @@
           <param name="use_ms2_isotope_scores" value="true"/>
         </section>
       </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
+      <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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
-    <!-- TOPP_OpenSwathWorkflow_21 -->
-    <test expect_num_outputs="4">
+    <!-- TOPP_OpenSwathWorkflow_17_cache -->
+    <test expect_num_outputs="3">
       <section name="adv_opts">
         <param name="sort_swath_maps" value="false"/>
         <param name="enable_ms1" value="true"/>
@@ -3466,7 +2252,7 @@
         <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="ppm"/>
-        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="use_ms1_ion_mobility" value="false"/>
         <param name="matching_window_only" value="false"/>
         <param name="irt_mz_extraction_window" value="50.0"/>
         <param name="irt_mz_extraction_window_unit" value="ppm"/>
@@ -3475,7 +2261,7 @@
         <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="readOptions" value="cache"/>
         <param name="mz_correction_function" value="none"/>
         <param name="extraction_function" value="tophat"/>
         <param name="batchSize" value="1000"/>
@@ -3483,19 +2269,18 @@
         <param name="force" value="false"/>
         <param name="test" value="true"/>
       </section>
-      <param name="in" value="OpenSwathWorkflow_21_input.mzML"/>
-      <param name="tr" value="OpenSwathWorkflow_21_input.tsv" ftype="tabular"/>
-      <param name="tr_irt" value="OpenSwathWorkflow_21_input.irt.TraML"/>
-      <output name="out_features" file="OpenSwathWorkflow_21_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_21_output.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_17_input.tsv" ftype="tabular"/>
+      <output name="out_features" value="OpenSwathWorkflow_17_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_17_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" value="false"/>
       <param name="rt_extraction_window" value="600.0"/>
-      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="0.05"/>
       <param name="mz_extraction_window" value="0.05"/>
       <param name="mz_extraction_window_ms1" value="50.0"/>
       <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_frac="0.7" ftype="trafoxml"/>
       <section name="Calibration">
         <param name="ms1_im_calibration" value="false"/>
         <param name="im_correction_function" value="linear"/>
@@ -3521,7 +2306,169 @@
         <param name="MinPeptidesPerBin" value="1"/>
         <param name="MinBinsFilled" value="8"/>
         <section name="lowess">
-          <param name="span" value="0.6666666666666666"/>
+          <param name="span" value="0.05"/>
+        </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="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <param name="strict" value="true"/>
+        <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"/>
+          <param name="init_mom" value="false"/>
+        </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"/>
+          <param name="use_ionseries_scores" value="true"/>
+          <param name="use_ms2_isotope_scores" value="true"/>
+        </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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
+    </test>
+    <!-- TOPP_OpenSwathWorkflow_17_b -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="sort_swath_maps" value="false"/>
+        <param name="enable_ms1" value="true"/>
+        <param name="enable_ipf" value="true"/>
+        <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="ppm"/>
+        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="50.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="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="1000"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_17_input.pqp.tmp"/>
+      <output name="out_features" value="OpenSwathWorkflow_17_b_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_17_b_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="pasef" 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="50.0"/>
+      <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.05"/>
         </section>
         <section name="b_spline">
           <param name="num_nodes" value="5"/>
@@ -3594,9 +2541,9 @@
           <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_total_mi_score" value="false"/>
           <param name="use_sn_score" value="true"/>
-          <param name="use_mi_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"/>
@@ -3608,12 +2555,15 @@
           <param name="use_ms2_isotope_scores" value="true"/>
         </section>
       </section>
-      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG,irt_trafo_FLAG"/>
+      <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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
     <!-- TOPP_OpenSwathWorkflow_22 -->
     <test expect_num_outputs="3">
@@ -3624,7 +2574,7 @@
         <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="ppm"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
         <param name="mz_extraction_window_ms1_unit" value="ppm"/>
         <param name="use_ms1_ion_mobility" value="true"/>
         <param name="matching_window_only" value="true"/>
@@ -3641,16 +2591,17 @@
         <param name="batchSize" value="1000"/>
         <param name="ms1_isotopes" value="3"/>
         <param name="force" value="false"/>
-        <param name="test" value="false"/>
+        <param name="test" value="true"/>
       </section>
       <param name="in" value="OpenSwathWorkflow_22_input.mzML"/>
       <param name="tr" value="OpenSwathWorkflow_22_input.tsv" ftype="tabular"/>
-      <output name="out_features" file="OpenSwathWorkflow_22_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
-      <output name="out_chrom" file="OpenSwathWorkflow_22_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <output name="out_features" value="OpenSwathWorkflow_22_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_22_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
       <param name="sonar" value="false"/>
+      <param name="pasef" value="false"/>
       <param name="rt_extraction_window" value="600.0"/>
       <param name="ion_mobility_window" value="-1.0"/>
-      <param name="mz_extraction_window" value="50.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
       <param name="mz_extraction_window_ms1" value="50.0"/>
       <param name="im_extraction_window_ms1" value="-1.0"/>
       <section name="Debugging"/>
@@ -3709,7 +2660,7 @@
           <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_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"/>
@@ -3754,13 +2705,13 @@
           <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_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_ms1_mi" value="false"/>
           <param name="use_uis_scores" value="false"/>
           <param name="use_ionseries_scores" value="true"/>
           <param name="use_ms2_isotope_scores" value="true"/>
@@ -3772,11 +2723,176 @@
           <is_valid_xml/>
         </assert_contents>
       </output>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
+    </test>
+    <!-- TOPP_OpenSwathWorkflow_23 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="sort_swath_maps" value="false"/>
+        <param name="enable_ms1" value="true"/>
+        <param name="enable_ipf" value="true"/>
+        <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="ppm"/>
+        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="50.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="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="1000"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in" value="OpenSwathWorkflow_23_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_23_input.tsv" ftype="tabular"/>
+      <output name="out_features" value="OpenSwathWorkflow_23_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <output name="out_chrom" value="OpenSwathWorkflow_23_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="pasef" value="true"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="0.1"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="50.0"/>
+      <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.05"/>
+        </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="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <param name="strict" value="true"/>
+        <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"/>
+          <param name="init_mom" value="false"/>
+        </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"/>
+          <param name="use_ionseries_scores" value="true"/>
+          <param name="use_ms2_isotope_scores" value="true"/>
+        </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>
+      <assert_stdout>
+        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
+      </assert_stdout>
     </test>
   </tests>
   <help><![CDATA[Complete workflow to run OpenSWATH
 
 
-For more information, visit http://www.openms.de/doxygen/release/2.8.0/html/UTILS_OpenSwathWorkflow.html]]></help>
+For more information, visit https://openms.de/doxygen/release/3.1.0/html/TOPP_OpenSwathWorkflow.html]]></help>
   <expand macro="references"/>
 </tool>