changeset 0:4f8478024146 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 020906fb54bde7fc143c356f41975c378a741315"
author galaxyp
date Wed, 09 Sep 2020 20:05:38 +0000
parents
children 1af5b39289b8
files OMSSAAdapter.patch PepNovoAdapter.patch RNAMassCalculator.xml filetypes.txt fill_ctd.py fill_ctd_clargs.py generate-foo.sh generate.sh hardcoded_params.json macros.xml macros_autotest.xml macros_discarded_auto.xml macros_test.xml prepare_test_data.sh prepare_test_data_manual.sh readme.md test-data.sh tool-data/pepnovo_models.loc.sample tool_data_table_conf.xml.sample tool_data_table_conf.xml.test tools_blacklist.txt
diffstat 21 files changed, 30217 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OMSSAAdapter.patch	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,10 @@
+--- OMSSAAdapter.xml	2020-06-16 15:51:40.315400730 +0200
++++ /tmp/OMSSAAdapter.xml	2020-06-16 15:50:23.536086074 +0200
+@@ -22,6 +22,7 @@
+ mkdir database &&
+ ln -s '$database' 'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)' &&
+ 
++makeblastdb -dbtype prot -in 'database/${re.sub("[^\w\-_]", "_", $database.element_identifier)}.$gxy2omsext($database.ext)' &&
+ ## Main program call
+ 
+ set -o pipefail &&
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PepNovoAdapter.patch	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,35 @@
+--- PepNovoAdapter.xml	2020-05-12 15:55:24.712831518 +0200
++++ /tmp/PepNovoAdapter.xml	2020-05-12 15:36:31.267276757 +0200
+@@ -42,8 +42,13 @@
+   </configfiles>
+   <inputs>
+     <param name="in" argument="-in" type="data" format="mzml" optional="false" label="input file" help=" select mzml data sets(s)"/>
+-    <param name="model_directory" argument="-model_directory" type="text" optional="false" value="" label="Name of the directory where the model files are kept" help="">
+-      <expand macro="list_string_san"/>
++    <param name="model_directory" argument="-model_directory" type="select" optional="false" label="Name of the directory where the model files are kept" help="">
++        <options from_data_table="pepnovo_models">
++            <column name="name" index="0"/>
++            <column name="value" index="2"/>
++            <filter type="unique_value" name="unique_set" column="0"/>
++            <validator type="no_options" message="No model directory available"/>
++        </options>
+     </param>
+     <param name="correct_pm" argument="-correct_pm" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Find optimal precursor mass and charge values" help=""/>
+     <param name="use_spectrum_charge" argument="-use_spectrum_charge" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Do not correct charge" help=""/>
+@@ -51,8 +56,14 @@
+     <param name="no_quality_filter" argument="-no_quality_filter" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Do not remove low quality spectra" help=""/>
+     <param name="fragment_tolerance" argument="-fragment_tolerance" type="float" optional="true" value="-1.0" label="The fragment tolerance (between 0 and 0.75 Da" help="Set to -1.0 to use model's default setting)"/>
+     <param name="pm_tolerance" argument="-pm_tolerance" type="float" optional="true" value="-1.0" label="The precursor mass tolerance (between 0 and 5.0 Da" help="Set to -1.0 to use model's default setting)"/>
+-    <param name="model" argument="-model" type="text" optional="true" value="CID_IT_TRYP" label="Name of the model that should be used" help="">
+-      <expand macro="list_string_san"/>
++    <param name="model" argument="-model" type="select" label="Name of the model that should be used" help="">
++        <options from_data_table="pepnovo_models">
++            <column name="name" index="1"/>
++            <column name="value" index="1"/>
++            <filter type="param_value" ref="model_directory" column="2"/>
++            <filter type="unique_value" column="1"/>
++            <validator type="no_options" message="No model available"/>
++        </options>
+     </param>
+     <param name="digest" argument="-digest" display="radio" type="select" optional="false" label="Enzyme used for digestion (default TRYPSIN)" help="">
+       <option value="TRYPSIN" selected="true">TRYPSIN</option>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RNAMassCalculator.xml	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,123 @@
+<?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]-->
+<tool id="RNAMassCalculator" name="RNAMassCalculator" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
+  <description>Calculates masses and mass-to-charge ratios of RNA sequences</description>
+  <macros>
+    <token name="@EXECUTABLE@">RNAMassCalculator</token>
+    <import>macros.xml</import>
+    <import>macros_autotest.xml</import>
+    <import>macros_test.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <expand macro="stdio"/>
+  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
+@EXT_FOO@
+#import re
+
+## Preprocessing
+#if $in:
+  mkdir in &&
+  ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
+#end if
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir out &&
+#end if
+
+## Main program call
+
+set -o pipefail &&
+@EXECUTABLE@ -write_ctd ./ &&
+python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
+@EXECUTABLE@ -ini @EXECUTABLE@.ctd
+#if $in:
+  -in
+  'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)'
+#end if
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -out
+  'out/output.${gxy2omsext("txt")}'
+#end if
+#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
+  | tee '$stdout'
+#end if
+
+## Postprocessing
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'out/output.${gxy2omsext("txt")}' '$out'
+#end if
+#if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
+  && mv '@EXECUTABLE@.ctd' '$ctd_out'
+#end if]]></command>
+  <configfiles>
+    <inputs name="args_json" data_style="paths"/>
+    <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
+  </configfiles>
+  <inputs>
+    <param name="in" argument="-in" type="data" format="txt" optional="true" label="Input file with RNA sequences and optionally charge numbers (mutually exclusive to 'in_seq')" help=" select txt data sets(s)"/>
+    <param name="in_seq" argument="-in_seq" type="text" optional="true" value="" label="List of RNA sequences (mutually exclusive to 'in')" help=" (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+      <expand macro="list_string_val"/>
+      <expand macro="list_string_san"/>
+    </param>
+    <param name="charge" argument="-charge" type="text" optional="true" value="0" label="List of charge states; required if 'in_seq' is given" help=" (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+      <expand macro="list_integer_valsan"/>
+    </param>
+    <param name="format" argument="-format" display="radio" type="select" optional="false" label="Output format ('list': human-readable list, 'table': CSV-like table, 'mass_only': mass values only, 'mz_only': m/z values only)" help="">
+      <option value="list" selected="true">list</option>
+      <option value="table">table</option>
+      <option value="mass_only">mass_only</option>
+      <option value="mz_only">mz_only</option>
+      <expand macro="list_string_san"/>
+    </param>
+    <param name="average_mass" argument="-average_mass" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Compute average (instead of monoisotopic) oligonucleotide masses" help=""/>
+    <param name="fragment_type" argument="-fragment_type" type="select" optional="false" label="For what type of sequence/fragment the mass should be computed" help="">
+      <option value="full" selected="true">full</option>
+      <option value="internal">internal</option>
+      <option value="5-prime">5-prime</option>
+      <option value="3-prime">3-prime</option>
+      <option value="a-B-ion">a-B-ion</option>
+      <option value="a-ion">a-ion</option>
+      <option value="b-ion">b-ion</option>
+      <option value="c-ion">c-ion</option>
+      <option value="d-ion">d-ion</option>
+      <option value="w-ion">w-ion</option>
+      <option value="x-ion">x-ion</option>
+      <option value="y-ion">y-ion</option>
+      <option value="z-ion">z-ion</option>
+      <expand macro="list_string_san"/>
+    </param>
+    <param name="separator" argument="-separator" type="text" optional="true" value="" label="Field separator for 'table' output format; by default, the 'tab' character is used" help="">
+      <expand macro="list_string_san"/>
+    </param>
+    <expand macro="adv_opts_macro">
+      <param name="force" argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overwrite tool specific checks" help=""/>
+      <param name="test" argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help="">
+        <expand macro="list_string_san"/>
+      </param>
+    </expand>
+    <param name="OPTIONAL_OUTPUTS" type="select" multiple="true" label="Optional outputs" optional="false">
+      <option value="out_FLAG">out (Enables the test mode (needed for internal use only))</option>
+      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
+    </param>
+  </inputs>
+  <outputs>
+    <data name="out" label="${tool.name} on ${on_string}: out" format="txt">
+      <filter>OPTIONAL_OUTPUTS is not None and "out_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
+    <data name="stdout" format="txt" label="${tool.name} on ${on_string}: stdout">
+      <filter>OPTIONAL_OUTPUTS is None</filter>
+    </data>
+    <data name="ctd_out" format="xml" label="${tool.name} on ${on_string}: ctd">
+      <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
+  </outputs>
+  <tests>
+    <expand macro="autotest_RNAMassCalculator"/>
+    <expand macro="manutest_RNAMassCalculator"/>
+  </tests>
+  <help><![CDATA[Calculates masses and mass-to-charge ratios of RNA sequences
+
+
+For more information, visit http://www.openms.de/documentation/UTILS_RNAMassCalculator.html]]></help>
+  <expand macro="references"/>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/filetypes.txt	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,85 @@
+# CTD type    # Galaxy type
+# the following lines need to be at the top in order to ensure 
+# correct translation Galaxy->CTD type for the ambiguous cases
+# (should only be relevant for the autogenerated tests [which 
+# do not set the ftype of the inputs])
+txt           txt
+tsv           tabular
+
+##analysisXML
+# XTandemAdapter output is named xml in OMS (which is to unspecific) and bioml in Galaxy .. so this is renamed via hardcoded parameters 
+bioml         xml
+consensusXML  consensusxml
+# TODO csv is problematic, since csv often actually means tsv .. but not always
+csv           csv
+##dat
+dta           dta
+dta2d         dta2d
+edta          edta
+fa            fasta
+fas           fasta
+fasta         fasta
+FASTA         fasta
+featureXML    featurexml
+featurexml    featurexml
+# fid
+html          html
+HTML          html
+idXML         idxml
+##ini         txt
+json          json
+kroenik	      kroenik
+mascotXML     mascotxml
+mgf           mgf
+mrm           mrm
+ms            sirius.ms
+ms2           ms2
+msp           msp
+mzData        mzdata
+mzid          mzid
+# important to have mzML first, since LuciphorAdapter is case sensitive https://github.com/OpenMS/OpenMS/issues/4444
+mzML          mzml
+mzml          mzml
+mzq           mzq
+mzTab         mztab
+mzXML         mzxml
+novor         txt
+obo           obo
+# I guess this is the idXML output of omssa
+omssaXML      idxml
+osw           osw
+OSW           osw
+params        txt
+paramXML      paramxml
+fasta         peff
+peplist       peplist
+# TODO pep.xml should be removed with OMS 2.6 https://github.com/OpenMS/OpenMS/pull/4541
+pep.xml       pepxml
+pepXML        pepxml
+png           png
+PNG           png
+protXML       protxml
+psms          psms
+# TODO implement or use
+# psq
+pqp           pqp
+qcML          qcml
+spec.xml      spec.xml
+splib         splib
+sqMass        sqmass
+tandem.xml    tandem
+trafoXML      trafoxml
+traML         traml
+TraML         traml
+tab           tabular
+## MOVED TO TOP txt           txt
+raw           thermo.raw
+## xls: SpectraSTSearchAdapter https://github.com/OpenMS/OpenMS/pull/4419
+xls           tsv
+XML           xml
+xml           xml
+xquest.xml    xquest.xml
+xsd           xml
+
+# TODO needs to be implemented, needs to be below xml in order that Galaxy->OMS mapping gives xml
+# cachedMzML    xml
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fill_ctd.py	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,190 @@
+import collections
+import json
+import operator
+import os
+import re
+import subprocess
+import sys
+from functools import reduce  # forward compatibility for Python 3
+
+from CTDopts.CTDopts import (
+    _Choices,
+    _InFile,
+    _Null,
+    _NumericRange,
+    CTDModel
+)
+
+
+def getFromDict(dataDict, mapList):
+    return reduce(operator.getitem, mapList, dataDict)
+
+
+def setInDict(dataDict, mapList, value):
+    getFromDict(dataDict, mapList[:-1])[mapList[-1]] = value
+
+
+def mergeDicts(d, e):
+    """
+    insert values from the dict e into dict d
+    no values of d are overwritten
+    """
+    for k, v in e.items():
+        if (k in d and isinstance(d[k], dict) and isinstance(e[k], collections.abc.Mapping)):
+            mergeDicts(d[k], e[k])
+        elif k not in d and not isinstance(e[k], collections.abc.Mapping):
+            d[k] = e[k]
+        else:
+            sys.stderr.write("fill_ctd.py: could not merge key %s for %s in %s" % (k, d, e))
+            sys.exit(1)
+
+
+def _json_object_hook_noenvlookup(d):
+    return _json_object_hook(d, envlookup=False)
+
+
+def _json_object_hook(d, envlookup=True):
+    """
+    wee helper to transform the json written by galaxy
+    while loading
+    - True/False (bool objects) -> "true"/"false" (lowercase string)
+    - data inputs with multiple and optional true give [None] if no file is given -> []
+    - None -> "" (empty string)
+    - replace bash expressions (if envlookup is True):
+      - environment variables (need to consist capital letters and _) by their value
+      - expressions
+    """
+    for k in d.keys():
+        # if type(d[k]) is bool:
+        #     d[k] = str(d[k]).lower()
+        # else
+        if type(d[k]) is list and len(d[k]) == 1 and d[k][0] is None:
+            d[k] = []
+        elif d[k] is None:
+            d[k] = ""
+        elif envlookup and type(d[k]) is str and d[k].startswith("$"):
+            m = re.fullmatch(r"\$([A-Z_]+)", d[k])
+            if m:
+                d[k] = os.environ.get(m.group(1), "")
+                continue
+            m = re.fullmatch(r"\$(\{[A-Z_]+):-(.*)\}", d[k])
+            if m:
+                d[k] = os.environ.get(m.group(1), m.group(2))
+                continue
+
+            try:
+                p = subprocess.run("echo %s" % d[k], shell=True, check=True, stdout=subprocess.PIPE, encoding="utf8")
+                d[k] = p.stdout.strip()
+            except subprocess.CalledProcessError:
+                sys.stderr.write("fill_ctd error: Could not evaluate %s" % d[k])
+                continue
+    return d
+
+
+def qstring2list(qs):
+    """
+    transform a space separated string that is quoted by " into a list
+    """
+    lst = list()
+    qs = qs.split(" ")
+    quoted = False
+    for p in qs:
+        if p == "":
+            continue
+        if p.startswith('"') and p.endswith('"'):
+            lst.append(p[1:-1])
+        elif p.startswith('"'):
+            quoted = True
+            lst.append(p[1:] + " ")
+        elif p.endswith('"'):
+            quoted = False
+            lst[-1] += p[:-1]
+        else:
+            if quoted:
+                lst[-1] += p + " "
+            else:
+                lst.append(p)
+    return lst
+
+
+def fix_underscores(args):
+    if type(args) is dict:
+        for k in list(args.keys()):
+            v = args[k]
+            if type(v) is dict:
+                fix_underscores(args[k])
+            if k.startswith("_"):
+                args[k[1:]] = v
+                del args[k]
+    elif type(args) is list:
+        for i, v in enumerate(args):
+            if type(v) is dict:
+                fix_underscores(args[i])
+
+
+input_ctd = sys.argv[1]
+
+# load user specified parameters from json
+with open(sys.argv[2]) as fh:
+    args = json.load(fh, object_hook=_json_object_hook_noenvlookup)
+
+# load hardcoded parameters from json
+with open(sys.argv[3]) as fh:
+    hc_args = json.load(fh, object_hook=_json_object_hook)
+
+# insert the hc_args into the args
+mergeDicts(args, hc_args)
+
+if "adv_opts_cond" in args:
+    args.update(args["adv_opts_cond"])
+    del args["adv_opts_cond"]
+
+# IDMapper has in and spectra:in params, in is used in out as format_source",
+# which does not work in Galaxy: https://github.com/galaxyproject/galaxy/pull/9493"
+# therefore hardcoded params change the name of spectra:in to spectra:_in
+# which is corrected here again
+# TODO remove once PR is in and adapt profile accordingly
+fix_underscores(args)
+
+model = CTDModel(from_file=input_ctd)
+
+# transform values from json that correspond to
+# - old style booleans (string + restrictions) -> transformed to a str
+# - unrestricted ITEMLIST which are represented as strings
+#   ("=quoted and space separated) in Galaxy -> transform to lists
+# - optional data input parameters that have defaults and for which no
+#   value is given -> overwritte with the default
+for p in model.get_parameters():
+
+    # check if the parameter is in the arguments from the galaxy tool
+    # (from the json file(s)), since advanced parameters are absent
+    # if the conditional is set to basic parameters
+    try:
+        getFromDict(args, p.get_lineage(name_only=True))
+    except KeyError:
+        # few tools use dashes in parameters which are automatically replaced
+        # by underscores by Galaxy. in these cases the dictionary needs to be
+        # updated
+        # TODO might be removed later https://github.com/OpenMS/OpenMS/pull/4529
+        try:
+            lineage = [_.replace("-", "_") for _ in p.get_lineage(name_only=True)]
+            val = getFromDict(args, lineage)
+        except KeyError:
+            continue
+        else:
+            setInDict(args, lineage, val)
+
+    if p.type is str and type(p.restrictions) is _Choices and set(p.restrictions.choices) == set(["true", "false"]):
+        v = getFromDict(args, p.get_lineage(name_only=True))
+        setInDict(args, p.get_lineage(name_only=True), str(v).lower())
+
+    elif p.is_list and (p.restrictions is None or type(p.restrictions) is _NumericRange):
+        v = getFromDict(args, p.get_lineage(name_only=True))
+        if type(v) is str:
+            setInDict(args, p.get_lineage(name_only=True), qstring2list(v))
+    elif p.type is _InFile and not (p.default is None or type(p.default) is _Null):
+        v = getFromDict(args, p.get_lineage(name_only=True))
+        if v in [[], ""]:
+            setInDict(args, p.get_lineage(name_only=True), p.default)
+
+model.write_ctd(input_ctd, arg_dict=args)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fill_ctd_clargs.py	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,40 @@
+#!/usr/bin/env python3
+from argparse import ArgumentParser
+from io import StringIO
+
+from CTDopts.CTDopts import (
+    CTDModel,
+    ModelTypeError,
+    Parameters
+)
+
+if __name__ == "__main__":
+    # note add_help=False since otherwise arguments starting with -h will
+    # trigger an error (despite allow_abbreviate)
+    parser = ArgumentParser(prog="fill_ctd_clargs",
+                            description="fill command line arguments"
+                            "into a CTD file and write the CTD file to",
+                            add_help=False, allow_abbrev=False)
+    parser.add_argument("--ctd", dest="ctd", help="input ctd file",
+                        metavar='CTD', default=None, required=True)
+    args, cliargs = parser.parse_known_args()
+    # load CTDModel
+    model = None
+    try:
+        model = CTDModel(from_file=args.ctd)
+    except ModelTypeError:
+        pass
+    try:
+        model = Parameters(from_file=args.ctd)
+    except ModelTypeError:
+        pass
+    assert model is not None, "Could not parse %s, seems to be no CTD/PARAMS" % (args.ctd)
+
+    # get a dictionary of the ctd arguments where the values of the parameters
+    # given on the command line are overwritten
+    margs = model.parse_cl_args(cl_args=cliargs, ignore_required=True)
+
+    # write the ctd with the values taken from the dictionary
+    out = StringIO()
+    ctd_tree = model.write_ctd(out, margs)
+    print(out.getvalue())
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generate-foo.sh	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,217 @@
+#!/usr/bin/env bash
+
+# parse test definitions from OpenMS sources for a tool with a given id
+function get_tests2 {
+	id=$1
+	>&2 echo "generate tests for $id"
+	echo '<xml name="autotest_'"$id"'">'
+
+	# get the tests from the CMakeLists.txt
+	# 1st remove some tests
+	# - Filefilter with empty select_palarity value (empty is not in the list of allowed options)
+	# - MassTraceExtractor with outdated ini file leading to wrong parameters https://github.com/OpenMS/OpenMS/issues/4386
+	# - OpenSwathMzMLFileCacher with -convert_back argumen https://github.com/OpenMS/OpenMS/issues/4399
+    # - IDRipper PATH gets empty causing problems. TODO But overall the option needs to be handled differentlt
+	# - several tools with duplicated input (leads to conflict when linking)
+	# - TOFCalibration inputs we extension (also in prepare_test_data) https://github.com/OpenMS/OpenMS/pull/4525
+	# - MaRaCluster with -consensus_out (parameter blacklister: https://github.com/OpenMS/OpenMS/issues/4456)
+	# - FileMerger with mixed dta dta2d input (ftype can not be specified in the test, dta can not be sniffed)
+	# - some input files are originally in a subdir (degenerated cases/), but not in test-data
+	# - SeedListGenerator: https://github.com/OpenMS/OpenMS/issues/4404
+	# - OpenSwathAnalyzer 9/10: cachedMzML (not supported yet)
+	CMAKE=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake  |
+		sed 's@${DATA_DIR_SHARE}/@@g' |
+		grep -v 'OpenSwathMzMLFileCacher .*-convert_back' |
+	    	sed 's/${TMP_RIP_PATH}/""/' |
+		sed 's@TOFCalibration_ref_masses @TOFCalibration_ref_masses.txt @g; s@TOFCalibration_const @TOFCalibration_const.csv @' |
+		grep -v "MaRaClusterAdapter.*-consensus_out"|
+ 		grep -v "FileMerger_1_input1.dta2d.*FileMerger_1_input2.dta " |
+		sed 's@degenerate_cases/@@g' |
+		grep -v 'TOPP_SeedListGenerator_3"' | 
+		egrep -v 'TOPP_OpenSwathAnalyzer_test_3"|TOPP_OpenSwathAnalyzer_test_4"')
+
+
+# 		grep -v 'FileFilter.*-spectra:select_polarity ""' |
+# 		grep -v 'MassTraceExtractor_2.ini ' |
+# 		grep -v "FileMerger_6_input2.mzML.*FileMerger_6_input2.mzML" |
+# 		grep -v "IDMerger_1_input1.idXML.*IDMerger_1_input1.idXML" |
+# 		grep -v "degenerated_empty.idXML.*degenerated_empty.idXML" |
+# 		grep -v "FeatureLinkerUnlabeledKD_1_output.consensusXML.*FeatureLinkerUnlabeledKD_1_output.consensusXML" |
+# 		grep -v "FeatureLinkerUnlabeledQT_1_output.consensusXML.*FeatureLinkerUnlabeledQT_1_output.consensusXML" |
+
+	# 1st part is a dirty hack to join lines containing a single function call, e.g.
+	# addtest(....
+	#         ....)
+	echo "$CMAKE" | sed 's/#.*//; s/^\s*//; s/\s*$//' | grep -v "^#" | grep -v "^$"  | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | 
+		grep -iE "add_test\(\"(TOPP|UTILS)_.*/$id " | egrep -v "_prepare\"|_convert|WRITEINI|WRITECTD|INVALIDVALUE"  | while read -r line
+	do
+		line=$(echo "$line" | sed 's/add_test("\([^"]\+\)"/\1/; s/)$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g')
+		# >&2 echo $line
+		test_id=$(echo "$line" | cut -d" " -f 1)
+		tool_id=$(echo "$line" | cut -d" " -f 2)
+		if [[ $test_id =~ _out_?[0-9]? ]]; then
+			>&2 echo "    skip $test_id $line"
+			continue
+		fi
+		if [[ ${id,,} != ${tool_id,,} ]]; then
+			>&2 echo "    skip $test_id ($id != $tool_id) $line"
+			continue
+		fi
+
+		#remove tests with set_tests_properties(....PROPERTIES WILL_FAIL 1)
+		if grep -lq "$test_id"'\".* PROPERTIES WILL_FAIL 1' $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake; then
+			>&2 echo "    skip failing "$test_id
+			continue
+		fi
+		tes="  <test>\n"
+		line=$(fix_tmp_files "$line")
+		line=$(unique_files "$line")
+		# >&2 echo $line
+		#if there is an ini file then we use this to generate the test
+		#otherwise the ctd file is used
+		#other command line parameters are inserted later into this xml
+		if grep -lq "\-ini" <<<"$line"; then
+			ini=$(echo $line | sed 's/.*-ini \([^ ]\+\).*/\1/')
+			ini="test-data/$ini"
+		else
+			ini="ctd/$tool_id.ctd"
+		fi
+		cli=$(echo $line |cut -d" " -f3- | sed 's/-ini [^ ]\+//')
+		
+		ctdtmp=$(mktemp)
+		#echo python3 fill_ctd_clargs.py --ctd $ini $cli
+		# using eval: otherwise for some reason quoted values are not used properly ('A B' -> ["'A", "B'"])
+		# >&2 echo "python3 fill_ctd_clargs.py --ctd $ini $cli"
+		eval "python3 fill_ctd_clargs.py --ctd $ini $cli" > "$ctdtmp"
+		# echo $ctdtmp
+ 		# >&2 cat $ctdtmp
+  		testtmp=$(mktemp)
+ 		python3 $CTDCONVERTER/convert.py galaxy -i $ctdtmp -o $testtmp -s tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf  -p hardcoded_params.json --tool-version $VERSION --test-only --test-unsniffable csv tsv txt dta dta2d edta mrm splib > /dev/null
+	   	cat $testtmp | grep -v '<output.*file=""' # | grep -v 'CHEMISTRY/'
+		rm $ctdtmp $testtmp
+
+		#> /dev/null
+
+		#rm $testtmp
+	done 
+	echo '</xml>'
+}
+
+#some tests use the same file twice which does not work in planemo tests
+#hence we create symlinks for each file used twice
+function unique_files {
+	line=$@
+	for arg in $@
+	do
+		if [[ ! -f "test-data/$arg" ]]; then
+			continue
+		fi
+		cnt=$(grep -c $arg <<< $(echo "$line" | tr ' ' '\n'))
+		while [[ $cnt -gt 1 ]]; do
+            new_arg=$(echo $arg | sed "s/\(.*\)\./\1_$cnt./")
+			ln -fs $arg test-data/$new_arg
+			line=$(echo $line | sed "s/\($arg.*\)$arg/\1$new_arg/")
+			cnt=$(grep -c $arg <<< $(echo "$line" | tr ' ' '\n'))
+		done
+	done
+
+	echo $line
+}
+
+# options of out_type selects need to be fixed to Galaxy data types
+function fix_out_type {
+	grep "^$1" "$2" | awk '{print $2}'
+}
+
+#OpenMS tests output to tmp files and compare with FuzzyDiff to the expected file.
+#problem: the extension of the tmp files is unusable for test generation.
+#unfortunately the extensions used in the DIFF lines are not always usable for the CLI
+#(e.g. for prepare_test_data, e.g. CLI expects csv but test file is txt)
+#this function replaces the tmp file by the expected file. 
+function fix_tmp_files {
+#	>&2 echo "FIX $line"
+	ret=""
+	for a in $@; do
+		if [[ ! $a =~ .tmp$ ]]; then
+			ret="$ret $a"
+			continue
+		fi
+#		>&2 echo "    a "$a
+		g=$(cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | grep '\${DIFF}.*'"$a")
+#		>&2 echo "    g "$g
+		in1=$(sed 's/.*-in1 \([^ ]\+\).*/\1/' <<<$g)
+		# >&2 echo "    in1 "$in1
+		if [[  "$a" != "$in1" ]]; then
+			ret="$ret $a"
+			continue
+		fi
+		in2=$(sed 's/.*-in2 \([^ ]\+\).*/\1/' <<<$g)
+		in2=$(basename $in2 | sed 's/)$//')
+		# >&2 echo "    in2 "$in2
+		if [[ -f "test-data/$in2" ]]; then
+			ln -fs "$in1" "test-data/$in2"
+			ret="$ret $in2"
+		else
+			ret="$ret $a"
+		fi
+	done
+#	>&2 echo "--> $ret"
+	echo "$ret"
+}
+
+function link_tmp_files {
+    # note this also considers commented lines (starting with a #)
+    # because of tests where the diff command is commented and we
+    # still want to use the extension of these files
+    cat $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | sed 's/^\s*//; s/\s*$//' | grep -v "^$"  | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | grep "\${DIFF}" | while read -r line
+    do
+        in1=$(sed 's/.*-in1 \([^ ]\+\).*/\1/' <<<$line)
+        in1=$(basename $in1 | sed 's/)$//')
+        in2=$(sed 's/.*-in2 \([^ ]\+\).*/\1/' <<<$line)
+        in2=$(basename $in2 | sed 's/)$//')
+        if [[ "$in1" == "$in2" ]]; then
+            >&2 echo "not linking equal $in1 $in2"
+            continue
+        fi
+        ln -f -s $in1 test-data/$in2
+    done
+    for i in test-data/*.tmp
+    do
+        if [ ! -e test-data/$(basename $i .tmp) ]; then
+            ln -s $(basename $i) test-data/$(basename $i .tmp)
+            #ln -s $(basename $i) test-data/$(basename $i .tmp)
+        else
+            ln -fs $(basename $i) test-data/$(basename $i .tmp)
+        fi
+    done
+}
+
+
+
+# parse data preparation calls from OpenMS sources for a tool with a given id
+function prepare_test_data {
+# 	id=$1
+# | egrep -i "$id\_.*[0-9]+(_prepare\"|_convert)?"
+	cat $OPENMSGIT/src/tests/topp/CMakeLists.txt  $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake | sed 's/#.*$//'| sed 's/^\s*//; s/\s*$//' | grep -v "^$"  | awk '{printf("%s@NEWLINE@", $0)}' | sed 's/)@NEWLINE@/)\n/g' | sed 's/@NEWLINE@/ /g' | 
+		sed 's/degenerate_cases\///' | 
+		egrep -v "WRITEINI|WRITECTD|INVALIDVALUE|DIFF" | 
+		grep add_test | 
+		egrep "TOPP|UTILS" |
+		sed 's@${DATA_DIR_SHARE}/@@g;'|
+		sed 's@${TMP_RIP_PATH}@dummy2.tmp@g'|
+		sed 's@TOFCalibration_ref_masses @TOFCalibration_ref_masses.txt @g; s@TOFCalibration_const @TOFCalibration_const.csv @'| 
+	while read line
+	do
+		test_id=$(echo "$line" | sed 's/add_test(//; s/"//g;  s/)[^)]*$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g' | cut -d" " -f1)
+
+		if grep -lq "$test_id"'\".* PROPERTIES WILL_FAIL 1' $OPENMSGIT/src/tests/topp/CMakeLists.txt $OPENMSGIT/src/tests/topp/THIRDPARTY/third_party_tests.cmake; then
+			>&2 echo "    skip failing "$test_id
+			continue
+		fi
+
+		line=$(echo "$line" | sed 's/add_test("//; s/)[^)]*$//; s/\${TOPP_BIN_PATH}\///g;s/\${DATA_DIR_TOPP}\///g; s#THIRDPARTY/##g' | cut -d" " -f2-)
+		# line="$(fix_tmp_files $line)"
+		echo "$line > $test_id.stdout 2> $test_id.stderr"
+		echo "if [[ \"\$?\" -ne \"0\" ]]; then >&2 echo '$test_id failed'; >&2 echo -e \"stderr:\n\$(cat $test_id.stderr | sed 's/^/    /')\"; echo -e \"stdout:\n\$(cat $test_id.stdout)\";fi"	
+    done
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generate.sh	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+
+# VERSION=2.3
+# CONDAPKG=https://anaconda.org/bioconda/openms/2.3.0/download/linux-64/openms-2.3.0-py27h932d754_3.tar.bz2
+# VERSION=2.4
+# CONDAPKG=https://anaconda.org/bioconda/openms/2.4.0/download/linux-64/openms-2.4.0-py27h574aadf_1.tar.bz2
+
+VERSION=2.5
+FILETYPES="filetypes.txt"
+PROFILE="20.05"
+## FILETYPES_RE=$(grep -v "^#" $FILETYPES | grep -v "^$" | cut -f 1 -d" " | tr '\n' '|' | sed 's/|$//'| sed 's/|/\\|/g')
+
+export tmp=$(mktemp -d)
+
+export CTDCONVERTER="$tmp/CTDConverter"
+
+export PYTHONPATH="$(pwd)/CTDopts/"
+###############################################################################
+## reset old data
+###############################################################################
+# rm $(ls *xml |grep -v macros)
+# rm -rf ctd
+# mkdir -p ctd
+# echo "" > prepare_test_data.sh
+
+###############################################################################
+## generate tests
+## also creates 
+## - conda environment (for executing the binaries) and 
+## - the git clone of OpenMS (for generating the tests)
+## - ctd files
+###############################################################################
+bash ./test-data.sh ./macros_autotest.xml
+
+###############################################################################
+## get the 
+## - conda package (for easy access and listing of the OpenMS binaries), 
+###############################################################################
+# if [ ! -d $OPENMSPKG ]; then
+# 	mkdir $OPENMSPKG/
+# 	wget -P $OPENMSPKG/ "$CONDAPKG"
+# 	tar -xf $OPENMSPKG/"$(basename $CONDAPKG)" -C OpenMS$VERSION-pkg/
+#   rm $OPENMSPKG/"$(basename $CONDAPKG)"
+# fi
+
+###############################################################################
+## Get python libaries for CTD -> Galaxy conversion
+## TODO fix to main repo OR conda packkage if PRs are merged 
+###############################################################################
+# if [ ! -d CTDopts ]; then
+# 	# git clone https://github.com/genericworkflownodes/CTDopts CTDopts
+# 	git clone -b topic/no-1-2x https://github.com/bernt-matthias/CTDopts CTDopts
+# fi
+if [ ! -d $CTDCONVERTER ]; then
+	#git clone https://github.com/WorkflowConversion/CTDConverter.git CTDConverter
+	git clone -b topic/cdata https://github.com/bernt-matthias/CTDConverter.git $CTDCONVERTER
+fi
+# export PYTHONPATH=$(pwd)/CTDopts
+###############################################################################
+## conversion ctd->xml 
+###############################################################################
+source $(dirname $(which conda))/../etc/profile.d/conda.sh
+conda activate $tmp/OpenMS$VERSION-env
+python $CTDCONVERTER/convert.py galaxy -i ctd/*ctd -o ./ -s tools_blacklist.txt -f "$FILETYPES" -m macros.xml -t tool.conf  -p hardcoded_params.json --test-macros macros_autotest.xml --test-macros-prefix autotest_  --test-macros macros_test.xml --test-macros-prefix manutest_ --tool-version $VERSION --tool-profile $PROFILE > convert.out 2> convert.err
+if [[ "$?" -ne "0" ]]; then >&2 echo 'CTD -> XML conversion failed'; >&2 echo -e "stderr:\n$(cat convert.err)"; fi
+conda deactivate
+
+patch PepNovoAdapter.xml < PepNovoAdapter.patch
+patch OMSSAAdapter.xml < OMSSAAdapter.patch
+
+# #-b version log debug test in_type executable pepnovo_executable param_model_directory rt_concat_trafo_out param_id_pool
+
+# for i in A-E F-H I-L M-N O-P Q-Z
+# do
+# 	planemo t [$i]*xml --galaxy_branch release_20.05 --galaxy_python_version 3.7 --test_output $i.html --test_output_json $i.json &
+# done
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hardcoded_params.json	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,247 @@
+{
+	"#": "blacklist parameters",
+
+	"version": [{"value": "@"}],
+	"debug": [{"value": "@"}],
+	"algorithm:debug": [{"value": "@"}],
+	"java_memory": [{"value": "@"}],
+	"java_permgen": [{"value": "@"}],
+	"#": "type of input is always determined from the file extension ",
+	"in_type": [{"value": "@"}],
+
+	"#": "tool specific blacklist parameters",
+
+	"convert_back": [{"value": "@", "tools": ["OpenSwathMzMLFileCacher"]}],
+	"NET_executable": [{
+			"value": "@", 
+			"tools": ["FileConverter"]
+	}],
+
+
+	"params_file": [{"value": "@", "tools": ["SpectraSTSearchAdapter"]}],
+
+	"#": "TODO not usable in 2.5 https://github.com/OpenMS/OpenMS/issues/4456, corresponding test currently disabled",
+    	"consensus_out": [{"value": "@", "tools": ["MaRaClusterAdapter"]}],
+	"#": "TODO would need treatment as prefix-output",
+	"output_directory": [{"value": "@", "tools": ["MaRaClusterAdapter"]}],
+
+	"#": "hardcode parameter values",
+
+	"comet_version": [{
+		"value":"2016.01 rev. 3"
+	}],
+	"comet_executable": [{
+		"value":"comet"
+	}],
+	"crux_executable": [{
+		"value": "crux"
+	}],
+	"fido_executable": [{
+		"value":"Fido"
+	}],
+	"fidocp_executable": [{
+		"value":"FidoChooseParameters"
+	}],
+	"maracluster_executable": [{
+		"value":"/home/berntm/projects/tools-galaxyp/tools/openms/OpenMS2.5.0-git/THIRDPARTY/Linux/64bit/MaRaCluster/maracluster"
+	}],
+	"mascot_directory": [{
+		"value":"TODO"
+	}],
+	"myrimatch_executable": [{
+		"value":"myrimatch"
+	}],
+	"omssa_executable": [{
+		"value":"$(dirname $(realpath $(which omssacl)))/omssacl"
+	}],
+	"ThermoRaw_executable": [{
+		"value": "ThermoRawFileParser.exe", 
+		"tools": ["FileConverter"]
+	}],
+	"pepnovo_executable": [{
+		"value":"pepnovo"
+	}],
+	"percolator_executable": [{
+		"value":"percolator"
+	}],
+	"xtandem_executable": [{
+		"value":"xtandem"
+	}],
+	"executable": [
+		{
+			"value":"$(dirname $(realpath $(which luciphor2)))/luciphor2.jar",
+			"tools": ["LuciphorAdapter"]
+		}, {
+			"value":"/home/berntm/Downloads/MSFragger-20171106/MSFragger-20171106.jar",
+			"tools": ["MSFraggerAdapter"]
+		}, {
+			"value":"$(msgf_plus -get_jar_path)",
+			"tools": ["MSGFPlusAdapter"]
+		}, {
+			"value": "/home/berntm/Downloads/novor/lib/novor.jar",
+			"tools": ["NovorAdapter"]
+		}, {
+			"value":"$(which sirius)",
+			"tools": ["SiriusAdapter", "AssayGeneratorMetabo"]
+		}, {
+			"value":"spectrast",
+			"tools": ["SpectraSTSearchAdapter"]
+		}
+	],
+	"r_executable": [{
+		"value":"R"
+	}],
+	"rscript_executable": [{
+		"value":"Rscript"
+	}],
+	"java_executable": [{
+		"value":"java"
+	}],
+	"log": [{
+		"value":"log.txt"
+	}],
+	"tempDirectory": [{
+		"value":"$TMP_DIR"
+	}],
+	"temp_data_directory": [{
+		"value":"$TMP_DIR"
+	}],
+	"algorithm:Preprocessing:tmp_dir": [{
+		"value":"$TMP_DIR"
+	}],
+	"no_progress": [{
+		"value": true
+	}],
+	"#": "only used in LuciphorAdapter at the moment, inconsistency will be fixed",
+	"num_threads": [{
+		"value":"${GALAXY_SLOTS:-1}"
+	}],
+	"threads": [{
+		"value": "${GALAXY_SLOTS:-1}"
+	}],
+	"#": "hardcode the outer loop threads for OpenSwathWorkflow",
+	"outer_loop_threads": [{
+			"value": "1", 
+			"tools": ["OpenSwathWorkflow"]
+	}],
+	"separator": [{
+		"value": ",",
+		"tools": ["IDMassAccuracy"]
+	}],
+	"#": "overwrite/add Galaxy xml attributes of some parameters (names need to start with param_)",
+
+	"#": "test is not a hardcoded value since we need to set it in the tool tests", 
+	"test": [{
+		"CTD:type": "text",
+		"XML:type": "hidden"
+	}],
+
+	"#": "overwrite CTD attributes of some parameters (some are not possible, e.g. type)",
+
+	"#": "for some tools the user needs to select the desired output type since detection by extension makes no sense for galaxy tools",
+	"out_type": [{
+	    "CTD:required": true,
+	    "CTD:advanced": false
+	}],
+
+	"#": "SeedListGenerator with consensusXML input needs a dynamic number of outputs that depends on the content of the input, so we remove this options at the moment because its hard or impossible to implement in Galaxy, https://github.com/OpenMS/OpenMS/issues/4404 .. see also in parameter",
+	"#": "FileInfo, MapStatistics, SequenceCoverageCalculator wo -out just writes to stdout. not wanted here",
+	"#": "MascotAdapter: https://github.com/OpenMS/OpenMS/pull/4553",
+	"#": "Phosphoscoring: https://github.com/OpenMS/OpenMS/pull/4569",
+	"#": "MzMLSplitter output prefix https://github.com/OpenMS/OpenMS/issues/4404",
+	"#": "IDRipper: blacklist out (is doing the same as the output-prefix out-path)",
+	"out": [{
+		"CTD:is_list": false, 
+		"tools": ["SeedListGenerator"]
+	}, {
+	 	"CTD:required": true,
+		"tools": ["FileInfo", "MapStatistics", "SequenceCoverageCalculator"]
+	}, {
+		"CTD:restrictions": "idXML",
+		"tools": ["MascotAdapter"]
+	}, {
+		"CTD:restrictions": "idXML",
+		"tools": ["PhosphoScoring"]	
+	}, {
+		"CTD:type": "output-prefix", 
+		"CTD:required": "true",
+		"CTD:restrictions": "mzml",
+		"tools": ["MzMLSplitter"]
+	}, {
+		"value": "@", 
+		"tools": ["IDRipper"]
+	}],
+
+	"#": "https://github.com/OpenMS/OpenMS/pull/4552 .. if this is removed the test will need out_cm_FLAG",
+	"out_cm": [{
+		"CTD:required": true, 
+		"tools": ["MetaboliteAdductDecharger"]
+	}],
+
+
+	"#": "https://github.com/OpenMS/OpenMS/pull/4451", 
+	"out_xquestxml": [{
+		"CTD:restrictions": "xquest.xml",
+		"tools": ["OpenPepXL", "OpenPepXLLF"]
+	}],
+	"out_xquest_specxml": [{
+		"CTD:restrictions": "spec.xml",
+		"tools": ["OpenPepXL", "OpenPepXLLF"]
+	}],
+
+	"#": "Try to remove xml data type whereever possible",
+	"#": "XTandem Adapter output is called .xml in OMS -> use Galaxy's bioml",
+	"xml_out": [{
+		"CTD:restrictions": "bioml",
+		"tools": ["XTandemAdapter"]
+	}],
+	
+	"#": "IDFileConverter remove xml",
+	"#": "OpenSwathWorkflow make in single file input and all outputs non-optional",
+        "#": "XFDR does not need xml .. redundant with xquest.xml TODO check if list is up to date with each new release",
+        "#": "SpectraSTSearchAdapter does not need xml .. redundant with pep.xml TODO check if list is up to date with each new release",
+	"#": "SeedListGenerator https://github.com/OpenMS/OpenMS/issues/4404 .. see also out parameter",
+	"in": [{
+		"CTD:restrictions": "pepXML,protXML,mascotXML,omssaXML,bioml,psms,tsv,idXML,mzid,xquest.xml",
+		"tools": ["IDFileConverter"]
+	}, {
+		"CTD:is_list": false, 
+		"tools": ["OpenSwathWorkflow"]
+	}, {
+		"CTD:restrictions": "idXML,mzid,xquest.xml",
+		"tools": ["XFDR"]
+	}, {
+		"CTD:restrictions": "txt,tsv,pep.xml,pepXML,html",
+		"tools": ["SpectraSTSearchAdapter"]
+	}, {
+		"CTD:restrictions": "mzML,idXML,featureXML",
+		"tools": ["SeedListGenerator"]
+	}],
+
+	"#": "parameter is a flag but restrictions in wrong order: TODO https://github.com/OpenMS/OpenMS/pull/4455",
+	"# masstrace_snr_filtering": [{
+		"CTD:restrictions": "true,false",
+		"tools": ["MassTraceExtractor"]
+	}],
+
+	"#": "IDMapper has in and spectra:in params, in is used in out as format_source",
+	"#": "which does not work in Galaxy: https://github.com/galaxyproject/galaxy/pull/9493", 
+	"spectra:in": [{
+		"CTD:name": "_in", 
+		"tools": ["IDMapper"]
+	}],
+
+	"#": "output-prefix",
+	"out_path": [{
+		"CTD:type": "output-prefix", 
+		"CTD:required": "true",
+		"CTD:restrictions": "idXML",
+		"tools": ["IDRipper"]
+	}],
+	"outputDirectory": [{
+		"CTD:type": "output-prefix", 
+		"CTD:required": "true",
+		"CTD:restrictions": "mzml",
+		"tools": ["OpenSwathFileSplitter"]
+	}]
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,129 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- CTD2Galaxy depends on this file and on the stdio, advanced_options macros!
+     You can edit this file to add your own macros, if you so desire, or you can
+     add additional macro files using the m/macros parameter -->
+<macros>
+  <token name="@TOOL_VERSION@">2.5</token>
+  <token name="@GALAXY_VERSION@">0</token>
+  <xml name="requirements">
+    <requirements>
+      <requirement type="package" version="@TOOL_VERSION@">openms</requirement>
+      <requirement type="package" version="@TOOL_VERSION@">openms-thirdparty</requirement>
+      <!-- makeblastdb for OMSSAAdapter -->
+      <requirement type="package" version="2.9.0">blast</requirement>
+      <requirement type="package" version="8.0.192">openjdk</requirement>
+      <!--<requirement type="package" version="5.0.0">tpp</requirement>-->
+      <!-- for realpath (used e.g. in LuciphorAdapter) -->
+	  <!--<requirement type="package" version="8.25">coreutils</requirement>-->
+	  <requirement type="package" version="1.4">ctdopts</requirement>
+      <yield/>
+    </requirements>
+  </xml>
+  <xml name="stdio">
+    <stdio>
+      <regex match="Could not allocate metaspace" level="fatal_oom" description="Java memory Exception"/>
+      <regex match="Cannot create VM thread" level="fatal_oom" description="Java memory Exception"/>
+      <regex match="qUncompress: could not allocate enough memory to uncompress data" level="fatal_oom" description="Java memory Exception"/>
+    </stdio>
+  </xml>
+  <xml name="references">
+    <citations>
+      <citation type="doi">doi:10.1186/1471-2105-9-163</citation>
+    </citations>
+  </xml>
+  <xml name="adv_opts_macro">
+    <conditional name="adv_opts_cond">
+      <param name="adv_opts_selector" type="select" label="Advanced Options">
+        <option value="basic" selected="True">Hide Advanced Options</option>
+        <option value="advanced">Show Advanced Options</option>
+      </param>
+      <when value="basic"/>
+      <when value="advanced">
+        <yield/>
+      </when>
+    </conditional>
+  </xml>
+
+  <!-- sanitizers and validators -->
+  <xml name="list_string_val">
+    <validator type="regex" message="parameter must not start with $">^[^$]</validator>
+    
+    <validator type="regex" message="a space separated list of string is needed (strings that contain spaces can be quoted with &quot;)">^ *((?:\"[^\"]*\" +)|(?:[^ \"]+ +))*((?:\"[^\"]*\")|(?:[^ \"]+)) *$</validator>
+  </xml>
+  <xml name="list_string_san">
+    <sanitizer>
+      <valid initial="string.printable">
+<!--        <remove value="'"/>-->
+<!--        <remove value="\"/>--><!-- otherwise the user could quote the final quote -->
+<!--        <remove value="`"/>-->
+<!--        <remove value="$"/>-->
+<!--        <remove value="&lt;"/>-->
+	<!--<remove value="&amp;"/> removed for MascotAdapterOnline -Mascot_server:export_params which is a URL POST string which can contain & .. could be mapped to &amp; but there is still a & -->
+        <!--<remove value=";"/>-->
+<!--        <remove value="#"/>-->
+      </valid>
+    </sanitizer>
+  </xml>
+  <xml name="list_float_valsan">
+    <validator type="regex" message="a space separated list of float values is required">^ *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?( *[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)* *$</validator>
+    <yield/>
+    <sanitizer>
+      <valid initial="string.digits">
+        <add value=" "/>
+        <add value="."/>
+        <add value="E"/>
+        <add value="e"/>
+        <add value="+"/>
+        <add value="-"/>
+      </valid>
+    </sanitizer>
+  </xml>
+  <xml name="list_integer_valsan">
+    <validator type="regex" message="a space separated list of integer values is required">^ *[+-]?[0-9]+( *[+-]?[0-9]+)* *$</validator>
+    <yield/>
+    <sanitizer>
+      <valid initial="string.digits">
+        <add value=" "/>
+        <add value="+"/>
+        <add value="-"/>
+      </valid>
+    </sanitizer>
+  </xml>
+
+  <!-- helper function to quote space separated strings -->
+  <token name="@QUOTE_FOO@">
+#def quote(s):
+    #set $s = [ _ for _ in $s.split(" ") if _ != "" ]
+    #set $q = False
+    #for $i, $p in enumerate($s):
+        #if $p == "":
+            #continue
+        #end if
+        #if $p.startswith('"'):
+            #set $q = True
+        #end if
+##        #if p.startswith('-'):
+##            #set p = "\\" + p
+##        #elif p.startswith('"-'):
+##            #set p = "\\" + p[1:]
+##        #end if
+        #if not $q:
+            #set $s[i] = '"%s"' % p
+        #end if
+        #if $p.endswith('"'):
+            #set $q = False
+        #end if
+    #end for
+    #return " ".join($s)
+#end def
+  </token>
+
+<token name="@EXT_FOO@"><![CDATA[#def oms2gxyext(o)
+    #set m={'txt': 'txt', 'tsv': 'tabular', 'bioml': 'xml', 'consensusXML': 'consensusxml', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fa': 'fasta', 'fas': 'fasta', 'fasta': 'fasta', 'FASTA': 'fasta', 'featureXML': 'featurexml', 'featurexml': 'featurexml', 'html': 'html', 'HTML': 'html', 'idXML': 'idxml', 'json': 'json', 'kroenik': 'kroenik', 'mascotXML': 'mascotxml', 'mgf': 'mgf', 'mrm': 'mrm', 'ms': 'sirius.ms', 'ms2': 'ms2', 'msp': 'msp', 'mzData': 'mzdata', 'mzid': 'mzid', 'mzML': 'mzml', 'mzml': 'mzml', 'mzq': 'mzq', 'mzTab': 'mztab', 'mzXML': 'mzxml', 'novor': 'txt', 'obo': 'obo', 'omssaXML': 'idxml', 'osw': 'osw', 'OSW': 'osw', 'params': 'txt', 'paramXML': 'paramxml', 'peplist': 'peplist', 'pep.xml': 'pepxml', 'pepXML': 'pepxml', 'png': 'png', 'PNG': 'png', 'protXML': 'protxml', 'psms': 'psms', 'pqp': 'pqp', 'qcML': 'qcml', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqMass': 'sqmass', 'tandem.xml': 'tandem', 'trafoXML': 'trafoxml', 'traML': 'traml', 'TraML': 'traml', 'tab': 'tabular', 'raw': 'thermo.raw', 'xls': 'tsv', 'XML': 'xml', 'xml': 'xml', 'xquest.xml': 'xquest.xml', 'xsd': 'xml'}
+    #return m[o]
+#end def
+#def gxy2omsext(g)
+    #set m={'txt': 'txt', 'tabular': 'tsv', 'xml': 'bioml', 'consensusxml': 'consensusXML', 'csv': 'csv', 'dta': 'dta', 'dta2d': 'dta2d', 'edta': 'edta', 'fasta': 'fa', 'featurexml': 'featureXML', 'html': 'html', 'idxml': 'idXML', 'json': 'json', 'kroenik': 'kroenik', 'mascotxml': 'mascotXML', 'mgf': 'mgf', 'mrm': 'mrm', 'sirius.ms': 'ms', 'ms2': 'ms2', 'msp': 'msp', 'mzdata': 'mzData', 'mzid': 'mzid', 'mzml': 'mzML', 'mzq': 'mzq', 'mztab': 'mzTab', 'mzxml': 'mzXML', 'obo': 'obo', 'osw': 'osw', 'paramxml': 'paramXML', 'peff': 'fasta', 'peplist': 'peplist', 'pepxml': 'pep.xml', 'png': 'png', 'protxml': 'protXML', 'psms': 'psms', 'pqp': 'pqp', 'qcml': 'qcML', 'spec.xml': 'spec.xml', 'splib': 'splib', 'sqmass': 'sqMass', 'tandem': 'tandem.xml', 'trafoxml': 'trafoXML', 'traml': 'traML', 'thermo.raw': 'raw', 'tsv': 'xls', 'xquest.xml': 'xquest.xml'}
+    #return m[g]
+#end def
+]]></token></macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_autotest.xml	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,26318 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macros>
+  <xml name="autotest_AccurateMassSearch">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusMapNormalizer_input.consensusXML"/>
+      <output name="out" file="AccurateMassSearch_1_output.tmp.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="positive_adducts" value="CHEMISTRY/PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="CHEMISTRY/NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <param name="mapping" value="CHEMISTRY/HMDBMappingFile.tsv" ftype="tabular"/>
+        <param name="struct" value="CHEMISTRY/HMDB2StructMapping.tsv" ftype="tabular"/>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="false"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
+      <output name="out" file="AccurateMassSearch_2_output.tmp.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="out_annotation" file="AccurateMassSearch_2_output.tmp.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
+        <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="false"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
+      <output name="out" file="AccurateMassSearch_3_output.tmp.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="out_annotation" file="AccurateMassSearch_2_output.tmp.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
+        <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="false"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_AssayGeneratorMetabo">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <param name="precursor_recalibration_window_unit" value="Da"/>
+        <param name="min_fragment_mz" value="0.0"/>
+        <param name="max_fragment_mz" value="2000.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ffm_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ffm_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="highest_intensity"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="false"/>
+      <param name="min_transitions" value="1"/>
+      <param name="max_transitions" value="3"/>
+      <param name="cosine_similarity_threshold" value="0.98"/>
+      <param name="transition_threshold" value="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="deisotoping">
+        <param name="use_deisotoper" value="false"/>
+        <param name="fragment_tolerance" value="1.0"/>
+        <param name="fragment_unit" value="ppm"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="1"/>
+        <param name="min_isopeaks" value="2"/>
+        <param name="max_isopeaks" value="3"/>
+        <param name="keep_only_deisotoped" value="false"/>
+        <param name="annotate_charge" value="false"/>
+      </section>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <param name="precursor_recalibration_window_unit" value="Da"/>
+        <param name="min_fragment_mz" value="0.0"/>
+        <param name="max_fragment_mz" value="2000.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="highest_intensity"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="false"/>
+      <param name="min_transitions" value="1"/>
+      <param name="max_transitions" value="3"/>
+      <param name="cosine_similarity_threshold" value="0.98"/>
+      <param name="transition_threshold" value="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="deisotoping">
+        <param name="use_deisotoper" value="false"/>
+        <param name="fragment_tolerance" value="1.0"/>
+        <param name="fragment_unit" value="ppm"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="1"/>
+        <param name="min_isopeaks" value="2"/>
+        <param name="max_isopeaks" value="3"/>
+        <param name="keep_only_deisotoped" value="false"/>
+        <param name="annotate_charge" value="false"/>
+      </section>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <param name="precursor_recalibration_window_unit" value="Da"/>
+        <param name="min_fragment_mz" value="0.0"/>
+        <param name="max_fragment_mz" value="2000.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ffm_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ffm_output_consensus.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="consensus_spectrum"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="false"/>
+      <param name="min_transitions" value="1"/>
+      <param name="max_transitions" value="3"/>
+      <param name="cosine_similarity_threshold" value="0.98"/>
+      <param name="transition_threshold" value="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="deisotoping">
+        <param name="use_deisotoper" value="false"/>
+        <param name="fragment_tolerance" value="1.0"/>
+        <param name="fragment_unit" value="ppm"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="1"/>
+        <param name="min_isopeaks" value="2"/>
+        <param name="max_isopeaks" value="3"/>
+        <param name="keep_only_deisotoped" value="false"/>
+        <param name="annotate_charge" value="false"/>
+      </section>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <param name="precursor_recalibration_window_unit" value="Da"/>
+        <param name="min_fragment_mz" value="0.0"/>
+        <param name="max_fragment_mz" value="2000.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_output_consensus.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="consensus_spectrum"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="false"/>
+      <param name="min_transitions" value="1"/>
+      <param name="max_transitions" value="3"/>
+      <param name="cosine_similarity_threshold" value="0.98"/>
+      <param name="transition_threshold" value="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="deisotoping">
+        <param name="use_deisotoper" value="false"/>
+        <param name="fragment_tolerance" value="1.0"/>
+        <param name="fragment_unit" value="ppm"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="1"/>
+        <param name="min_isopeaks" value="2"/>
+        <param name="max_isopeaks" value="3"/>
+        <param name="keep_only_deisotoped" value="false"/>
+        <param name="annotate_charge" value="false"/>
+      </section>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <param name="precursor_recalibration_window_unit" value="Da"/>
+        <param name="min_fragment_mz" value="0.0"/>
+        <param name="max_fragment_mz" value="2000.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_uku_output_consensus.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="none"/>
+      <param name="method" value="consensus_spectrum"/>
+      <param name="use_exact_mass" value="false"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="true"/>
+      <param name="min_transitions" value="1"/>
+      <param name="max_transitions" value="3"/>
+      <param name="cosine_similarity_threshold" value="0.98"/>
+      <param name="transition_threshold" value="5.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="deisotoping">
+        <param name="use_deisotoper" value="false"/>
+        <param name="fragment_tolerance" value="1.0"/>
+        <param name="fragment_unit" value="ppm"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="1"/>
+        <param name="min_isopeaks" value="2"/>
+        <param name="max_isopeaks" value="3"/>
+        <param name="keep_only_deisotoped" value="false"/>
+        <param name="annotate_charge" value="false"/>
+      </section>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <param name="precursor_recalibration_window_unit" value="Da"/>
+        <param name="min_fragment_mz" value="0.0"/>
+        <param name="max_fragment_mz" value="2000.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_sirius_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="sirius"/>
+      <param name="method" value="highest_intensity"/>
+      <param name="use_exact_mass" value="true"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="false"/>
+      <param name="min_transitions" value="2"/>
+      <param name="max_transitions" value="3"/>
+      <param name="cosine_similarity_threshold" value="0.98"/>
+      <param name="transition_threshold" value="3.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="deisotoping">
+        <param name="use_deisotoper" value="false"/>
+        <param name="fragment_tolerance" value="1.0"/>
+        <param name="fragment_unit" value="ppm"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="1"/>
+        <param name="min_isopeaks" value="2"/>
+        <param name="max_isopeaks" value="3"/>
+        <param name="keep_only_deisotoped" value="false"/>
+        <param name="annotate_charge" value="false"/>
+      </section>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="10.0"/>
+        <param name="precursor_mz_tolerance_unit" value="ppm"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="true"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="100"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <param name="precursor_recalibration_window_unit" value="Da"/>
+        <param name="min_fragment_mz" value="0.0"/>
+        <param name="max_fragment_mz" value="2000.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_sirius_ukn_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="sirius"/>
+      <param name="method" value="highest_intensity"/>
+      <param name="use_exact_mass" value="true"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="true"/>
+      <param name="min_transitions" value="2"/>
+      <param name="max_transitions" value="3"/>
+      <param name="cosine_similarity_threshold" value="0.98"/>
+      <param name="transition_threshold" value="3.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="deisotoping">
+        <param name="use_deisotoper" value="false"/>
+        <param name="fragment_tolerance" value="1.0"/>
+        <param name="fragment_unit" value="ppm"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="1"/>
+        <param name="min_isopeaks" value="2"/>
+        <param name="max_isopeaks" value="3"/>
+        <param name="keep_only_deisotoped" value="false"/>
+        <param name="annotate_charge" value="false"/>
+      </section>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="10.0"/>
+        <param name="precursor_mz_tolerance_unit" value="ppm"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="true"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="100"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <param name="precursor_recalibration_window_unit" value="Da"/>
+        <param name="min_fragment_mz" value="0.0"/>
+        <param name="max_fragment_mz" value="2000.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_intsort_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_intsort_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_sirius_intsort_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="sirius"/>
+      <param name="method" value="highest_intensity"/>
+      <param name="use_exact_mass" value="true"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="false"/>
+      <param name="min_transitions" value="2"/>
+      <param name="max_transitions" value="3"/>
+      <param name="cosine_similarity_threshold" value="0.98"/>
+      <param name="transition_threshold" value="3.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="deisotoping">
+        <param name="use_deisotoper" value="false"/>
+        <param name="fragment_tolerance" value="1.0"/>
+        <param name="fragment_unit" value="ppm"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="1"/>
+        <param name="min_isopeaks" value="2"/>
+        <param name="max_isopeaks" value="3"/>
+        <param name="keep_only_deisotoped" value="false"/>
+        <param name="annotate_charge" value="false"/>
+      </section>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="10.0"/>
+        <param name="precursor_mz_tolerance_unit" value="ppm"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="true"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="100"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="precursor_recalibration_window" value="0.1"/>
+        <param name="precursor_recalibration_window_unit" value="Da"/>
+        <param name="min_fragment_mz" value="100.0"/>
+        <param name="max_fragment_mz" value="900.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_input.mzML"/>
+      <param name="in_id" value="AssayGeneratorMetabo_ams_input.featureXML"/>
+      <param name="out_type" value="tsv"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_sirius_restrict_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_annotation" value="sirius"/>
+      <param name="method" value="highest_intensity"/>
+      <param name="use_exact_mass" value="true"/>
+      <param name="exclude_ms2_precursor" value="false"/>
+      <param name="precursor_mz_distance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <param name="use_known_unknowns" value="false"/>
+      <param name="min_transitions" value="2"/>
+      <param name="max_transitions" value="3"/>
+      <param name="cosine_similarity_threshold" value="0.98"/>
+      <param name="transition_threshold" value="3.0"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="deisotoping">
+        <param name="use_deisotoper" value="false"/>
+        <param name="fragment_tolerance" value="1.0"/>
+        <param name="fragment_unit" value="ppm"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="1"/>
+        <param name="min_isopeaks" value="2"/>
+        <param name="max_isopeaks" value="3"/>
+        <param name="keep_only_deisotoped" value="false"/>
+        <param name="annotate_charge" value="false"/>
+      </section>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="10.0"/>
+        <param name="precursor_mz_tolerance_unit" value="ppm"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="true"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="100"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_BaselineFilter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="BaselineFilter_input.mzML"/>
+      <output name="out" file="BaselineFilter_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="struc_elem_length" value="1.5"/>
+      <param name="struc_elem_unit" value="Thomson"/>
+      <param name="method" value="tophat"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ClusterMassTracesByPrecursor">
+</xml>
+  <xml name="autotest_ClusterMassTraces">
+</xml>
+  <xml name="autotest_CometAdapter">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fragment_bin_tolerance" value="1.0005"/>
+        <param name="fragment_bin_offset" value="0.25"/>
+        <param name="instrument" value="high_res"/>
+        <param name="use_A_ions" value="false"/>
+        <param name="use_B_ions" value="true"/>
+        <param name="use_C_ions" value="false"/>
+        <param name="use_X_ions" value="false"/>
+        <param name="use_Y_ions" value="true"/>
+        <param name="use_Z_ions" value="false"/>
+        <param name="use_NL_ions" value="false"/>
+        <param name="digest_mass_range" value="600:5000"/>
+        <param name="max_precursor_charge" value="5"/>
+        <param name="spectrum_batch_size" value="1000"/>
+        <param name="mass_offsets" value="0.0"/>
+        <param name="minimum_peaks" value="10"/>
+        <param name="minimum_intensity" value="0.0"/>
+        <param name="remove_precursor_peak" value="no"/>
+        <param name="remove_precursor_tolerance" value="1.5"/>
+        <param name="clear_mz_range" value="0:0"/>
+        <param name="max_variable_mods_in_peptide" value="5"/>
+        <param name="require_variable_mod" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra_comet.mzML"/>
+      <output name="out" file="CometAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <output name="pin_out" file="CometAdapter_1_out2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="precursor_mass_tolerance" value="3.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="isotope_error" value="off"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="num_enzyme_termini" value="fully"/>
+      <param name="allowed_missed_cleavages" value="1"/>
+      <param name="num_hits" value="5"/>
+      <param name="precursor_charge" value="0:0"/>
+      <param name="override_charge" value="keep any known"/>
+      <param name="ms_level" value="2"/>
+      <param name="activation_method" value="ALL"/>
+      <param name="max_fragment_charge" value="3"/>
+      <param name="clip_nterm_methionine" value="false"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,pin_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fragment_bin_tolerance" value="1.0005"/>
+        <param name="fragment_bin_offset" value="0.25"/>
+        <param name="instrument" value="high_res"/>
+        <param name="use_A_ions" value="false"/>
+        <param name="use_B_ions" value="true"/>
+        <param name="use_C_ions" value="false"/>
+        <param name="use_X_ions" value="false"/>
+        <param name="use_Y_ions" value="true"/>
+        <param name="use_Z_ions" value="false"/>
+        <param name="use_NL_ions" value="false"/>
+        <param name="digest_mass_range" value="600:5000"/>
+        <param name="max_precursor_charge" value="5"/>
+        <param name="spectrum_batch_size" value="1000"/>
+        <param name="mass_offsets" value="0.0"/>
+        <param name="minimum_peaks" value="10"/>
+        <param name="minimum_intensity" value="0.0"/>
+        <param name="remove_precursor_peak" value="no"/>
+        <param name="remove_precursor_tolerance" value="1.5"/>
+        <param name="clear_mz_range" value="0:0"/>
+        <param name="max_variable_mods_in_peptide" value="5"/>
+        <param name="require_variable_mod" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="CometAdapter_2_prepared.mzML"/>
+      <output name="out" file="CometAdapter_2_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="CometAdapter_2_in.fasta"/>
+      <output name="pin_out" file="CometAdapter_2_out2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="precursor_mass_tolerance" value="3.0"/>
+      <param name="precursor_error_units" value="Da"/>
+      <param name="isotope_error" value="off"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="num_enzyme_termini" value="fully"/>
+      <param name="allowed_missed_cleavages" value="1"/>
+      <param name="num_hits" value="5"/>
+      <param name="precursor_charge" value="0:0"/>
+      <param name="override_charge" value="keep any known"/>
+      <param name="ms_level" value="2"/>
+      <param name="activation_method" value="ALL"/>
+      <param name="max_fragment_charge" value="3"/>
+      <param name="clip_nterm_methionine" value="false"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,pin_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fragment_bin_tolerance" value="0.02"/>
+        <param name="fragment_bin_offset" value="0.0"/>
+        <param name="instrument" value="high_res"/>
+        <param name="use_A_ions" value="false"/>
+        <param name="use_B_ions" value="true"/>
+        <param name="use_C_ions" value="false"/>
+        <param name="use_X_ions" value="false"/>
+        <param name="use_Y_ions" value="true"/>
+        <param name="use_Z_ions" value="false"/>
+        <param name="use_NL_ions" value="false"/>
+        <param name="digest_mass_range" value="600:5000"/>
+        <param name="max_precursor_charge" value="5"/>
+        <param name="spectrum_batch_size" value="20000"/>
+        <param name="mass_offsets" value="0.0"/>
+        <param name="minimum_peaks" value="10"/>
+        <param name="minimum_intensity" value="0.0"/>
+        <param name="remove_precursor_peak" value="no"/>
+        <param name="remove_precursor_tolerance" value="1.5"/>
+        <param name="clear_mz_range" value="0:0"/>
+        <param name="max_variable_mods_in_peptide" value="3"/>
+        <param name="require_variable_mod" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="CometAdapter_3.mzML"/>
+      <output name="out" file="CometAdapter_3_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="CometAdapter_3.fasta"/>
+      <output name="pin_out" file="CometAdapter_3_out2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="isotope_error" value="off"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="num_enzyme_termini" value="fully"/>
+      <param name="allowed_missed_cleavages" value="3"/>
+      <param name="num_hits" value="5"/>
+      <param name="precursor_charge" value="0:0"/>
+      <param name="override_charge" value="keep known search unknown"/>
+      <param name="ms_level" value="2"/>
+      <param name="activation_method" value="ALL"/>
+      <param name="max_fragment_charge" value="3"/>
+      <param name="clip_nterm_methionine" value="false"/>
+      <param name="fixed_modifications" value="Carbamidomethyl (C)"/>
+      <param name="variable_modifications" value="Acetyl (Protein N-term),Carbamidomethyl (N-term)"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,pin_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_CompNovoCID">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="CompNovoCID_1_input.mzML"/>
+      <output name="out" file="CompNovoCID_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="algorithm">
+        <param name="max_number_aa_per_decomp" value="4"/>
+        <param name="tryptic_only" value="true"/>
+        <param name="precursor_mass_tolerance" value="0.3"/>
+        <param name="fragment_mass_tolerance" value="0.3"/>
+        <param name="max_number_pivot" value="9"/>
+        <param name="max_subscore_number" value="40"/>
+        <param name="decomp_weights_precision" value="0.01"/>
+        <param name="double_charged_iso_threshold" value="0.6"/>
+        <param name="max_mz" value="2000.0"/>
+        <param name="min_mz" value="200.0"/>
+        <param name="max_isotope_to_score" value="3"/>
+        <param name="max_decomp_weight" value="450.0"/>
+        <param name="max_isotope" value="3"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="number_of_hits" value="1"/>
+        <param name="estimate_precursor_mz" value="true"/>
+        <param name="number_of_prescoring_hits" value="250"/>
+        <param name="fixed_modifications" value=""/>
+        <param name="variable_modifications" value=""/>
+        <param name="residue_set" value="Natural19WithoutI"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_CompNovo">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="CompNovo_1_input.mzML"/>
+      <output name="out" file="CompNovo_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="algorithm">
+        <param name="max_number_aa_per_decomp" value="4"/>
+        <param name="tryptic_only" value="true"/>
+        <param name="precursor_mass_tolerance" value="0.3"/>
+        <param name="fragment_mass_tolerance" value="0.3"/>
+        <param name="max_number_pivot" value="9"/>
+        <param name="max_subscore_number" value="40"/>
+        <param name="decomp_weights_precision" value="0.01"/>
+        <param name="double_charged_iso_threshold" value="0.6"/>
+        <param name="max_mz" value="2000.0"/>
+        <param name="min_mz" value="200.0"/>
+        <param name="max_isotope_to_score" value="3"/>
+        <param name="max_decomp_weight" value="450.0"/>
+        <param name="max_isotope" value="3"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="number_of_hits" value="1"/>
+        <param name="estimate_precursor_mz" value="true"/>
+        <param name="number_of_prescoring_hits" value="250"/>
+        <param name="fixed_modifications" value=""/>
+        <param name="variable_modifications" value=""/>
+        <param name="residue_set" value="Natural19WithoutI"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ConsensusID">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_1_input.idXML"/>
+      <output name="out" file="ConsensusID_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="PEPMatrix"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="PAM30MS"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_2_input.featureXML"/>
+      <output name="out" file="ConsensusID_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="average"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_3_input.consensusXML"/>
+      <output name="out" file="ConsensusID_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="best"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_1_input.idXML"/>
+      <output name="out" file="ConsensusID_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="PEPMatrix"/>
+      <section name="filter">
+        <param name="considered_hits" value="6"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_1_input.idXML"/>
+      <output name="out" file="ConsensusID_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="PEPIons"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.0"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusID_1_input.idXML"/>
+      <output name="out" file="ConsensusID_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="rt_delta" value="0.1"/>
+      <param name="mz_delta" value="0.1"/>
+      <param name="algorithm" value="best"/>
+      <section name="filter">
+        <param name="considered_hits" value="0"/>
+        <param name="min_support" value="0.5"/>
+        <param name="count_empty" value="false"/>
+      </section>
+      <section name="PEPIons">
+        <param name="mass_tolerance" value="0.5"/>
+        <param name="min_shared" value="2"/>
+      </section>
+      <section name="PEPMatrix">
+        <param name="matrix" value="identity"/>
+        <param name="penalty" value="5"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ConsensusMapNormalizer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="accession_filter" value=""/>
+        <param name="description_filter" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConsensusMapNormalizer_input.consensusXML"/>
+      <output name="out" file="ConsensusMapNormalizer_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="algorithm_type" value="robust_regression"/>
+      <param name="ratio_threshold" value="0.67"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_CruxAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="custom_enzyme" value=""/>
+        <param name="decoy_prefix" value="decoy_"/>
+        <param name="deisotope" value="false"/>
+        <param name="report_decoys" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra_comet.mzML"/>
+      <output name="out" file="CruxAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="extra_index_args" value=""/>
+      <param name="extra_search_args" value=""/>
+      <param name="extra_percolator_args" value=""/>
+      <param name="precursor_mass_tolerance" value="10.0"/>
+      <param name="precursor_mass_units" value="ppm"/>
+      <param name="fragment_bin_offset" value="0.0"/>
+      <param name="fragment_bin_width" value="0.02"/>
+      <param name="isotope_error" value=""/>
+      <param name="run_percolator" value="false"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="digestion" value="full-digest"/>
+      <param name="allowed_missed_cleavages" value="0"/>
+      <param name="decoy_format" value="shuffle"/>
+      <param name="keep_terminal_aminos" value="NC"/>
+      <param name="cterm_modifications" value=""/>
+      <param name="nterm_modifications" value=""/>
+      <param name="modifications" value=""/>
+      <param name="test_fdr" value="0.01"/>
+      <param name="train_fdr" value="0.01"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_CVInspector">
+</xml>
+  <xml name="autotest_DatabaseFilter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DatabaseFilter_1.fasta"/>
+      <param name="id" value="DatabaseFilter_1.idXML"/>
+      <param name="method" value="whitelist"/>
+      <output name="out" file="DatabaseFilter_1_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DatabaseFilter_1.fasta"/>
+      <param name="id" value="DatabaseFilter_1.idXML"/>
+      <param name="method" value="blacklist"/>
+      <output name="out" file="DatabaseFilter_2_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DatabaseFilter_3.fasta"/>
+      <param name="id" value="DatabaseFilter_3.mzid"/>
+      <param name="method" value="whitelist"/>
+      <output name="out" file="DatabaseFilter_3_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DatabaseFilter_3.fasta"/>
+      <param name="id" value="DatabaseFilter_3.mzid"/>
+      <param name="method" value="blacklist"/>
+      <output name="out" file="DatabaseFilter_4_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_Decharger">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="Decharger_input.featureXML"/>
+      <output name="out_cm" file="Decharger_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_fm" file="Decharger_output_fm.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="outpairs" file="Decharger_p_output.tmp" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <section name="FeatureDeconvolution">
+          <param name="charge_min" value="1"/>
+          <param name="charge_max" value="10"/>
+          <param name="charge_span_max" value="4"/>
+          <param name="q_try" value="feature"/>
+          <param name="retention_max_diff" value="1.0"/>
+          <param name="retention_max_diff_local" value="1.0"/>
+          <param name="mass_max_diff" value="0.1"/>
+          <param name="potential_adducts" value="&quot;H:+:0.7&quot; &quot;Na:+:0.1&quot; &quot;(2)H4H-4:0:0.1:-2:heavy&quot;"/>
+          <param name="max_neutrals" value="0"/>
+          <param name="max_minority_bound" value="2"/>
+          <param name="min_rt_overlap" value="0.66"/>
+          <param name="intensity_filter" value="false"/>
+          <param name="negative_mode" value="false"/>
+          <param name="default_map_label" value="decharged features"/>
+          <param name="verbose_level" value="0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_fm_FLAG,outpairs_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_DecoyDatabase">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="seed" value="1"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DecoyDatabase_1.fasta"/>
+      <output name="out" file="DecoyDatabase_1_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="only_decoy" value="true"/>
+      <param name="type" value="protein"/>
+      <param name="method" value="reverse"/>
+      <param name="enzyme" value="Trypsin"/>
+      <section name="Decoy">
+        <param name="non_shuffle_pattern" value=""/>
+        <param name="keepPeptideNTerm" value="true"/>
+        <param name="keepPeptideCTerm" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="seed" value="42"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DecoyDatabase_1.fasta"/>
+      <output name="out" file="DecoyDatabase_2_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="decoy_string" value="blabla"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="only_decoy" value="false"/>
+      <param name="type" value="protein"/>
+      <param name="method" value="shuffle"/>
+      <param name="enzyme" value="Trypsin"/>
+      <section name="Decoy">
+        <param name="non_shuffle_pattern" value="KRP"/>
+        <param name="keepPeptideNTerm" value="true"/>
+        <param name="keepPeptideCTerm" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="seed" value="42"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DecoyDatabase_1.fasta"/>
+      <output name="out" file="DecoyDatabase_3_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="decoy_string" value="blabla"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="only_decoy" value="false"/>
+      <param name="type" value="protein"/>
+      <param name="method" value="shuffle"/>
+      <param name="enzyme" value="Chymotrypsin"/>
+      <section name="Decoy">
+        <param name="non_shuffle_pattern" value="KR"/>
+        <param name="keepPeptideNTerm" value="true"/>
+        <param name="keepPeptideCTerm" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="seed" value="42"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DecoyDatabase_4.fasta"/>
+      <output name="out" file="DecoyDatabase_4_out.fasta" compare="sim_size" delta="5700" ftype="fasta"/>
+      <param name="decoy_string" value="blabla"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="only_decoy" value="false"/>
+      <param name="type" value="RNA"/>
+      <param name="method" value="reverse"/>
+      <param name="enzyme" value="Trypsin"/>
+      <section name="Decoy">
+        <param name="non_shuffle_pattern" value=""/>
+        <param name="keepPeptideNTerm" value="true"/>
+        <param name="keepPeptideCTerm" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_DeMeanderize">
+</xml>
+  <xml name="autotest_DTAExtractor">
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DTAExtractor_1_input.mzML"/>
+      <param name="out" value="DTAExtractor"/>
+      <param name="mz" value=":"/>
+      <param name="rt" value=":61"/>
+      <param name="level" value="1,2,3"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DTAExtractor_1_input.mzML"/>
+      <param name="out" value="DTAExtractor"/>
+      <param name="mz" value=":"/>
+      <param name="rt" value=":"/>
+      <param name="level" value="1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="DTAExtractor_1_input.mzML"/>
+      <param name="out" value="DTAExtractor"/>
+      <param name="mz" value=":1000"/>
+      <param name="rt" value=":"/>
+      <param name="level" value="2"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_EICExtractor">
+</xml>
+  <xml name="autotest_Epifany">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="conservative_fdr" value="true"/>
+        <param name="min_psms_extreme_probability" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="Epifany_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="protein_fdr" value="false"/>
+      <param name="greedy_group_resolution" value="none"/>
+      <param name="max_psms_extreme_probability" value="1.0"/>
+      <section name="algorithm">
+        <param name="psm_probability_cutoff" value="0.001"/>
+        <param name="top_PSMs" value="1"/>
+        <param name="update_PSM_probabilities" value="true"/>
+        <param name="user_defined_priors" value="false"/>
+        <param name="annotate_group_probabilities" value="true"/>
+        <param name="use_ids_outside_features" value="false"/>
+        <section name="model_parameters">
+          <param name="prot_prior" value="0.7"/>
+          <param name="pep_emission" value="0.1"/>
+          <param name="pep_spurious_emission" value="0.001"/>
+          <param name="pep_prior" value="0.1"/>
+          <param name="regularize" value="false"/>
+          <param name="extended_model" value="false"/>
+        </section>
+        <section name="loopy_belief_propagation">
+          <param name="scheduling_type" value="priority"/>
+          <param name="convergence_threshold" value="1e-05"/>
+          <param name="dampening_lambda" value="0.001"/>
+          <param name="max_nr_iterations" value="2147483647"/>
+          <param name="p_norm_inference" value="1.0"/>
+        </section>
+        <section name="param_optimize">
+          <param name="aucweight" value="0.3"/>
+          <param name="conservative_fdr" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ERPairFinder">
+</xml>
+  <xml name="autotest_ExternalCalibration">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ExternalCalibration_1_input.mzML"/>
+      <output name="out" file="ExternalCalibration_1_MS1_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="offset" value="-5.5"/>
+      <param name="slope" value="0.0001"/>
+      <param name="power" value="0.0"/>
+      <param name="ms_level" value="1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ExternalCalibration_1_input.mzML"/>
+      <output name="out" file="ExternalCalibration_2_MS2_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="offset" value="-5.5"/>
+      <param name="slope" value="0.0001"/>
+      <param name="power" value="0.0"/>
+      <param name="ms_level" value="2"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FalseDiscoveryRate">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_OMSSA.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_output_1.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_OMSSA.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_output_2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="true"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_OMSSA.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_output_3.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="true"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_OMSSA_4.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_output_4.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="true"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="true"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_5_input.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="false"/>
+      <param name="protein" value="true"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="true"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_6_input.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="true"/>
+      <param name="protein" value="false"/>
+      <section name="FDR">
+        <param name="PSM" value="0.05"/>
+        <param name="protein" value="1.0"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="true"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FalseDiscoveryRate_7_input.idXML"/>
+      <output name="out" file="FalseDiscoveryRate_7_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="PSM" value="false"/>
+      <param name="protein" value="true"/>
+      <section name="FDR">
+        <param name="PSM" value="1.0"/>
+        <param name="protein" value="0.3"/>
+        <section name="cleanup">
+          <param name="remove_proteins_without_psms" value="true"/>
+          <param name="remove_psms_without_proteins" value="true"/>
+          <param name="remove_spectra_without_psms" value="true"/>
+        </section>
+      </section>
+      <section name="algorithm">
+        <param name="no_qvalues" value="false"/>
+        <param name="use_all_hits" value="false"/>
+        <param name="split_charge_variants" value="false"/>
+        <param name="treat_runs_separately" value="false"/>
+        <param name="add_decoy_peptides" value="false"/>
+        <param name="add_decoy_proteins" value="false"/>
+        <param name="conservative" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderCentroided">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+        <param name="pseudo_rt_shift" value="500.0"/>
+      </conditional>
+      <param name="in" value="FeatureFinderCentroided_1_input.mzML"/>
+      <output name="out" file="FeatureFinderCentroided_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="intensity">
+          <param name="bins" value="1"/>
+        </section>
+        <section name="mass_trace">
+          <param name="mz_tolerance" value="0.02"/>
+          <param name="min_spectra" value="14"/>
+          <param name="max_missing" value="1"/>
+          <param name="slope_bound" value="0.1"/>
+        </section>
+        <section name="isotopic_pattern">
+          <param name="charge_low" value="2"/>
+          <param name="charge_high" value="2"/>
+          <param name="mz_tolerance" value="0.02"/>
+          <param name="intensity_percentage" value="10.0"/>
+          <param name="intensity_percentage_optional" value="0.1"/>
+          <param name="optional_fit_improvement" value="2.0"/>
+          <param name="mass_window_width" value="100.0"/>
+          <param name="abundance_12C" value="98.93"/>
+          <param name="abundance_14N" value="99.632"/>
+        </section>
+        <section name="seed">
+          <param name="min_score" value="0.8"/>
+        </section>
+        <section name="fit">
+          <param name="max_iterations" value="500"/>
+        </section>
+        <section name="feature">
+          <param name="min_score" value="0.7"/>
+          <param name="min_isotope_fit" value="0.8"/>
+          <param name="min_trace_score" value="0.5"/>
+          <param name="min_rt_span" value="0.333"/>
+          <param name="max_rt_span" value="2.5"/>
+          <param name="rt_shape" value="symmetric"/>
+          <param name="max_intersection" value="0.35"/>
+          <param name="reported_mz" value="monoisotopic"/>
+        </section>
+        <section name="user-seed">
+          <param name="rt_tolerance" value="5.0"/>
+          <param name="mz_tolerance" value="1.1"/>
+          <param name="min_score" value="0.5"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderIdentification">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderIdentification_1_input.mzML"/>
+      <param name="id" value="FeatureFinderIdentification_1_input.idXML"/>
+      <output name="out" file="FeatureFinderIdentification_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="extract">
+        <param name="batch_size" value="1000"/>
+        <param name="mz_window" value="0.1"/>
+        <param name="n_isotopes" value="2"/>
+        <param name="isotope_pmin" value="0.0"/>
+        <param name="rt_quantile" value="0.95"/>
+        <param name="rt_window" value="0.0"/>
+      </section>
+      <section name="detect">
+        <param name="peak_width" value="60.0"/>
+        <param name="min_peak_width" value="0.2"/>
+        <param name="signal_to_noise" value="0.8"/>
+        <param name="mapping_tolerance" value="0.0"/>
+      </section>
+      <section name="svm">
+        <param name="samples" value="0"/>
+        <param name="no_selection" value="false"/>
+        <param name="kernel" value="RBF"/>
+        <param name="xval" value="5"/>
+        <param name="log2_C" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0"/>
+        <param name="log2_gamma" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0"/>
+        <param name="epsilon" value="0.001"/>
+        <param name="cache_size" value="100.0"/>
+        <param name="no_shrinking" value="false"/>
+        <param name="predictors" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score"/>
+        <param name="min_prob" value="0.0"/>
+      </section>
+      <section name="model">
+        <param name="type" value="none"/>
+        <param name="add_zeros" value="0.2"/>
+        <param name="unweighted_fit" value="false"/>
+        <param name="no_imputation" value="false"/>
+        <section name="check">
+          <param name="min_area" value="1.0"/>
+          <param name="boundaries" value="0.5"/>
+          <param name="width" value="10.0"/>
+          <param name="asymmetry" value="10.0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderIdentification_1_input.mzML"/>
+      <param name="id" value="FeatureFinderIdentification_1_input.idXML"/>
+      <output name="out" file="FeatureFinderIdentification_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="extract">
+        <param name="batch_size" value="1000"/>
+        <param name="mz_window" value="0.1"/>
+        <param name="n_isotopes" value="2"/>
+        <param name="isotope_pmin" value="0.0"/>
+        <param name="rt_quantile" value="0.95"/>
+        <param name="rt_window" value="0.0"/>
+      </section>
+      <section name="detect">
+        <param name="peak_width" value="60.0"/>
+        <param name="min_peak_width" value="0.2"/>
+        <param name="signal_to_noise" value="0.8"/>
+        <param name="mapping_tolerance" value="0.0"/>
+      </section>
+      <section name="svm">
+        <param name="samples" value="0"/>
+        <param name="no_selection" value="false"/>
+        <param name="kernel" value="RBF"/>
+        <param name="xval" value="5"/>
+        <param name="log2_C" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0"/>
+        <param name="log2_gamma" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0"/>
+        <param name="epsilon" value="0.001"/>
+        <param name="cache_size" value="100.0"/>
+        <param name="no_shrinking" value="false"/>
+        <param name="predictors" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score"/>
+        <param name="min_prob" value="0.0"/>
+      </section>
+      <section name="model">
+        <param name="type" value="symmetric"/>
+        <param name="add_zeros" value="0.2"/>
+        <param name="unweighted_fit" value="false"/>
+        <param name="no_imputation" value="false"/>
+        <section name="check">
+          <param name="min_area" value="1.0"/>
+          <param name="boundaries" value="0.5"/>
+          <param name="width" value="10.0"/>
+          <param name="asymmetry" value="10.0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderIdentification_1_input.mzML"/>
+      <param name="id" value="FeatureFinderIdentification_1_input.idXML"/>
+      <output name="out" file="FeatureFinderIdentification_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="extract">
+        <param name="batch_size" value="10"/>
+        <param name="mz_window" value="0.1"/>
+        <param name="n_isotopes" value="2"/>
+        <param name="isotope_pmin" value="0.0"/>
+        <param name="rt_quantile" value="0.95"/>
+        <param name="rt_window" value="0.0"/>
+      </section>
+      <section name="detect">
+        <param name="peak_width" value="60.0"/>
+        <param name="min_peak_width" value="0.2"/>
+        <param name="signal_to_noise" value="0.8"/>
+        <param name="mapping_tolerance" value="0.0"/>
+      </section>
+      <section name="svm">
+        <param name="samples" value="0"/>
+        <param name="no_selection" value="false"/>
+        <param name="kernel" value="RBF"/>
+        <param name="xval" value="5"/>
+        <param name="log2_C" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0"/>
+        <param name="log2_gamma" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0"/>
+        <param name="epsilon" value="0.001"/>
+        <param name="cache_size" value="100.0"/>
+        <param name="no_shrinking" value="false"/>
+        <param name="predictors" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score"/>
+        <param name="min_prob" value="0.0"/>
+      </section>
+      <section name="model">
+        <param name="type" value="none"/>
+        <param name="add_zeros" value="0.2"/>
+        <param name="unweighted_fit" value="false"/>
+        <param name="no_imputation" value="false"/>
+        <section name="check">
+          <param name="min_area" value="1.0"/>
+          <param name="boundaries" value="0.5"/>
+          <param name="width" value="10.0"/>
+          <param name="asymmetry" value="10.0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderIsotopeWavelet">
+</xml>
+  <xml name="autotest_FeatureFinderMetaboIdent">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetaboIdent_1_input.mzML"/>
+      <param name="id" value="FeatureFinderMetaboIdent_1_input.tsv" ftype="tabular"/>
+      <output name="out" file="FeatureFinderMetaboIdent_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="extract">
+        <param name="mz_window" value="5.0"/>
+        <param name="n_isotopes" value="2"/>
+        <param name="isotope_pmin" value="0.0"/>
+        <param name="rt_window" value="20.0"/>
+      </section>
+      <section name="detect">
+        <param name="peak_width" value="3.0"/>
+        <param name="min_peak_width" value="0.2"/>
+        <param name="signal_to_noise" value="0.8"/>
+      </section>
+      <section name="model">
+        <param name="type" value="symmetric"/>
+        <param name="add_zeros" value="0.2"/>
+        <param name="unweighted_fit" value="false"/>
+        <param name="no_imputation" value="false"/>
+        <section name="check">
+          <param name="min_area" value="1.0"/>
+          <param name="boundaries" value="0.5"/>
+          <param name="width" value="10.0"/>
+          <param name="asymmetry" value="10.0"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderMetabo">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_1_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="20.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="300.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="true"/>
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="6.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="true"/>
+          <param name="isotope_filtering_model" value="metabolites (5% RMS)"/>
+          <param name="mz_scoring_13C" value="true"/>
+          <param name="use_smoothed_intensities" value="true"/>
+          <param name="report_convex_hulls" value="false"/>
+          <param name="remove_single_traces" value="false"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_2_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_2_noEPD_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="100.0"/>
+          <param name="chrom_peak_snr" value="0.0"/>
+          <param name="chrom_fwhm" value="100.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="5.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="median"/>
+          <param name="trace_termination_criterion" value="sample_rate"/>
+          <param name="trace_termination_outliers" value="2"/>
+          <param name="min_sample_rate" value="0.01"/>
+          <param name="min_trace_length" value="30.0"/>
+          <param name="max_trace_length" value="3000.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="false"/>
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="10.0"/>
+          <param name="max_fwhm" value="80.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="4.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="false"/>
+          <param name="isotope_filtering_model" value="none"/>
+          <param name="mz_scoring_13C" value="false"/>
+          <param name="use_smoothed_intensities" value="false"/>
+          <param name="report_convex_hulls" value="true"/>
+          <param name="remove_single_traces" value="false"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_3_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_3.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="FeatureFinderMetabo_3_chrom_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="5.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="-1.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="true"/>
+          <param name="width_filtering" value="fixed"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="6.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="true"/>
+          <param name="isotope_filtering_model" value="none"/>
+          <param name="mz_scoring_13C" value="true"/>
+          <param name="use_smoothed_intensities" value="true"/>
+          <param name="report_convex_hulls" value="true"/>
+          <param name="remove_single_traces" value="false"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_3_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="FeatureFinderMetabo_4_chrom_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="5.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="-1.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="true"/>
+          <param name="width_filtering" value="fixed"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="6.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="true"/>
+          <param name="isotope_filtering_model" value="none"/>
+          <param name="mz_scoring_13C" value="true"/>
+          <param name="use_smoothed_intensities" value="true"/>
+          <param name="report_convex_hulls" value="true"/>
+          <param name="remove_single_traces" value="true"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMetabo_1_input.mzML"/>
+      <output name="out" file="FeatureFinderMetabo_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="20.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="max_height"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="300.0"/>
+        </section>
+        <section name="epd">
+          <param name="enabled" value="true"/>
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+        </section>
+        <section name="ffm">
+          <param name="local_rt_range" value="10.0"/>
+          <param name="local_mz_range" value="6.5"/>
+          <param name="charge_lower_bound" value="1"/>
+          <param name="charge_upper_bound" value="3"/>
+          <param name="report_summed_ints" value="false"/>
+          <param name="enable_RT_filtering" value="true"/>
+          <param name="isotope_filtering_model" value="metabolites (5% RMS)"/>
+          <param name="mz_scoring_13C" value="true"/>
+          <param name="use_smoothed_intensities" value="true"/>
+          <param name="report_convex_hulls" value="false"/>
+          <param name="remove_single_traces" value="false"/>
+          <param name="mz_scoring_by_elements" value="false"/>
+          <param name="elements" value="CHNOPS"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderMRM">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMRM_1_input.mzML"/>
+      <output name="out" file="FeatureFinderMRM_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <param name="min_rt_distance" value="10.0"/>
+        <param name="min_num_peaks_per_feature" value="5"/>
+        <param name="min_signal_to_noise_ratio" value="2.0"/>
+        <param name="write_debug_files" value="false"/>
+        <param name="resample_traces" value="false"/>
+        <param name="write_debuginfo" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderMultiplex">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_1_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl8]"/>
+        <param name="charge" value="1:4"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="90.0"/>
+        <param name="rt_band" value="10.0"/>
+        <param name="rt_min" value="5.0"/>
+        <param name="mz_tolerance" value="40.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10.0"/>
+        <param name="peptide_similarity" value="0.8"/>
+        <param name="averagine_similarity" value="0.75"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_2_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[][Lys8,Arg10]"/>
+        <param name="charge" value="1:4"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="40.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="2.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="1000.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_3_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[]"/>
+        <param name="charge" value="5:15"/>
+        <param name="isotopes_per_peptide" value="5:10"/>
+        <param name="rt_typical" value="45.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="2.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="200.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="RNA"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_4_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[]"/>
+        <param name="charge" value="5:15"/>
+        <param name="isotopes_per_peptide" value="5:10"/>
+        <param name="rt_typical" value="45.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="2.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="200.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="DNA"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_5_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_5_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
+        <param name="charge" value="1:5"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="50.0"/>
+        <param name="rt_band" value="3.0"/>
+        <param name="rt_min" value="8.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10000000.0"/>
+        <param name="peptide_similarity" value="0.95"/>
+        <param name="averagine_similarity" value="0.8"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="3"/>
+        <param name="spectrum_type" value="profile"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_6_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_6_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_6_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
+        <param name="charge" value="1:5"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="50.0"/>
+        <param name="rt_band" value="3.0"/>
+        <param name="rt_min" value="8.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10000000.0"/>
+        <param name="peptide_similarity" value="0.95"/>
+        <param name="averagine_similarity" value="0.8"/>
+        <param name="averagine_similarity_scaling" value="1.0"/>
+        <param name="missed_cleavages" value="3"/>
+        <param name="spectrum_type" value="profile"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_7_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_7_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[][Dimethyl4]"/>
+        <param name="charge" value="1:4"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="40.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="2.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="1000.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.75"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="31.0094"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_8_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_8_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_8_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl4][Dimethyl8]"/>
+        <param name="charge" value="1:7"/>
+        <param name="isotopes_per_peptide" value="3:8"/>
+        <param name="rt_typical" value="50.0"/>
+        <param name="rt_band" value="3.0"/>
+        <param name="rt_min" value="8.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10.0"/>
+        <param name="peptide_similarity" value="0.2"/>
+        <param name="averagine_similarity" value="0.25"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="4"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="true"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_9_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_9_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_9_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[0][6.03705]"/>
+        <param name="charge" value="2:8"/>
+        <param name="isotopes_per_peptide" value="3:8"/>
+        <param name="rt_typical" value="40.0"/>
+        <param name="rt_band" value="0.0"/>
+        <param name="rt_min" value="4.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="1000.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.4"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="centroid"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_10_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_10_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_multiplets" file="FeatureFinderMultiplex_10_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
+        <param name="charge" value="1:7"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="50.0"/>
+        <param name="rt_band" value="5.0"/>
+        <param name="rt_min" value="8.0"/>
+        <param name="mz_tolerance" value="6.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="10.0"/>
+        <param name="peptide_similarity" value="0.4"/>
+        <param name="averagine_similarity" value="0.5"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="3"/>
+        <param name="spectrum_type" value="profile"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="true"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_multiplets_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderMultiplex_11_input.mzML"/>
+      <output name="out" file="FeatureFinderMultiplex_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <param name="labels" value="[]"/>
+        <param name="charge" value="1:4"/>
+        <param name="isotopes_per_peptide" value="3:6"/>
+        <param name="rt_typical" value="1e-05"/>
+        <param name="rt_band" value="0.0"/>
+        <param name="rt_min" value="0.0"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_unit" value="ppm"/>
+        <param name="intensity_cutoff" value="1000.0"/>
+        <param name="peptide_similarity" value="0.5"/>
+        <param name="averagine_similarity" value="0.7"/>
+        <param name="averagine_similarity_scaling" value="0.95"/>
+        <param name="missed_cleavages" value="0"/>
+        <param name="spectrum_type" value="automatic"/>
+        <param name="averagine_type" value="peptide"/>
+        <param name="knock_out" value="false"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureFinderSuperHirn">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderSuperHirn_input_1.mzML"/>
+      <output name="out" file="FeatureFinderSuperHirn_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="centroiding">
+          <param name="active" value="false"/>
+          <param name="window_width" value="5"/>
+          <param name="absolute_isotope_mass_precision" value="0.01"/>
+          <param name="relative_isotope_mass_precision" value="10.0"/>
+          <param name="minimal_peak_height" value="0.0"/>
+          <param name="min_ms_signal_intensity" value="50.0"/>
+        </section>
+        <section name="ms1">
+          <param name="precursor_detection_scan_levels" value="1"/>
+          <param name="max_inter_scan_distance" value="0"/>
+          <param name="tr_resolution" value="0.01"/>
+          <param name="intensity_threshold" value="1000.0"/>
+          <param name="max_inter_scan_rt_distance" value="0.1"/>
+          <param name="min_nb_cluster_members" value="4"/>
+          <param name="detectable_isotope_factor" value="0.05"/>
+          <param name="intensity_cv" value="0.9"/>
+          <param name="retention_time_tolerance" value="0.5"/>
+          <param name="mz_tolerance" value="0.0"/>
+        </section>
+        <section name="ms1_feature_merger">
+          <param name="active" value="true"/>
+          <param name="tr_resolution" value="0.01"/>
+          <param name="initial_apex_tr_tolerance" value="5.0"/>
+          <param name="feature_merging_tr_tolerance" value="1.0"/>
+          <param name="intensity_variation_percentage" value="25.0"/>
+          <param name="ppm_tolerance_for_mz_clustering" value="10.0"/>
+        </section>
+        <section name="ms1_feature_selection_options">
+          <param name="start_elution_window" value="0.0"/>
+          <param name="end_elution_window" value="180.0"/>
+          <param name="mz_range_min" value="0.0"/>
+          <param name="mz_range_max" value="2000.0"/>
+          <param name="chrg_range_min" value="1"/>
+          <param name="chrg_range_max" value="5"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureFinderSuperHirn_input_2.mzML"/>
+      <output name="out" file="FeatureFinderSuperHirn_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <section name="centroiding">
+          <param name="active" value="true"/>
+          <param name="window_width" value="5"/>
+          <param name="absolute_isotope_mass_precision" value="0.01"/>
+          <param name="relative_isotope_mass_precision" value="10.0"/>
+          <param name="minimal_peak_height" value="0.0"/>
+          <param name="min_ms_signal_intensity" value="50.0"/>
+        </section>
+        <section name="ms1">
+          <param name="precursor_detection_scan_levels" value="1"/>
+          <param name="max_inter_scan_distance" value="0"/>
+          <param name="tr_resolution" value="0.01"/>
+          <param name="intensity_threshold" value="1000.0"/>
+          <param name="max_inter_scan_rt_distance" value="0.1"/>
+          <param name="min_nb_cluster_members" value="4"/>
+          <param name="detectable_isotope_factor" value="0.05"/>
+          <param name="intensity_cv" value="0.9"/>
+          <param name="retention_time_tolerance" value="0.5"/>
+          <param name="mz_tolerance" value="0.0"/>
+        </section>
+        <section name="ms1_feature_merger">
+          <param name="active" value="true"/>
+          <param name="tr_resolution" value="0.01"/>
+          <param name="initial_apex_tr_tolerance" value="5.0"/>
+          <param name="feature_merging_tr_tolerance" value="1.0"/>
+          <param name="intensity_variation_percentage" value="25.0"/>
+          <param name="ppm_tolerance_for_mz_clustering" value="10.0"/>
+        </section>
+        <section name="ms1_feature_selection_options">
+          <param name="start_elution_window" value="0.0"/>
+          <param name="end_elution_window" value="180.0"/>
+          <param name="mz_range_min" value="0.0"/>
+          <param name="mz_range_max" value="2000.0"/>
+          <param name="chrg_range_min" value="1"/>
+          <param name="chrg_range_max" value="5"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureLinkerLabeled">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerLabeled_1_input.featureXML"/>
+      <output name="out" file="FeatureLinkerLabeled_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="rt_estimate" value="false"/>
+        <param name="rt_pair_dist" value="-1.0"/>
+        <param name="rt_dev_low" value="0.4"/>
+        <param name="rt_dev_high" value="0.4"/>
+        <param name="mz_pair_dists" value="8.0"/>
+        <param name="mz_dev" value="0.1"/>
+        <param name="mrm" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerLabeled_2_input.featureXML"/>
+      <output name="out" file="FeatureLinkerLabeled_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="rt_estimate" value="true"/>
+        <param name="rt_pair_dist" value="-121.0382"/>
+        <param name="rt_dev_low" value="123.3965"/>
+        <param name="rt_dev_high" value="123.3965"/>
+        <param name="mz_pair_dists" value="4.0"/>
+        <param name="mz_dev" value="0.1"/>
+        <param name="mrm" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureLinkerUnlabeledKD">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="Da"/>
+        <param name="nr_partitions" value="1"/>
+        <section name="warp">
+          <param name="enabled" value="false"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="charge_merging" value="With_charge_zero"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_1_output.consensusXML,FeatureLinkerUnlabeledKD_1_output_2.consensusXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="true"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="Da"/>
+        <param name="nr_partitions" value="99999"/>
+        <section name="warp">
+          <param name="enabled" value="false"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="charge_merging" value="With_charge_zero"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_3_input1.featureXML,FeatureLinkerUnlabeledQT_3_input2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="Da"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="false"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="0.3"/>
+          <param name="charge_merging" value="With_charge_zero"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="ppm"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="true"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="5.0"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="30.0"/>
+          <param name="mz_tol" value="10.0"/>
+          <param name="charge_merging" value="Identical"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_5_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="ppm"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="true"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="5.0"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="30.0"/>
+          <param name="mz_tol" value="10.0"/>
+          <param name="charge_merging" value="With_charge_zero"/>
+          <param name="adduct_merging" value="Any"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_6_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="ppm"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="true"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="5.0"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="30.0"/>
+          <param name="mz_tol" value="10.0"/>
+          <param name="charge_merging" value="Any"/>
+          <param name="adduct_merging" value="With_unknown_adducts"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledKD_dc_input1.featureXML,FeatureLinkerUnlabeledKD_dc_input2.featureXML,FeatureLinkerUnlabeledKD_dc_input3.featureXML,FeatureLinkerUnlabeledKD_dc_input1_2.featureXML,FeatureLinkerUnlabeledKD_dc_input2_2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledKD_7_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="mz_unit" value="ppm"/>
+        <param name="nr_partitions" value="100"/>
+        <section name="warp">
+          <param name="enabled" value="true"/>
+          <param name="rt_tol" value="100.0"/>
+          <param name="mz_tol" value="5.0"/>
+          <param name="max_pairwise_log_fc" value="0.5"/>
+          <param name="min_rel_cc_size" value="0.5"/>
+          <param name="max_nr_conflicts" value="0"/>
+        </section>
+        <section name="link">
+          <param name="rt_tol" value="30.0"/>
+          <param name="mz_tol" value="10.0"/>
+          <param name="charge_merging" value="Any"/>
+          <param name="adduct_merging" value="Identical"/>
+        </section>
+        <section name="distance_RT">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+          <param name="log_transform" value="enabled"/>
+        </section>
+        <section name="LOWESS">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureLinkerUnlabeledQT">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="false"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_1_output.consensusXML,FeatureLinkerUnlabeledQT_1_output_2.consensusXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="true"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="false"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_3_input1.featureXML,FeatureLinkerUnlabeledQT_3_input2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="false"/>
+        <param name="nr_partitions" value="99999"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="true"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_5_input1.featureXML,FeatureLinkerUnlabeledQT_5_input2.featureXML,FeatureLinkerUnlabeledQT_5_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_5_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="false"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="200.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeledQT_5_input1.featureXML,FeatureLinkerUnlabeledQT_5_input2.featureXML,FeatureLinkerUnlabeledQT_5_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeledQT_6_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="use_identifications" value="true"/>
+        <param name="nr_partitions" value="100"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="200.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FeatureLinkerUnlabeled">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeled_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="second_nearest_gap" value="2.0"/>
+        <param name="use_identifications" value="false"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="200.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.5"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_2_input1.featureXML,FeatureLinkerUnlabeled_2_input2.featureXML,FeatureLinkerUnlabeled_2_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeled_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="second_nearest_gap" value="2.0"/>
+        <param name="use_identifications" value="false"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="100.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.5"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_3_input1.featureXML,FeatureLinkerUnlabeled_3_input2.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeled_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="second_nearest_gap" value="1.5"/>
+        <param name="use_identifications" value="false"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="30.0"/>
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.3"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FeatureLinkerUnlabeled_1_input1.featureXML,FeatureLinkerUnlabeled_1_input2.featureXML,FeatureLinkerUnlabeled_1_input3.featureXML"/>
+      <output name="out" file="FeatureLinkerUnlabeled_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="keep_subelements" value="false"/>
+      <section name="algorithm">
+        <param name="second_nearest_gap" value="2.0"/>
+        <param name="use_identifications" value="true"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="ignore_adduct" value="true"/>
+        <section name="distance_RT">
+          <param name="max_difference" value="200.0"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_MZ">
+          <param name="max_difference" value="0.5"/>
+          <param name="unit" value="Da"/>
+          <param name="exponent" value="2.0"/>
+          <param name="weight" value="1.0"/>
+        </section>
+        <section name="distance_intensity">
+          <param name="exponent" value="1.0"/>
+          <param name="weight" value="0.0"/>
+          <param name="log_transform" value="disabled"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FFEval">
+</xml>
+  <xml name="autotest_FidoAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="FidoAdapter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="FidoAdapter_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="true"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="FidoAdapter_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="true"/>
+      <param name="group_level" value="true"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_4_input.idXML"/>
+      <output name="out" file="FidoAdapter_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_5_input.idXML"/>
+      <output name="out" file="FidoAdapter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="true"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.0"/>
+        <param name="peptide" value="0.0"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_zero_group" value="false"/>
+        <param name="accuracy" value=""/>
+        <param name="log2_states_precalc" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FidoAdapter_1_input.idXML"/>
+      <output name="out" file="FidoAdapter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="separate_runs" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="no_cleanup" value="false"/>
+      <param name="all_PSMs" value="false"/>
+      <param name="group_level" value="false"/>
+      <param name="log2_states" value="0"/>
+      <section name="prob">
+        <param name="protein" value="0.9"/>
+        <param name="peptide" value="0.01"/>
+        <param name="spurious" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FileConverter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_1_input.mzData"/>
+      <output name="out" file="FileConverter_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_2_input.someInputDTA2D"/>
+      <output name="out" file="FileConverter_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_3_input.featureXML"/>
+      <output name="out" file="FileConverter_3_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_4_input.mzXML"/>
+      <output name="out" file="FileConverter_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_5_input.mzML"/>
+      <output name="out" file="FileConverter_5_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
+      <param name="out_type" value="mzXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_6_input.mzML"/>
+      <output name="out" file="FileConverter_6_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
+      <param name="out_type" value="mzXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_7_input.consensusXML"/>
+      <output name="out" file="FileConverter_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_8_input.mzML"/>
+      <output name="out" file="FileConverter_8_output.mzData" compare="sim_size" delta="5700" ftype="mzdata"/>
+      <param name="out_type" value="mzData"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_9_input.consensusXML"/>
+      <output name="out" file="FileConverter_9_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_10_input.edta" ftype="edta"/>
+      <output name="out" file="FileConverter_10_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_11_input.peplist"/>
+      <output name="out" file="FileConverter_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_12_input.peptides.tsv" ftype="tabular"/>
+      <output name="out" file="FileConverter_12_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_13_input.peptides.kroenik"/>
+      <output name="out" file="FileConverter_13_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_9_output.featureXML"/>
+      <output name="out" file="FileConverter_14_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_10_input.edta" ftype="edta"/>
+      <output name="out" file="FileConverter_15_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_16_input.edta" ftype="edta"/>
+      <output name="out" file="FileConverter_16_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_17_input.consensusXML"/>
+      <output name="out" file="FileConverter_17.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="out_type" value="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_17_input.consensusXML"/>
+      <output name="out" file="FileConverter_17_output.ibspectra.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="out_type" value="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileConverter_19_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_20_input.featureXML"/>
+      <output name="out" file="FileConverter_20_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_4_input.mzXML"/>
+      <output name="out" file="FileConverter_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_23_input.mzML"/>
+      <output name="out" file="FileConverter_23_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="true"/>
+        <param name="lossy_mass_accuracy" value="0.0001"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileConverter_24_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="true"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileConverter_25_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="true"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileConverter_26_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
+      <param name="out_type" value="mzXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="true"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_26_output.mzXML"/>
+      <output name="out" file="FileConverter_26-2_output.mzXML" compare="sim_size" delta="5700" ftype="mzxml"/>
+      <param name="out_type" value="mzXML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="true"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_27_input.mzML"/>
+      <output name="out" file="FileConverter_27_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="true"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_28_input.mzML"/>
+      <output name="out" file="FileConverter_28_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="true"/>
+        <param name="lossy_mass_accuracy" value="1e-05"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <output name="out" file="FileConverter_29_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_29_output.mzML"/>
+      <output name="out" file="FileConverter_29.back.tmp" compare="sim_size" delta="5700"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="multiple"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_30_input.mzML"/>
+      <output name="out" file="FileConverter_30_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="single"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileConverter_30_output.mzML"/>
+      <output name="out" file="FileConverter_31_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="UID_postprocessing" value="ensure"/>
+        <param name="TIC_DTA2D" value="false"/>
+        <param name="MGF_compact" value="false"/>
+        <param name="force_MaxQuant_compatibility" value="false"/>
+        <param name="convert_to_chromatograms" value="false"/>
+        <param name="force_TPP_compatibility" value="false"/>
+        <param name="change_im_format" value="none"/>
+        <param name="write_scan_index" value="true"/>
+        <param name="lossy_compression" value="false"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="no_peak_picking" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ginkgotoxin-ms-switching.raw"/>
+      <output name="out" file="ginkgotoxin-ms-switching_out_tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FileFilter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":30"/>
+      <param name="mz" value=":1000"/>
+      <param name="int" value=":20000"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value="30:"/>
+      <param name="mz" value="1000:"/>
+      <param name="int" value="100:"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_3_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="2"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_4_input.mzML"/>
+      <output name="out" file="FileFilter_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="true"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_5_input.featureXML"/>
+      <output name="out" file="FileFilter_5_out.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="rt" value=":1000"/>
+      <param name="mz" value=":480"/>
+      <param name="int" value=":79000"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":0.6"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":3"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_5_input.featureXML"/>
+      <output name="out" file="FileFilter_6_out.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="rt" value="1000:"/>
+      <param name="mz" value="440:"/>
+      <param name="int" value="70000:"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value="0.51:"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value="3:"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_7_input.mzML"/>
+      <output name="out" file="FileFilter_7_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value="7000:"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_8_input.consensusXML"/>
+      <output name="out" file="FileFilter_8_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="rt" value="600:1400"/>
+      <param name="mz" value="700:2300"/>
+      <param name="int" value="1100:6000"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_9_input.mzML"/>
+      <output name="out" file="FileFilter_9_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value="SelectedIonMonitoring"/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_10_input.mzML"/>
+      <output name="out" file="FileFilter_10_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value="Collision-induced dissociation"/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_11_input.mzML"/>
+      <output name="out" file="FileFilter_11_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value="Plasma desorption"/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_12_input.mzML"/>
+      <output name="out" file="FileFilter_12_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="true"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_13_input.consensusXML"/>
+      <output name="out" file="FileFilter_13_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featureXML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value="2"/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_14_input.consensusXML"/>
+      <output name="out" file="FileFilter_14_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusXML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value="0 2"/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_15_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;Oxidation&quot;"/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_16_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value="3000:4000"/>
+      <param name="mz" value="400:600"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;Oxidation&quot;"/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_17_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value="3000:4000"/>
+      <param name="mz" value="400:600"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="true"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_18_input.consensusXML"/>
+      <output name="out" file="FileFilter_18_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;Oxidation&quot;"/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_18_input.consensusXML"/>
+      <output name="out" file="FileFilter_19_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value="3000:4000"/>
+      <param name="mz" value="400:600"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="true"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_20_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value="&quot;YDL217C&quot;"/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_15_input.featureXML"/>
+      <output name="out" file="FileFilter_21_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="true"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="true"/>
+        <param name="remove_unassigned_ids" value="true"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_22_input.consensusXML"/>
+      <output name="out" file="FileFilter_22_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value="&quot;distinct_charges&quot; &quot;gt&quot; &quot;1,2&quot;"/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_22_input.consensusXML"/>
+      <output name="out" file="FileFilter_22_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value="&quot;distinct_charges_size&quot; &quot;gt&quot; &quot;2&quot;"/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_22_input.consensusXML"/>
+      <output name="out" file="FileFilter_24_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="out_type" value="consensusxml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value="&quot;DOESNOTEXIST&quot; &quot;lt&quot; &quot;whatever&quot;"/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_25_input.mzML.gz"/>
+      <output name="out" file="FileFilter_25_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="blacklist" value="FileFilter_25_input.idXML"/>
+        <param name="rt" value="1.0"/>
+        <param name="mz" value="0.05"/>
+        <param name="blacklist_imperfect" value="true"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_25_input.mzML.gz"/>
+      <output name="out" file="FileFilter_25_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="blacklist" value="FileFilter_25_input.idXML"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="true"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_28_input.mzML.gz"/>
+      <output name="out" file="FileFilter_28_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value="832:836"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="2"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_28_input.mzML.gz"/>
+      <output name="out" file="FileFilter_29_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value="832:836"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_28_input.mzML.gz"/>
+      <output name="out" file="FileFilter_30_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value="832:836"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_31_34_input.mzML"/>
+      <output name="out" file="FileFilter_31_remove_collision_energy.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":2"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_31_34_input.mzML"/>
+      <output name="out" file="FileFilter_32_select_collision_energy.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":2"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_31_34_input.mzML"/>
+      <output name="out" file="FileFilter_33_remove_isolation_window.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":35"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_31_34_input.mzML"/>
+      <output name="out" file="FileFilter_34_select_isolation_window.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":35"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_35_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_36_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="false"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_37_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="linear"/>
+          <param name="lossy_mass_accuracy" value="0.0001"/>
+          <param name="intensity" value="slof"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output name="out" file="FileFilter_38_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="linear"/>
+          <param name="lossy_mass_accuracy" value="0.0001"/>
+          <param name="intensity" value="pic"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_40_input.mzML"/>
+      <output name="out" file="FileFilter_40_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value="positive"/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_40_input.mzML"/>
+      <output name="out" file="FileFilter_41_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value="negative"/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_40_input.mzML"/>
+      <output name="out" file="FileFilter_42_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_43_input.mzML"/>
+      <output name="out" file="FileFilter_43.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_43.tmp.mzML"/>
+      <output name="out" file="FileFilter_43.dummy.tmp" compare="sim_size" delta="5700"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_44_input.mzML"/>
+      <output name="out" file="FileFilter_44_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzML"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_45_input.featureXML"/>
+      <output name="out" file="FileFilter_45_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;YSFS&quot; &quot;STLIPPPSK(Label:13C(6)15N(2))&quot;"/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_46_input.featureXML"/>
+      <output name="out" file="FileFilter_46_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value="&quot;YSFS&quot; &quot;STLIPPPSK(Label:13C(6)15N(2))&quot;"/>
+        <param name="sequence_comparison_method" value="exact"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_47_input.mzML"/>
+      <output name="out" file="FileFilter_47_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="file" value="FileFilter_47_input_select.mzML"/>
+          <param name="similarity_threshold" value="0.9"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_47_input.mzML"/>
+      <output name="out" file="FileFilter_48_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="false"/>
+        <section name="numpress">
+          <param name="masstime" value="none"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="none"/>
+          <param name="float_da" value="none"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="file" value="FileFilter_47_input_select.mzML"/>
+          <param name="similarity_threshold" value="0.9"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="false"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_49_input.mzML"/>
+      <output name="out" file="FileFilter_49_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="rt" value=":"/>
+      <param name="mz" value=":"/>
+      <param name="int" value=":"/>
+      <param name="sort" value="false"/>
+      <section name="peak_options">
+        <param name="sn" value="0.0"/>
+        <param name="rm_pc_charge" value=""/>
+        <param name="pc_mz_range" value=":"/>
+        <param name="pc_mz_list" value=""/>
+        <param name="level" value="1 2 3"/>
+        <param name="sort_peaks" value="false"/>
+        <param name="no_chromatograms" value="false"/>
+        <param name="remove_chromatograms" value="false"/>
+        <param name="remove_empty" value="false"/>
+        <param name="mz_precision" value="64"/>
+        <param name="int_precision" value="32"/>
+        <param name="indexed_file" value="true"/>
+        <param name="zlib_compression" value="true"/>
+        <section name="numpress">
+          <param name="masstime" value="linear"/>
+          <param name="lossy_mass_accuracy" value="-1.0"/>
+          <param name="intensity" value="pic"/>
+          <param name="float_da" value="slof"/>
+        </section>
+      </section>
+      <section name="spectra">
+        <param name="remove_zoom" value="false"/>
+        <param name="remove_mode" value=""/>
+        <param name="remove_activation" value=""/>
+        <param name="remove_collision_energy" value=":"/>
+        <param name="remove_isolation_window_width" value=":"/>
+        <param name="select_zoom" value="false"/>
+        <param name="select_mode" value=""/>
+        <param name="select_activation" value=""/>
+        <param name="select_collision_energy" value=":"/>
+        <param name="select_isolation_window_width" value=":"/>
+        <param name="select_polarity" value=""/>
+        <section name="blackorwhitelist">
+          <param name="similarity_threshold" value="-1.0"/>
+          <param name="rt" value="0.01"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+          <param name="blacklist" value="true"/>
+        </section>
+      </section>
+      <section name="feature">
+        <param name="q" value=":"/>
+      </section>
+      <section name="consensus">
+        <param name="map" value=""/>
+        <param name="map_and" value="false"/>
+        <section name="blackorwhitelist">
+          <param name="blacklist" value="true"/>
+          <param name="maps" value=""/>
+          <param name="rt" value="60.0"/>
+          <param name="mz" value="0.01"/>
+          <param name="use_ppm_tolerance" value="false"/>
+        </section>
+      </section>
+      <section name="f_and_c">
+        <param name="charge" value=":"/>
+        <param name="size" value=":"/>
+        <param name="remove_meta" value=""/>
+      </section>
+      <section name="id">
+        <param name="remove_clashes" value="false"/>
+        <param name="keep_best_score_id" value="false"/>
+        <param name="sequences_whitelist" value=""/>
+        <param name="sequence_comparison_method" value="substring"/>
+        <param name="accessions_whitelist" value=""/>
+        <param name="remove_annotated_features" value="false"/>
+        <param name="remove_unannotated_features" value="false"/>
+        <param name="remove_unassigned_ids" value="false"/>
+        <param name="rt" value="0.1"/>
+        <param name="mz" value="0.001"/>
+        <param name="blacklist_imperfect" value="false"/>
+      </section>
+      <section name="algorithm">
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FileInfo">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_1_input.dta" ftype="dta"/>
+      <output name="out" file="FileInfo_1_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_2_input.dta2d" ftype="dta2d"/>
+      <output name="out" file="FileInfo_2_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_3_input.featureXML"/>
+      <output name="out" file="FileInfo_3_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="true"/>
+      <param name="s" value="true"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_4_input.mzXML"/>
+      <output name="out" file="FileInfo_4_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_5_input.mzDat"/>
+      <output name="out" file="FileInfo_5_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="false"/>
+      <param name="s" value="true"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_6_input.mzData"/>
+      <output name="out" file="FileInfo_6_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="true"/>
+      <param name="d" value="true"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_7_input.consensusXML"/>
+      <output name="out" file="FileInfo_7_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="true"/>
+      <param name="s" value="true"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_9_input.mzML"/>
+      <output name="out" file="FileInfo_9_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="true"/>
+      <param name="p" value="true"/>
+      <param name="s" value="true"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_10_input.idXML"/>
+      <output name="out" file="FileInfo_10_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_12_input.mzML"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_13_input.consensusXML"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_14_input.mzid"/>
+      <output name="out" file="FileInfo_14_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="true"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_15_input.mzid"/>
+      <output name="out" file="FileInfo_15_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="true"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_16_input.trafoXML"/>
+      <output name="out" file="FileInfo_16_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_17_input.fasta"/>
+      <output name="out" file="FileInfo_17_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileInfo_18_input.fasta"/>
+      <output name="out" file="FileInfo_18_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="m" value="false"/>
+      <param name="p" value="false"/>
+      <param name="s" value="false"/>
+      <param name="d" value="false"/>
+      <param name="c" value="false"/>
+      <param name="v" value="false"/>
+      <param name="i" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FileMerger">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_2_input1.dta,FileMerger_2_input2.dta" ftype="dta"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value="5.0 10.0"/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_3_input1.dta,FileMerger_3_input2.dta" ftype="dta"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_3_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="true"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_4_input1.dta2d,FileMerger_4_input2.dta2d" ftype="dta2d"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_5_input_rt1023.331.dta,FileMerger_5_input_rt2044.334.dta,FileMerger_5_input_rt889.32.dta" ftype="dta"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_5_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="true"/>
+        <param name="ms_level" value="2"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_6_input1.mzML,FileMerger_6_input2.mzML"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_6_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_7_input1.featureXML,FileMerger_7_input2.featureXML"/>
+      <param name="out_type" value="featureXML"/>
+      <output name="out" file="FileMerger_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_8_input1.consensusXML,FileMerger_8_input2.consensusXML"/>
+      <param name="out_type" value="consensusXML"/>
+      <output name="out" file="FileMerger_8_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_9_input1.traML,FileMerger_9_input2.traML"/>
+      <param name="out_type" value="traML"/>
+      <output name="out" file="FileMerger_9_output.traML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_6_input2.mzML,FileMerger_6_input2_2.mzML"/>
+      <param name="out_type" value="mzML"/>
+      <output name="out" file="FileMerger_10_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_rows"/>
+      <section name="rt_concat">
+        <param name="gap" value="10.0"/>
+      </section>
+      <output_collection name="rt_concat_trafo_out" count="2"/>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileMerger_8_input1.consensusXML,FileMerger_8_input2.consensusXML"/>
+      <param name="out_type" value="consensusXML"/>
+      <output name="out" file="FileMerger_11_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="append_method" value="append_cols"/>
+      <section name="rt_concat">
+        <param name="gap" value="0.0"/>
+      </section>
+      <section name="raw">
+        <param name="rt_auto" value="false"/>
+        <param name="rt_custom" value=""/>
+        <param name="rt_filename" value="false"/>
+        <param name="ms_level" value="0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_FuzzyDiff">
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="whitelist" value="&quot;&lt;?xml-stylesheet&quot;"/>
+        <param name="matched_whitelist" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in1" value="FuzzyDiff_3_in1.featureXML"/>
+      <param name="in2" value="FuzzyDiff_3_in2.featureXML"/>
+      <param name="ratio" value="1.01"/>
+      <param name="absdiff" value="0.01"/>
+      <param name="verbose" value="1"/>
+      <param name="tab_width" value="8"/>
+      <param name="first_column" value="1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_GNPSExport">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="GNPSExport_single.consensusXML"/>
+      <param name="in_mzml" value="GNPSExport_mz1.mzML"/>
+      <output name="out" file="GNPSExport_1_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
+      <param name="output_type" value="full_spectra"/>
+      <param name="precursor_mz_tolerance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <section name="merged_spectra">
+        <param name="cos_similarity" value="0.95"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="GNPSExport_single.consensusXML"/>
+      <param name="in_mzml" value="GNPSExport_mz1.mzML"/>
+      <output name="out" file="GNPSExport_2_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
+      <param name="output_type" value="merged_spectra"/>
+      <param name="precursor_mz_tolerance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <section name="merged_spectra">
+        <param name="cos_similarity" value="0.95"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="GNPSExport_merged.consensusXML"/>
+      <param name="in_mzml" value="GNPSExport_mz1.mzML,GNPSExport_mz2.mzML"/>
+      <output name="out" file="GNPSExport_3_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
+      <param name="output_type" value="full_spectra"/>
+      <param name="precursor_mz_tolerance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <section name="merged_spectra">
+        <param name="cos_similarity" value="0.95"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="GNPSExport_merged.consensusXML"/>
+      <param name="in_mzml" value="GNPSExport_mz1.mzML,GNPSExport_mz2.mzML"/>
+      <output name="out" file="GNPSExport_4_out.mgf" compare="sim_size" delta="5700" ftype="mgf"/>
+      <param name="output_type" value="full_spectra"/>
+      <param name="precursor_mz_tolerance" value="0.0001"/>
+      <param name="precursor_rt_tolerance" value="5.0"/>
+      <section name="merged_spectra">
+        <param name="cos_similarity" value="0.95"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_HighResPrecursorMassCorrector">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_2860_1103_3.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_2860_1103_3_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_2860_1103_3.featureXML"/>
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_1035_1178_4.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_1035_1178_4_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_1035_1178_4.featureXML"/>
+        <param name="mz_tolerance" value="10.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="4"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_2538_1091_2.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_2538_1091_2_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_2538_1091_2.featureXML"/>
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_2810_1091_3.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_2810_1091_3_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_2810_1091_3.featureXML"/>
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_3070_1191_3.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_3070_1191_3_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="in" value="HighResPrecursorMassCorrector_3070_1191_3.featureXML"/>
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="HighResPrecursorMassCorrector_6.mzML"/>
+      <output name="out" file="HighResPrecursorMassCorrector_6_out.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="feature">
+        <param name="mz_tolerance" value="5.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+        <param name="rt_tolerance" value="0.0"/>
+        <param name="max_trace" value="2"/>
+        <param name="believe_charge" value="false"/>
+        <param name="keep_original" value="false"/>
+        <param name="assign_all_matching" value="false"/>
+      </section>
+      <section name="nearest_peak">
+        <param name="mz_tolerance" value="0.0"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="highest_intensity_peak">
+        <param name="mz_tolerance" value="0.2"/>
+        <param name="mz_tolerance_unit" value="ppm"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDConflictResolver">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDConflictResolver_1_input.featureXML"/>
+      <output name="out" file="IDConflictResolver_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="resolve_between_features" value="off"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDConflictResolver_2_input.consensusXML"/>
+      <output name="out" file="IDConflictResolver_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="resolve_between_features" value="off"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDConflictResolver_3_input.consensusXML"/>
+      <output name="out" file="IDConflictResolver_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="resolve_between_features" value="off"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDConflictResolver_4_input.featureXML"/>
+      <output name="out" file="IDConflictResolver_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="resolve_between_features" value="highest_intensity"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDExtractor">
+</xml>
+  <xml name="autotest_IDFileConverter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_1_input1.mascotXML"/>
+      <output name="out" file="IDFileConverter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="IDFileConverter_1_input2.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PepXMLFile_test.pepxml"/>
+      <output name="out" file="IDFileConverter_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="PepXMLFile_test.mzML"/>
+      <param name="mz_name" value="PepXMLFile_test"/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_3_input.protXML"/>
+      <output name="out" file="IDFileConverter_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value="scan=(?&lt;SCAN&gt;\d+)"/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_1_input1.mascotXML"/>
+      <output name="out" file="IDFileConverter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="IDFileConverter_1_input2.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_6_input1.pepXML"/>
+      <output name="out" file="IDFileConverter_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="IDFileConverter_1_input2.mzML"/>
+      <param name="mz_name" value="F025589.dat.mzML"/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_7_input1.xml"/>
+      <output name="out" file="IDFileConverter_7_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_8_input.mzid"/>
+      <output name="out" file="IDFileConverter_8_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_9_input.idXML"/>
+      <output name="out" file="IDFileConverter_9_output.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <param name="out_type" value="mzid"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_10_input.pepXML"/>
+      <output name="out" file="IDFileConverter_10_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_11_input.tsv" ftype="tabular"/>
+      <output name="out" file="IDFileConverter_11_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_12_input.psms"/>
+      <output name="out" file="IDFileConverter_12_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_12_input.psms"/>
+      <output name="out" file="IDFileConverter_13_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="PEP"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_12_input.psms"/>
+      <output name="out" file="IDFileConverter_14_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="score"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSGFPlusAdapter_1_out.mzid"/>
+      <output name="out" file="IDFileConverter_15_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="spectra.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_16_input.pepXML"/>
+      <output name="out" file="IDFileConverter_16_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_17_input.idXML"/>
+      <output name="out" file="IDFileConverter_17_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_18_input.idXML"/>
+      <output name="out" file="IDFileConverter_18_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_19_input.idXML"/>
+      <output name="out" file="IDFileConverter_19_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_20_input.idXML"/>
+      <output name="out" file="IDFileConverter_20_output.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_21_input.idXML"/>
+      <output name="out" file="IDFileConverter_21_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="IDMapper_4_input.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.01"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSGFPlusAdapter_1_out.mzid"/>
+      <output name="out" file="IDFileConverter_22_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_file" value="spectra.mzML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_23_input.mzid"/>
+      <output name="out" file="IDFileConverter_23_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_24_input.pep.xml"/>
+      <output name="out" file="IDFileConverter_24_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_25_input.idXML"/>
+      <output name="out" file="IDFileConverter_25_output.pep.xml" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="out_type" value="pepXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_proteins_per_peptide" value="false"/>
+        <param name="scan_regex" value=""/>
+        <param name="no_spectra_data_override" value="false"/>
+        <param name="no_spectra_references_override" value="false"/>
+        <param name="add_ionmatch_annotation" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_26_input.mzid"/>
+      <output name="out" file="IDFileConverter_26_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="mz_name" value=""/>
+      <param name="peptideprophet_analyzed" value="false"/>
+      <param name="score_type" value="qvalue"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDFilter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_1_input.idXML"/>
+      <output name="out" file="IDFilter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="proteins" value="IDFilter_1_input.fas"/>
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_3_input.idXML"/>
+      <output name="out" file="IDFilter_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="peptides" value="IDFilter_3_2_input.idXML"/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_4_input.idXML"/>
+      <output name="out" file="IDFilter_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.08"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_5_input.idXML"/>
+      <output name="out" file="IDFilter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="32.0"/>
+        <param name="prot" value="25.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_5_input.idXML"/>
+      <output name="out" file="IDFilter_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="32.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_5_input.idXML"/>
+      <output name="out" file="IDFilter_5b_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="25.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_5_input.idXML"/>
+      <output name="out" file="IDFilter_5c_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="true"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="25.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_6_input.idXML"/>
+      <output name="out" file="IDFilter_6_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="2"/>
+        <param name="n_protein_hits" value="10"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="true"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_7_input.idXML"/>
+      <output name="out" file="IDFilter_7_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_8_input.idXML"/>
+      <output name="out" file="IDFilter_8_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value="200:350"/>
+        <param name="mz" value="999:1000"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_9_input.idXML"/>
+      <output name="out" file="IDFilter_9_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.05"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_10_input.idXML"/>
+      <output name="out" file="IDFilter_10_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="true"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.3"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_11_input.idXML"/>
+      <output name="out" file="IDFilter_11_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="true"/>
+      <param name="delete_unreferenced_peptide_hits" value="true"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_12_input.idXML"/>
+      <output name="out" file="IDFilter_12_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_12_input.fasta"/>
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_13_input.idXML"/>
+      <output name="out" file="IDFilter_13_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_13_input.fasta"/>
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_14_input.idXML"/>
+      <output name="out" file="IDFilter_14_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_14_input.fasta"/>
+        <param name="enzyme" value="Trypsin/P"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_15_input.idXML"/>
+      <output name="out" file="IDFilter_15_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_15_input.fasta"/>
+        <param name="enzyme" value="Trypsin/P"/>
+        <param name="specificity" value="semi"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_16_input.idXML"/>
+      <output name="out" file="IDFilter_16_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="fasta" value="IDFilter_16_input.fasta"/>
+        <param name="enzyme" value="Trypsin/P"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="methionine_cleavage" value="true"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
+      <output name="out" file="IDFilter_17_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":2"/>
+        <param name="enzyme" value="Lys-N"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
+      <output name="out" file="IDFilter_18_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value="2:"/>
+        <param name="enzyme" value="Lys-N"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
+      <output name="out" file="IDFilter_19_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value="1:3"/>
+        <param name="enzyme" value="Lys-N"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value=""/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_missed_cleavages_input.idXML"/>
+      <output name="out" file="IDFilter_20_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value="1:0"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value="&quot;calcMZ&quot; &quot;gt&quot; &quot;750.0&quot;"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_16_input.idXML"/>
+      <output name="out" file="IDFilter_21_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="remove_duplicate_psm" value="false"/>
+        <param name="remove_peptide_hits_by_metavalue" value="&quot;end&quot; &quot;ne&quot; &quot;23&quot;"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFilter_16_input.idXML"/>
+      <output name="out" file="IDFilter_22_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="var_mods" value="false"/>
+      <param name="remove_shared_peptides" value="false"/>
+      <param name="keep_unreferenced_protein_hits" value="false"/>
+      <param name="remove_decoys" value="false"/>
+      <param name="delete_unreferenced_peptide_hits" value="false"/>
+      <section name="precursor">
+        <param name="rt" value=":"/>
+        <param name="mz" value=":"/>
+        <param name="length" value=":"/>
+        <param name="charge" value=":"/>
+      </section>
+      <section name="score">
+        <param name="pep" value="0.0"/>
+        <param name="prot" value="0.0"/>
+      </section>
+      <section name="whitelist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="blacklist">
+        <param name="protein_accessions" value=""/>
+        <param name="ignore_modifications" value="false"/>
+        <param name="modifications" value=""/>
+      </section>
+      <section name="in_silico_digestion">
+        <param name="enzyme" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+        <param name="missed_cleavages" value="-1"/>
+        <param name="methionine_cleavage" value="false"/>
+      </section>
+      <section name="missed_cleavages">
+        <param name="number_of_missed_cleavages" value=":"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="rt">
+        <param name="p_value" value="0.0"/>
+        <param name="p_value_1st_dim" value="0.0"/>
+      </section>
+      <section name="mz">
+        <param name="error" value="-1.0"/>
+        <param name="unit" value="ppm"/>
+      </section>
+      <section name="best">
+        <param name="n_peptide_hits" value="0"/>
+        <param name="n_protein_hits" value="0"/>
+        <param name="strict" value="false"/>
+        <param name="n_to_m_peptide_hits" value=":"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDMapper">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_1_input.idXML"/>
+      <param name="in" value="IDMapper_1_input.featureXML"/>
+      <output name="out" file="IDMapper_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_tolerance" value="5.0"/>
+      <param name="mz_tolerance" value="1.0"/>
+      <param name="mz_measure" value="Da"/>
+      <param name="mz_reference" value="precursor"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="false"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_2_input.idXML"/>
+      <param name="in" value="IDMapper_2_input.consensusXML"/>
+      <output name="out" file="IDMapper_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="rt_tolerance" value="5.0"/>
+      <param name="mz_tolerance" value="1.0"/>
+      <param name="mz_measure" value="Da"/>
+      <param name="mz_reference" value="precursor"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="true"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_3_input.idXML"/>
+      <param name="in" value="IDMapper_3_input.featureXML"/>
+      <output name="out" file="IDMapper_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_tolerance" value="4.0"/>
+      <param name="mz_tolerance" value="3.0"/>
+      <param name="mz_measure" value="ppm"/>
+      <param name="mz_reference" value="precursor"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="true"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_4_input.idXML"/>
+      <param name="in" value="IDMapper_4_input.featureXML"/>
+      <output name="out" file="IDMapper_4_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_tolerance" value="10.0"/>
+      <param name="mz_tolerance" value="20.0"/>
+      <param name="mz_measure" value="ppm"/>
+      <param name="mz_reference" value="peptide"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="true"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra">
+        <param name="_in" value="IDMapper_4_input.mzML"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="ignore_charge" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="id" value="IDMapper_5_input.idXML"/>
+      <param name="in" value="IDMapper_5_input.featureXML"/>
+      <output name="out" file="IDMapper_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="rt_tolerance" value="20.0"/>
+      <param name="mz_tolerance" value="10.0"/>
+      <param name="mz_measure" value="ppm"/>
+      <param name="mz_reference" value="peptide"/>
+      <section name="feature">
+        <param name="use_centroid_rt" value="false"/>
+        <param name="use_centroid_mz" value="false"/>
+      </section>
+      <section name="consensus">
+        <param name="use_subelements" value="false"/>
+        <param name="annotate_ids_with_subelements" value="false"/>
+      </section>
+      <section name="spectra">
+        <param name="_in" value="IDMapper_5_input.mzML"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDMassAccuracy">
+    <test expect_num_outputs="5">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="number_of_bins" value="10"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <param name="id_in" value="MSGFPlusAdapter_1_out.idXML"/>
+      <output name="out_precursor" file="IDMassAccuracy_1_out_precursor.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="precursor_error_ppm" value="false"/>
+      <output name="out_fragment" file="IDMassAccuracy_1_out_fragment.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="fragment_error_ppm" value="false"/>
+      <param name="fragment_mass_tolerance" value="0.5"/>
+      <output name="out_precursor_fit" file="IDMassAccuracy_1_out_precursor_fit.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <output name="out_fragment_fit" file="IDMassAccuracy_1_out_fragment_fit.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_precursor_FLAG,out_fragment_FLAG,out_precursor_fit_FLAG,out_fragment_fit_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDMerger">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMerger_1_input1.idXML,IDMerger_1_input2.idXML"/>
+      <output name="out" file="IDMerger_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="true"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMerger_2_input1.idXML,IDMerger_2_input2.idXML"/>
+      <output name="out" file="IDMerger_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="pepxml_protxml" value="true"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMerger_1_input1.idXML,IDMerger_1_input1_2.idXML"/>
+      <output name="out" file="IDMerger_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="degenerated_empty.idXML,degenerated_empty_2.idXML"/>
+      <output name="out" file="IDMerger_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMerger_2_input1.idXML"/>
+      <output name="out" file="IDMerger_5_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="add_to" value="IDMerger_5_input1.idXML"/>
+      <param name="annotate_file_origin" value="false"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRipper_3_input1.idXML,IDRipper_3_input2.idXML"/>
+      <output name="out" file="IDRipper_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="annotate_file_origin" value="true"/>
+      <param name="pepxml_protxml" value="false"/>
+      <param name="merge_proteins_add_PSMs" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDPosteriorErrorProbability">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_Mascot_input.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_Mascot_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_XTandem_input.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_XTandem_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_OMSSA_input.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_OMSSA_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_OMSSA_input2.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_OMSSA_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="true"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_XTandem_input2.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_XTandem_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="true"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_Mascot_input2.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_Mascot_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="true"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_bad_data.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_bad_data_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="true"/>
+      <param name="prob_correct" value="false"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="fdr_for_targets_smaller" value="0.05"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDPosteriorErrorProbability_OMSSA_input.idXML"/>
+      <output name="out" file="IDPosteriorErrorProbability_prob_correct_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="split_charge" value="false"/>
+      <param name="top_hits_only" value="false"/>
+      <param name="ignore_bad_data" value="false"/>
+      <param name="prob_correct" value="true"/>
+      <section name="fit_algorithm">
+        <param name="number_of_bins" value="100"/>
+        <param name="incorrectly_assigned" value="Gumbel"/>
+        <param name="max_nr_iterations" value="1000"/>
+        <param name="neg_log_delta" value="6"/>
+        <param name="outlier_handling" value="ignore_iqr_outliers"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDRipper"/>
+  <xml name="autotest_IDRTCalibration">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRTCalibration_1_input.idXML"/>
+      <output name="out" file="IDRTCalibration_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="calibrant_1_reference" value="0.1"/>
+      <param name="calibrant_2_reference" value="0.9"/>
+      <param name="calibrant_1_input" value="10.0"/>
+      <param name="calibrant_2_input" value="90.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="degenerated_empty.idXML"/>
+      <output name="out" file="IDRTCalibration_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="calibrant_1_reference" value="0.1"/>
+      <param name="calibrant_2_reference" value="0.9"/>
+      <param name="calibrant_1_input" value="10.0"/>
+      <param name="calibrant_2_input" value="90.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDScoreSwitcher">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDFileConverter_12_output.idXML"/>
+      <output name="out" file="IDFileConverter_13_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="new_score" value="Percolator_PEP"/>
+      <param name="new_score_orientation" value="lower_better"/>
+      <param name="new_score_type" value="Posterior Error Probability"/>
+      <param name="old_score" value="Percolator_qvalue"/>
+      <param name="proteins" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDScoreSwitcher_2_input.idXML"/>
+      <output name="out" file="IDScoreSwitcher_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="new_score" value="Posterior Probability_score"/>
+      <param name="new_score_orientation" value="higher_better"/>
+      <param name="new_score_type" value="Posterior Probability"/>
+      <param name="old_score" value=""/>
+      <param name="proteins" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IDSplitter">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMapper_1_output.featureXML"/>
+      <output name="out" file="IDSplitter_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="id_out" file="IDSplitter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,id_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_InternalCalibration">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="InternalCalibration_1_BSA1.mzML"/>
+      <output name="out" file="InternalCalibration_1_BSA1_out.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="ppm_match_tolerance" value="25.0"/>
+      <param name="ms_level" value="1"/>
+      <param name="RT_chunking" value="-1.0"/>
+      <section name="cal">
+        <param name="id_in" value="InternalCalibration_1_BSA1_OMSSA.idXML"/>
+        <param name="lock_require_mono" value="false"/>
+        <param name="lock_require_iso" value="false"/>
+        <param name="model_type" value="linear"/>
+      </section>
+      <section name="RANSAC">
+        <param name="enabled" value="true"/>
+        <param name="threshold" value="1.0"/>
+        <param name="pc_inliers" value="30"/>
+        <param name="iter" value="500"/>
+      </section>
+      <section name="goodness">
+        <param name="median" value="4.0"/>
+        <param name="MAD" value="2.0"/>
+      </section>
+      <section name="quality_control"/>
+      <output name="quality_control_models" file="InternalCalibration_1_models.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="quality_control_residuals" file="InternalCalibration_1_residuals.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,models_FLAG,residuals_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="InternalCalibration_2_lockmass.mzML.gz"/>
+      <output name="out" file="InternalCalibration_2_lockmass.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="ppm_match_tolerance" value="25.0"/>
+      <param name="ms_level" value="1 2 3"/>
+      <param name="RT_chunking" value="60.0"/>
+      <section name="cal">
+        <param name="lock_in" value="InternalCalibration_2_lock.csv" ftype="csv"/>
+        <param name="lock_require_mono" value="true"/>
+        <param name="lock_require_iso" value="false"/>
+        <param name="model_type" value="linear"/>
+      </section>
+      <section name="RANSAC">
+        <param name="enabled" value="false"/>
+        <param name="threshold" value="10.0"/>
+        <param name="pc_inliers" value="30"/>
+        <param name="iter" value="70"/>
+      </section>
+      <section name="goodness">
+        <param name="median" value="4.0"/>
+        <param name="MAD" value="2.0"/>
+      </section>
+      <section name="quality_control"/>
+      <output name="quality_control_models" file="InternalCalibration_2_models.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="quality_control_residuals" file="InternalCalibration_2_residuals.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,models_FLAG,residuals_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_IsobaricAnalyzer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="type" value="itraq4plex"/>
+      <param name="in" value="IsobaricAnalyzer_input_1.mzML"/>
+      <output name="out" file="IsobaricAnalyzer_output_1.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="extraction">
+        <param name="select_activation" value=""/>
+        <param name="reporter_mass_shift" value="0.1"/>
+        <param name="min_precursor_intensity" value="1.0"/>
+        <param name="keep_unannotated_precursor" value="true"/>
+        <param name="min_reporter_intensity" value="0.0"/>
+        <param name="discard_low_intensity_quantifications" value="false"/>
+        <param name="min_precursor_purity" value="0.0"/>
+        <param name="precursor_isotope_deviation" value="10.0"/>
+        <param name="purity_interpolation" value="true"/>
+      </section>
+      <section name="itraq4plex">
+        <param name="channel_114_description" value="l1"/>
+        <param name="channel_115_description" value="l2"/>
+        <param name="channel_116_description" value="l3"/>
+        <param name="channel_117_description" value="lung"/>
+        <param name="reference_channel" value="114"/>
+        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
+      </section>
+      <section name="itraq8plex">
+        <param name="channel_113_description" value=""/>
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="channel_118_description" value=""/>
+        <param name="channel_119_description" value=""/>
+        <param name="channel_121_description" value=""/>
+        <param name="reference_channel" value="113"/>
+        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
+      </section>
+      <section name="quantification">
+        <param name="isotope_correction" value="true"/>
+        <param name="normalization" value="false"/>
+      </section>
+      <section name="tmt10plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt11plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt16plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="channel_132N_description" value=""/>
+        <param name="channel_132C_description" value=""/>
+        <param name="channel_133N_description" value=""/>
+        <param name="channel_133C_description" value=""/>
+        <param name="channel_134N_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
+      </section>
+      <section name="tmt6plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127_description" value=""/>
+        <param name="channel_128_description" value=""/>
+        <param name="channel_129_description" value=""/>
+        <param name="channel_130_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="type" value="itraq4plex"/>
+      <param name="in" value="TMTTenPlexMethod_test.mzML"/>
+      <output name="out" file="TMTTenPlexMethod_test.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="extraction">
+        <param name="select_activation" value="High-energy collision-induced dissociation"/>
+        <param name="reporter_mass_shift" value="0.002"/>
+        <param name="min_precursor_intensity" value="1.0"/>
+        <param name="keep_unannotated_precursor" value="true"/>
+        <param name="min_reporter_intensity" value="0.0"/>
+        <param name="discard_low_intensity_quantifications" value="false"/>
+        <param name="min_precursor_purity" value="0.0"/>
+        <param name="precursor_isotope_deviation" value="10.0"/>
+        <param name="purity_interpolation" value="true"/>
+      </section>
+      <section name="itraq4plex">
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="reference_channel" value="114"/>
+        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
+      </section>
+      <section name="itraq8plex">
+        <param name="channel_113_description" value=""/>
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="channel_118_description" value=""/>
+        <param name="channel_119_description" value=""/>
+        <param name="channel_121_description" value=""/>
+        <param name="reference_channel" value="113"/>
+        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
+      </section>
+      <section name="quantification">
+        <param name="isotope_correction" value="true"/>
+        <param name="normalization" value="false"/>
+      </section>
+      <section name="tmt10plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/5.0/0.0&quot; &quot;0.0/0.2/4.6/0.0&quot; &quot;0.0/0.2/4.6/0.3&quot; &quot;0.0/0.9/4.7/0.2&quot; &quot;0.0/0.5/3.2/0.0&quot; &quot;0.0/0.7/3.3/0.0&quot; &quot;0.0/1.3/2.5/0.0&quot; &quot;0.0/1.2/2.8/2.7&quot; &quot;0.0/1.5/2.0/0.0&quot; &quot;0.0/1.5/1.9/0.0&quot;"/>
+      </section>
+      <section name="tmt11plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt16plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="channel_132N_description" value=""/>
+        <param name="channel_132C_description" value=""/>
+        <param name="channel_133N_description" value=""/>
+        <param name="channel_133C_description" value=""/>
+        <param name="channel_134N_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
+      </section>
+      <section name="tmt6plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127_description" value=""/>
+        <param name="channel_128_description" value=""/>
+        <param name="channel_129_description" value=""/>
+        <param name="channel_130_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="type" value="itraq4plex"/>
+      <param name="in" value="TMTTenPlexMethod_test.mzML"/>
+      <output name="out" file="TMTElevenPlexMethod_test.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="extraction">
+        <param name="select_activation" value="High-energy collision-induced dissociation"/>
+        <param name="reporter_mass_shift" value="0.002"/>
+        <param name="min_precursor_intensity" value="1.0"/>
+        <param name="keep_unannotated_precursor" value="true"/>
+        <param name="min_reporter_intensity" value="0.0"/>
+        <param name="discard_low_intensity_quantifications" value="false"/>
+        <param name="min_precursor_purity" value="0.0"/>
+        <param name="precursor_isotope_deviation" value="10.0"/>
+        <param name="purity_interpolation" value="true"/>
+      </section>
+      <section name="itraq4plex">
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="reference_channel" value="114"/>
+        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
+      </section>
+      <section name="itraq8plex">
+        <param name="channel_113_description" value=""/>
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="channel_118_description" value=""/>
+        <param name="channel_119_description" value=""/>
+        <param name="channel_121_description" value=""/>
+        <param name="reference_channel" value="113"/>
+        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
+      </section>
+      <section name="quantification">
+        <param name="isotope_correction" value="true"/>
+        <param name="normalization" value="false"/>
+      </section>
+      <section name="tmt10plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt11plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt16plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="channel_132N_description" value=""/>
+        <param name="channel_132C_description" value=""/>
+        <param name="channel_133N_description" value=""/>
+        <param name="channel_133C_description" value=""/>
+        <param name="channel_134N_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
+      </section>
+      <section name="tmt6plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127_description" value=""/>
+        <param name="channel_128_description" value=""/>
+        <param name="channel_129_description" value=""/>
+        <param name="channel_130_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="type" value="tmt10plex"/>
+      <param name="in" value="MS3_nonHierarchical.mzML"/>
+      <output name="out" file="MS3TMT10Plex_test.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="extraction">
+        <param name="select_activation" value="Collision-induced dissociation"/>
+        <param name="reporter_mass_shift" value="0.002"/>
+        <param name="min_precursor_intensity" value="1.0"/>
+        <param name="keep_unannotated_precursor" value="true"/>
+        <param name="min_reporter_intensity" value="0.0"/>
+        <param name="discard_low_intensity_quantifications" value="false"/>
+        <param name="min_precursor_purity" value="0.0"/>
+        <param name="precursor_isotope_deviation" value="10.0"/>
+        <param name="purity_interpolation" value="true"/>
+      </section>
+      <section name="itraq4plex">
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="reference_channel" value="114"/>
+        <param name="correction_matrix" value="&quot;0.0/1.0/5.9/0.2&quot; &quot;0.0/2.0/5.6/0.1&quot; &quot;0.0/3.0/4.5/0.1&quot; &quot;0.1/4.0/3.5/0.1&quot;"/>
+      </section>
+      <section name="itraq8plex">
+        <param name="channel_113_description" value=""/>
+        <param name="channel_114_description" value=""/>
+        <param name="channel_115_description" value=""/>
+        <param name="channel_116_description" value=""/>
+        <param name="channel_117_description" value=""/>
+        <param name="channel_118_description" value=""/>
+        <param name="channel_119_description" value=""/>
+        <param name="channel_121_description" value=""/>
+        <param name="reference_channel" value="113"/>
+        <param name="correction_matrix" value="&quot;0.00/0.00/6.89/0.22&quot; &quot;0.00/0.94/5.90/0.16&quot; &quot;0.00/1.88/4.90/0.10&quot; &quot;0.00/2.82/3.90/0.07&quot; &quot;0.06/3.77/2.99/0.00&quot; &quot;0.09/4.71/1.88/0.00&quot; &quot;0.14/5.66/0.87/0.00&quot; &quot;0.27/7.44/0.18/0.00&quot;"/>
+      </section>
+      <section name="quantification">
+        <param name="isotope_correction" value="true"/>
+        <param name="normalization" value="false"/>
+      </section>
+      <section name="tmt10plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/5.09/0.0&quot; &quot;0.0/0.25/5.27/0.0&quot; &quot;0.0/0.37/5.36/0.15&quot; &quot;0.0/0.65/4.17/0.1&quot; &quot;0.08/0.49/3.06/0.0&quot; &quot;0.01/0.71/3.07/0.0&quot; &quot;0.0/1.32/2.62/0.0&quot; &quot;0.02/1.28/2.75/2.53&quot; &quot;0.03/2.08/2.23/0.0&quot; &quot;0.08/1.99/1.65/0.0&quot;"/>
+      </section>
+      <section name="tmt11plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <section name="tmt16plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127N_description" value=""/>
+        <param name="channel_127C_description" value=""/>
+        <param name="channel_128N_description" value=""/>
+        <param name="channel_128C_description" value=""/>
+        <param name="channel_129N_description" value=""/>
+        <param name="channel_129C_description" value=""/>
+        <param name="channel_130N_description" value=""/>
+        <param name="channel_130C_description" value=""/>
+        <param name="channel_131N_description" value=""/>
+        <param name="channel_131C_description" value=""/>
+        <param name="channel_132N_description" value=""/>
+        <param name="channel_132C_description" value=""/>
+        <param name="channel_133N_description" value=""/>
+        <param name="channel_133C_description" value=""/>
+        <param name="channel_134N_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/8.02/0.0&quot; &quot;0.0/0.68/7.46/0.0&quot; &quot;0.0/0.71/6.94/0.0&quot; &quot;0.0/1.88/6.67/0.0&quot; &quot;0.0/1.34/5.59/0.0&quot; &quot;0.0/2.41/5.48/0.0&quot; &quot;0.0/2.34/5.19/0.0&quot; &quot;0.0/3.53/4.57/0.0&quot; &quot;0.0/2.67/4.16/0.0&quot; &quot;0.0/3.92/3.73/0.0&quot; &quot;0.0/3.69/3.14/0.0&quot; &quot;0.0/3.22/2.76/0.0&quot; &quot;0.0/4.11/2.0/0.0&quot; &quot;0.0/3.85/1.58/0.0&quot; &quot;0.0/4.63/1.18/0.0&quot; &quot;0.0/5.22/0.86/0.0&quot;"/>
+      </section>
+      <section name="tmt6plex">
+        <param name="channel_126_description" value=""/>
+        <param name="channel_127_description" value=""/>
+        <param name="channel_128_description" value=""/>
+        <param name="channel_129_description" value=""/>
+        <param name="channel_130_description" value=""/>
+        <param name="channel_131_description" value=""/>
+        <param name="reference_channel" value="126"/>
+        <param name="correction_matrix" value="&quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot; &quot;0.0/0.0/0.0/0.0&quot;"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_LabeledEval">
+</xml>
+  <xml name="autotest_LowMemPeakPickerHiResRandomAccess">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_RandomAccess_input.mzML"/>
+      <output name="out" file="LowMemPeakPickerHiRes_RandomAccess_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="false"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_LowMemPeakPickerHiRes">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_input.mzML"/>
+      <output name="out" file="LowMemPeakPickerHiRes_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="false"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_LuciphorAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="LuciphorAdapter_1_input.mzML"/>
+      <param name="id" value="LuciphorAdapter_1_input.idXML"/>
+      <output name="out" file="LuciphorAdapter_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="fragment_method" value="CID"/>
+      <param name="fragment_mass_tolerance" value="0.5"/>
+      <param name="fragment_error_units" value="Da"/>
+      <param name="min_mz" value="150.0"/>
+      <param name="target_modifications" value="Phospho (S),Phospho (T),Phospho (Y)"/>
+      <param name="neutral_losses" value="&quot;sty -H3PO4 -97.97690&quot;"/>
+      <param name="decoy_mass" value="79.966331"/>
+      <param name="decoy_neutral_losses" value="&quot;X -H3PO4 -97.97690&quot;"/>
+      <param name="max_charge_state" value="5"/>
+      <param name="max_peptide_length" value="40"/>
+      <param name="max_num_perm" value="16384"/>
+      <param name="modeling_score_threshold" value="0.95"/>
+      <param name="scoring_threshold" value="0.0"/>
+      <param name="min_num_psms_model" value="1"/>
+      <param name="run_mode" value="0"/>
+      <param name="rt_tolerance" value="0.01"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapAlignerIdentification">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input1.featureXML,MapAlignerIdentification_1_input2.featureXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input1.featureXML"/>
+      <output_collection name="out" count="1"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerIdentification_1_input2.featureXML"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input2.featureXML,MapAlignerIdentification_1_input1.featureXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="index" value="1"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input1.featureXML,MapAlignerIdentification_1_input2.featureXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="index" value="2"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_5_input1.consensusXML,MapAlignerIdentification_5_input2.consensusXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerIdentification_1_input1.featureXML"/>
+      <output_collection name="trafo_out" count="1"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerIdentification_1_input2.featureXML"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapAlignerPoseClustering">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerPoseClustering_1_input1.featureXML,MapAlignerPoseClustering_1_input2.featureXML,MapAlignerPoseClustering_1_input3.featureXML"/>
+      <output_collection name="out" count="3"/>
+      <output_collection name="trafo_out" count="3"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="max_num_peaks_considered" value="400"/>
+        <section name="superimposer">
+          <param name="mz_pair_max_distance" value="0.5"/>
+          <param name="rt_pair_distance_fraction" value="0.1"/>
+          <param name="num_used_points" value="2000"/>
+          <param name="scaling_bucket_size" value="0.005"/>
+          <param name="shift_bucket_size" value="3.0"/>
+          <param name="max_shift" value="1000.0"/>
+          <param name="max_scaling" value="2.0"/>
+          <param name="dump_buckets" value=""/>
+          <param name="dump_pairs" value=""/>
+        </section>
+        <section name="pairfinder">
+          <param name="second_nearest_gap" value="2.0"/>
+          <param name="use_identifications" value="false"/>
+          <param name="ignore_charge" value="true"/>
+          <param name="ignore_adduct" value="true"/>
+          <section name="distance_RT">
+            <param name="max_difference" value="30.0"/>
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_MZ">
+            <param name="max_difference" value="0.3"/>
+            <param name="unit" value="Da"/>
+            <param name="exponent" value="2.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_intensity">
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="0.0"/>
+            <param name="log_transform" value="disabled"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerPoseClustering_2_input1.mzML,MapAlignerPoseClustering_2_input2.mzML,MapAlignerPoseClustering_2_input3.mzML"/>
+      <output_collection name="out" count="3"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="max_num_peaks_considered" value="400"/>
+        <section name="superimposer">
+          <param name="mz_pair_max_distance" value="0.5"/>
+          <param name="rt_pair_distance_fraction" value="0.1"/>
+          <param name="num_used_points" value="2000"/>
+          <param name="scaling_bucket_size" value="0.005"/>
+          <param name="shift_bucket_size" value="3.0"/>
+          <param name="max_shift" value="1000.0"/>
+          <param name="max_scaling" value="2.0"/>
+          <param name="dump_buckets" value=""/>
+          <param name="dump_pairs" value=""/>
+        </section>
+        <section name="pairfinder">
+          <param name="second_nearest_gap" value="2.0"/>
+          <param name="use_identifications" value="false"/>
+          <param name="ignore_charge" value="false"/>
+          <param name="ignore_adduct" value="true"/>
+          <section name="distance_RT">
+            <param name="max_difference" value="100.0"/>
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_MZ">
+            <param name="max_difference" value="0.3"/>
+            <param name="unit" value="Da"/>
+            <param name="exponent" value="2.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_intensity">
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="0.0"/>
+            <param name="log_transform" value="disabled"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerPoseClustering_1_input2.featureXML,MapAlignerPoseClustering_1_input3.featureXML"/>
+      <output_collection name="out" count="2"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerPoseClustering_1_input1.featureXML"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="max_num_peaks_considered" value="400"/>
+        <section name="superimposer">
+          <param name="mz_pair_max_distance" value="0.5"/>
+          <param name="rt_pair_distance_fraction" value="0.1"/>
+          <param name="num_used_points" value="2000"/>
+          <param name="scaling_bucket_size" value="0.005"/>
+          <param name="shift_bucket_size" value="3.0"/>
+          <param name="max_shift" value="1000.0"/>
+          <param name="max_scaling" value="2.0"/>
+          <param name="dump_buckets" value=""/>
+          <param name="dump_pairs" value=""/>
+        </section>
+        <section name="pairfinder">
+          <param name="second_nearest_gap" value="2.0"/>
+          <param name="use_identifications" value="false"/>
+          <param name="ignore_charge" value="true"/>
+          <param name="ignore_adduct" value="true"/>
+          <section name="distance_RT">
+            <param name="max_difference" value="30.0"/>
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_MZ">
+            <param name="max_difference" value="0.3"/>
+            <param name="unit" value="Da"/>
+            <param name="exponent" value="2.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_intensity">
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="0.0"/>
+            <param name="log_transform" value="disabled"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerPoseClustering_1_input1.featureXML,MapAlignerPoseClustering_1_input2.featureXML"/>
+      <output_collection name="trafo_out" count="2"/>
+      <section name="reference">
+        <param name="index" value="2"/>
+      </section>
+      <section name="algorithm">
+        <param name="max_num_peaks_considered" value="400"/>
+        <section name="superimposer">
+          <param name="mz_pair_max_distance" value="0.5"/>
+          <param name="rt_pair_distance_fraction" value="0.1"/>
+          <param name="num_used_points" value="2000"/>
+          <param name="scaling_bucket_size" value="0.005"/>
+          <param name="shift_bucket_size" value="3.0"/>
+          <param name="max_shift" value="1000.0"/>
+          <param name="max_scaling" value="2.0"/>
+          <param name="dump_buckets" value=""/>
+          <param name="dump_pairs" value=""/>
+        </section>
+        <section name="pairfinder">
+          <param name="second_nearest_gap" value="2.0"/>
+          <param name="use_identifications" value="false"/>
+          <param name="ignore_charge" value="true"/>
+          <param name="ignore_adduct" value="true"/>
+          <section name="distance_RT">
+            <param name="max_difference" value="30.0"/>
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_MZ">
+            <param name="max_difference" value="0.3"/>
+            <param name="unit" value="Da"/>
+            <param name="exponent" value="2.0"/>
+            <param name="weight" value="1.0"/>
+          </section>
+          <section name="distance_intensity">
+            <param name="exponent" value="1.0"/>
+            <param name="weight" value="0.0"/>
+            <param name="log_transform" value="disabled"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapAlignerSpectrum">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerSpectrum_1_input1.mzML,MapAlignerSpectrum_1_input2.mzML,MapAlignerSpectrum_1_input3.mzML"/>
+      <output_collection name="out" count="3"/>
+      <section name="algorithm">
+        <param name="gapcost" value="1.0"/>
+        <param name="affinegapcost" value="0.5"/>
+        <param name="cutoff_score" value="0.7"/>
+        <param name="bucketsize" value="100"/>
+        <param name="anchorpoints" value="100"/>
+        <param name="mismatchscore" value="-5.0"/>
+        <param name="scorefunction" value="SteinScottImproveScore"/>
+      </section>
+      <section name="model">
+        <param name="type" value="interpolated"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapAlignerTreeGuided">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerTreeGuided_1_input1.featureXML,MapAlignerTreeGuided_1_input2.featureXML,MapAlignerTreeGuided_1_input3.featureXML"/>
+      <output_collection name="out" count="3"/>
+      <section name="algorithm">
+        <param name="model_type" value="b_spline"/>
+        <section name="model">
+          <param name="type" value="b_spline"/>
+          <section name="linear">
+            <param name="symmetric_regression" value="false"/>
+            <param name="x_weight" value=""/>
+            <param name="y_weight" value=""/>
+            <param name="x_datum_min" value="1e-15"/>
+            <param name="x_datum_max" value="1000000000000000.0"/>
+            <param name="y_datum_min" value="1e-15"/>
+            <param name="y_datum_max" value="1000000000000000.0"/>
+          </section>
+          <section name="b_spline">
+            <param name="wavelength" value="0.0"/>
+            <param name="num_nodes" value="5"/>
+            <param name="extrapolate" value="linear"/>
+            <param name="boundary_condition" value="2"/>
+          </section>
+          <section name="lowess">
+            <param name="span" value="0.666666666666667"/>
+            <param name="num_iterations" value="3"/>
+            <param name="delta" value="-1.0"/>
+            <param name="interpolation_type" value="cspline"/>
+            <param name="extrapolation_type" value="four-point-linear"/>
+          </section>
+          <section name="interpolated">
+            <param name="interpolation_type" value="cspline"/>
+            <param name="extrapolation_type" value="two-point-linear"/>
+          </section>
+        </section>
+        <section name="align_algorithm">
+          <param name="score_cutoff" value="false"/>
+          <param name="min_score" value="0.05"/>
+          <param name="min_run_occur" value="2"/>
+          <param name="max_rt_shift" value="0.5"/>
+          <param name="use_unassigned_peptides" value="true"/>
+          <param name="use_feature_rt" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapAlignerTreeGuided_1_input1.featureXML,MapAlignerTreeGuided_1_input2.featureXML,MapAlignerTreeGuided_1_input3.featureXML"/>
+      <output_collection name="trafo_out" count="3"/>
+      <section name="algorithm">
+        <param name="model_type" value="b_spline"/>
+        <section name="model">
+          <param name="type" value="b_spline"/>
+          <section name="linear">
+            <param name="symmetric_regression" value="false"/>
+            <param name="x_weight" value=""/>
+            <param name="y_weight" value=""/>
+            <param name="x_datum_min" value="1e-15"/>
+            <param name="x_datum_max" value="1000000000000000.0"/>
+            <param name="y_datum_min" value="1e-15"/>
+            <param name="y_datum_max" value="1000000000000000.0"/>
+          </section>
+          <section name="b_spline">
+            <param name="wavelength" value="0.0"/>
+            <param name="num_nodes" value="5"/>
+            <param name="extrapolate" value="linear"/>
+            <param name="boundary_condition" value="2"/>
+          </section>
+          <section name="lowess">
+            <param name="span" value="0.666666666666667"/>
+            <param name="num_iterations" value="3"/>
+            <param name="delta" value="-1.0"/>
+            <param name="interpolation_type" value="cspline"/>
+            <param name="extrapolation_type" value="four-point-linear"/>
+          </section>
+          <section name="interpolated">
+            <param name="interpolation_type" value="cspline"/>
+            <param name="extrapolation_type" value="two-point-linear"/>
+          </section>
+        </section>
+        <section name="align_algorithm">
+          <param name="score_cutoff" value="false"/>
+          <param name="min_score" value="0.05"/>
+          <param name="min_run_occur" value="2"/>
+          <param name="max_rt_shift" value="0.5"/>
+          <param name="use_unassigned_peptides" value="true"/>
+          <param name="use_feature_rt" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapNormalizer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_input.mzML"/>
+      <output name="out" file="MapNormalizer.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapRTTransformer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
+      <output name="out" file="MapRTTransformer_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_2_input.mzML"/>
+      <output name="out" file="MapRTTransformer_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="trafo_in" value="MapAlignerPoseClustering_1_trafo2.trafoXML"/>
+      <output name="trafo_out" file="MapRTTransformer_3_trafo.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <param name="invert" value="true"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_4_input.chrom.mzML"/>
+      <output name="out" file="MapRTTransformer_4_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
+      <output name="out" file="MapRTTransformer_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_none.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
+      <output name="out" file="MapRTTransformer_6_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
+      <param name="invert" value="false"/>
+      <param name="store_original_rt" value="true"/>
+      <section name="model">
+        <param name="type" value="none"/>
+        <section name="linear">
+          <param name="symmetric_regression" value="false"/>
+          <param name="x_weight" value=""/>
+          <param name="y_weight" value=""/>
+          <param name="x_datum_min" value="1e-15"/>
+          <param name="x_datum_max" value="1000000000000000.0"/>
+          <param name="y_datum_min" value="1e-15"/>
+          <param name="y_datum_max" value="1000000000000000.0"/>
+        </section>
+        <section name="b_spline">
+          <param name="wavelength" value="0.0"/>
+          <param name="num_nodes" value="5"/>
+          <param name="extrapolate" value="linear"/>
+          <param name="boundary_condition" value="2"/>
+        </section>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+          <param name="num_iterations" value="3"/>
+          <param name="delta" value="-1.0"/>
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="four-point-linear"/>
+        </section>
+        <section name="interpolated">
+          <param name="interpolation_type" value="cspline"/>
+          <param name="extrapolation_type" value="two-point-linear"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MapStatistics">
+</xml>
+  <xml name="autotest_MaRaClusterAdapter"/>
+  <xml name="autotest_MascotAdapterOnline">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="keep_protein_links" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra_comet.mzML"/>
+      <output name="out" file="MascotAdapterOnline_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="Mascot_parameters">
+        <param name="database" value="SwissProt"/>
+        <param name="search_type" value="MIS"/>
+        <param name="enzyme" value="Trypsin"/>
+        <param name="instrument" value="Default"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="precursor_mass_tolerance" value="3.0"/>
+        <param name="precursor_error_units" value="Da"/>
+        <param name="fragment_mass_tolerance" value="0.3"/>
+        <param name="fragment_error_units" value="Da"/>
+        <param name="charges" value="1,2,3"/>
+        <param name="taxonomy" value="All entries"/>
+        <param name="fixed_modifications" value=""/>
+        <param name="variable_modifications" value=""/>
+        <param name="special_modifications" value="Cation:Na (DE),Deamidated (NQ),Oxidation (HW),Phospho (ST),Sulfo (ST)"/>
+        <param name="mass_type" value="monoisotopic"/>
+        <param name="number_of_hits" value="0"/>
+        <param name="skip_spectrum_charges" value="false"/>
+        <param name="search_title" value="OpenMS_search"/>
+        <param name="username" value="OpenMS"/>
+        <param name="email" value="openmsjenkins@gmail.com"/>
+      </section>
+      <section name="Mascot_server">
+        <param name="hostname" value="www.matrixscience.com"/>
+        <param name="host_port" value="80"/>
+        <param name="server_path" value=""/>
+        <param name="timeout" value="1500"/>
+        <param name="boundary" value="GZWgAaYKjHFeUaLOLEIOMq"/>
+        <param name="use_proxy" value="false"/>
+        <param name="proxy_host" value=""/>
+        <param name="proxy_port" value="0"/>
+        <param name="proxy_username" value=""/>
+        <param name="proxy_password" value=""/>
+        <param name="login" value="false"/>
+        <param name="username" value=""/>
+        <param name="password" value=""/>
+        <param name="use_ssl" value="false"/>
+        <param name="export_params" value="_ignoreionsscorebelow=0&amp;_sigthreshold=0.99&amp;_showsubsets=1&amp;show_same_sets=1&amp;report=0&amp;percolate=0&amp;query_master=0"/>
+        <param name="skip_export" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MascotAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MascotAdapter_1_input.mzData"/>
+      <output name="out" file="output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="mascot_in" value="true"/>
+      <param name="mascot_out" value="false"/>
+      <param name="instrument" value="ESI-TRAP"/>
+      <param name="precursor_mass_tolerance" value="1.3"/>
+      <param name="peak_mass_tolerance" value="0.3"/>
+      <param name="taxonomy" value=". . . . . . Chordata (vertebrates and relatives)"/>
+      <param name="modifications" value="&quot;Carboxymethyl (C)&quot;"/>
+      <param name="variable_modifications" value="&quot;Variable_Modifications_TEST_1&quot;"/>
+      <param name="charges" value="&quot;1+&quot; &quot;2+&quot; &quot;3+&quot;"/>
+      <param name="db" value="MSDB"/>
+      <param name="hits" value="AUTO"/>
+      <param name="cleavage" value="Trypsin"/>
+      <param name="missed_cleavages" value="1"/>
+      <param name="sig_threshold" value="0.05"/>
+      <param name="pep_homol" value="1.0"/>
+      <param name="pep_ident" value="1.0"/>
+      <param name="pep_rank" value="1"/>
+      <param name="prot_score" value="1.0"/>
+      <param name="pep_score" value="1.0"/>
+      <param name="pep_exp_z" value="1"/>
+      <param name="show_unassigned" value="1"/>
+      <param name="first_dim_rt" value="0.0"/>
+      <param name="boundary" value="ABCDEFGHIJKMNOPQRSTUVWXYZ"/>
+      <param name="mass_type" value="Monoisotopic"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MascotAdapter_2_input.mascotXML"/>
+      <output name="out" file="MascotAdapter_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="mascot_in" value="false"/>
+      <param name="mascot_out" value="true"/>
+      <param name="instrument" value="Default"/>
+      <param name="precursor_mass_tolerance" value="2.0"/>
+      <param name="peak_mass_tolerance" value="1.0"/>
+      <param name="taxonomy" value="All entries"/>
+      <param name="modifications" value=""/>
+      <param name="variable_modifications" value=""/>
+      <param name="charges" value="&quot;1+&quot; &quot;2+&quot; &quot;3+&quot;"/>
+      <param name="db" value="MSDB"/>
+      <param name="hits" value="AUTO"/>
+      <param name="cleavage" value="Trypsin"/>
+      <param name="missed_cleavages" value="0"/>
+      <param name="sig_threshold" value="0.05"/>
+      <param name="pep_homol" value="1.0"/>
+      <param name="pep_ident" value="1.0"/>
+      <param name="pep_rank" value="1"/>
+      <param name="prot_score" value="1.0"/>
+      <param name="pep_score" value="1.0"/>
+      <param name="pep_exp_z" value="1"/>
+      <param name="show_unassigned" value="1"/>
+      <param name="first_dim_rt" value="0.0"/>
+      <param name="boundary" value=""/>
+      <param name="mass_type" value="Monoisotopic"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MassCalculator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MassCalculator_1_input.txt" ftype="txt"/>
+      <param name="in_seq" value=""/>
+      <output name="out" file="MassCalculator_1_output.csv" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="charge" value="0 1"/>
+      <param name="format" value="table"/>
+      <param name="average_mass" value="false"/>
+      <param name="fragment_type" value="full"/>
+      <param name="separator" value=","/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_seq" value="&quot;LDQWLC(Carbamidomethyl)EKL&quot; &quot;(Glu-&gt;pyro-Glu)EAM(Oxidation)APKHK&quot; &quot;RANVM(Oxidation)DYR&quot; &quot;FGVEQDVDMVFASFIR&quot;"/>
+      <output name="out" file="MassCalculator_2_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="charge" value="1 2 3"/>
+      <param name="format" value="list"/>
+      <param name="average_mass" value="false"/>
+      <param name="fragment_type" value="full"/>
+      <param name="separator" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MassTraceExtractor">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MassTraceExtractor_1_input.mzML"/>
+      <output name="out" file="MassTraceExtractor_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="20.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="5.0"/>
+          <param name="max_trace_length" value="-1.0"/>
+        </section>
+        <section name="epd">
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+          <param name="enabled" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MassTraceExtractor_1_input.mzML"/>
+      <output name="out" file="MassTraceExtractor_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="out_type" value="featurexml"/>
+      <section name="algorithm">
+        <section name="common">
+          <param name="noise_threshold_int" value="10.0"/>
+          <param name="chrom_peak_snr" value="3.0"/>
+          <param name="chrom_fwhm" value="5.0"/>
+        </section>
+        <section name="mtd">
+          <param name="mass_error_ppm" value="20.0"/>
+          <param name="reestimate_mt_sd" value="true"/>
+          <param name="quant_method" value="area"/>
+          <param name="trace_termination_criterion" value="outlier"/>
+          <param name="trace_termination_outliers" value="5"/>
+          <param name="min_sample_rate" value="0.5"/>
+          <param name="min_trace_length" value="6.0"/>
+          <param name="max_trace_length" value="12.0"/>
+        </section>
+        <section name="epd">
+          <param name="width_filtering" value="off"/>
+          <param name="min_fwhm" value="3.0"/>
+          <param name="max_fwhm" value="60.0"/>
+          <param name="masstrace_snr_filtering" value="false"/>
+          <param name="enabled" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MetaboliteAdductDecharger">
+</xml>
+  <xml name="autotest_MetaboliteSpectralMatcher">
+</xml>
+  <xml name="autotest_MetaProSIP">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_correlation_distance_to_averagine" value="-1.0"/>
+        <param name="pattern_15N_TIC_threshold" value="0.95"/>
+        <param name="pattern_13C_TIC_threshold" value="0.95"/>
+        <param name="pattern_2H_TIC_threshold" value="0.95"/>
+        <param name="pattern_18O_TIC_threshold" value="0.95"/>
+        <param name="heatmap_bins" value="20"/>
+        <param name="observed_peak_fraction" value="0.5"/>
+        <param name="min_consecutive_isotopes" value="2"/>
+        <param name="score_plot_yaxis_min" value="0.0"/>
+        <param name="collect_method" value="correlation_maximum"/>
+        <param name="lowRIA_correlation_threshold" value="-1.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_mzML" value="MetaProSIP_1_input.mzML"/>
+      <param name="in_fasta" value="MetaProSIP_1_input.fasta"/>
+      <output name="out_csv" file="MetaProSIP_1_output_1.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="out_peptide_centric_csv" file="MetaProSIP_1_output_2.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="in_featureXML" value="MetaProSIP_1_input.featureXML"/>
+      <param name="mz_tolerance_ppm" value="10.0"/>
+      <param name="rt_tolerance_s" value="30.0"/>
+      <param name="intensity_threshold" value="10.0"/>
+      <param name="correlation_threshold" value="0.7"/>
+      <param name="xic_threshold" value="0.7"/>
+      <param name="decomposition_threshold" value="0.7"/>
+      <param name="weight_merge_window" value="5.0"/>
+      <param name="plot_extension" value="png"/>
+      <param name="qc_output_directory" value=""/>
+      <param name="labeling_element" value="C"/>
+      <param name="use_unassigned_ids" value="false"/>
+      <param name="use_averagine_ids" value="false"/>
+      <param name="report_natural_peptides" value="false"/>
+      <param name="filter_monoisotopic" value="false"/>
+      <param name="cluster" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MRMMapper">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MRMMapping_input.chrom.mzML"/>
+      <param name="tr" value="MRMMapping_input.TraML"/>
+      <output name="out" file="MRMMapping_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="precursor_tolerance" value="0.3"/>
+        <param name="product_tolerance" value="0.3"/>
+        <param name="map_multiple_assays" value="false"/>
+        <param name="error_on_unmapped" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MRMMapping_input.chrom.mzML"/>
+      <param name="tr" value="MRMMapping_input_2.TraML"/>
+      <output name="out" file="MRMMapping_output_2.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="precursor_tolerance" value="0.01"/>
+        <param name="product_tolerance" value="0.01"/>
+        <param name="map_multiple_assays" value="false"/>
+        <param name="error_on_unmapped" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MRMPairFinder">
+</xml>
+  <xml name="autotest_MRMTransitionGroupPicker">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MRMTransitionGroupPicker_1_input.mzML"/>
+      <param name="tr" value="MRMTransitionGroupPicker_1_input.TraML"/>
+      <output name="out" file="MRMTransitionGroupPicker_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <param name="stop_after_feature" value="-1"/>
+        <param name="stop_after_intensity_ratio" value="0.0001"/>
+        <param name="min_peak_width" value="-1.0"/>
+        <param name="peak_integration" value="original"/>
+        <param name="background_subtraction" value="none"/>
+        <param name="recalculate_peaks" value="false"/>
+        <param name="use_precursors" value="false"/>
+        <param name="use_consensus" value="true"/>
+        <param name="recalculate_peaks_max_z" value="1.0"/>
+        <param name="minimal_quality" value="-10000.0"/>
+        <param name="resample_boundary" value="15.0"/>
+        <param name="compute_peak_quality" value="false"/>
+        <param name="compute_peak_shape_metrics" value="false"/>
+        <param name="compute_total_mi" value="false"/>
+        <param name="boundary_selection_method" value="largest"/>
+        <section name="PeakPickerMRM">
+          <param name="sgolay_frame_length" value="15"/>
+          <param name="sgolay_polynomial_order" value="3"/>
+          <param name="gauss_width" value="50.0"/>
+          <param name="use_gauss" value="true"/>
+          <param name="peak_width" value="40.0"/>
+          <param name="signal_to_noise" value="1.0"/>
+          <param name="sn_win_len" value="1000.0"/>
+          <param name="sn_bin_count" value="30"/>
+          <param name="write_sn_log_messages" value="false"/>
+          <param name="remove_overlapping_peaks" value="true"/>
+          <param name="method" value="legacy"/>
+        </section>
+        <section name="PeakIntegrator">
+          <param name="integration_type" value="intensity_sum"/>
+          <param name="baseline_type" value="base_to_base"/>
+          <param name="fit_EMG" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MRMTransitionGroupPicker_1_input.mzML"/>
+      <param name="tr" value="MRMTransitionGroupPicker_1_input.TraML"/>
+      <output name="out" file="MRMTransitionGroupPicker_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <section name="algorithm">
+        <param name="stop_after_feature" value="-1"/>
+        <param name="stop_after_intensity_ratio" value="0.0001"/>
+        <param name="min_peak_width" value="-1.0"/>
+        <param name="peak_integration" value="original"/>
+        <param name="background_subtraction" value="none"/>
+        <param name="recalculate_peaks" value="false"/>
+        <param name="use_precursors" value="false"/>
+        <param name="use_consensus" value="true"/>
+        <param name="recalculate_peaks_max_z" value="1.0"/>
+        <param name="minimal_quality" value="-10000.0"/>
+        <param name="resample_boundary" value="15.0"/>
+        <param name="compute_peak_quality" value="false"/>
+        <param name="compute_peak_shape_metrics" value="false"/>
+        <param name="compute_total_mi" value="true"/>
+        <param name="boundary_selection_method" value="largest"/>
+        <section name="PeakPickerMRM">
+          <param name="sgolay_frame_length" value="15"/>
+          <param name="sgolay_polynomial_order" value="3"/>
+          <param name="gauss_width" value="50.0"/>
+          <param name="use_gauss" value="true"/>
+          <param name="peak_width" value="40.0"/>
+          <param name="signal_to_noise" value="1.0"/>
+          <param name="sn_win_len" value="1000.0"/>
+          <param name="sn_bin_count" value="30"/>
+          <param name="write_sn_log_messages" value="false"/>
+          <param name="remove_overlapping_peaks" value="true"/>
+          <param name="method" value="legacy"/>
+        </section>
+        <section name="PeakIntegrator">
+          <param name="integration_type" value="intensity_sum"/>
+          <param name="baseline_type" value="base_to_base"/>
+          <param name="fit_EMG" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MSFraggerAdapter"/>
+  <xml name="autotest_MSGFPlusAdapter">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_conversion" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="MSGFPlusAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="mzid_out" file="MSGFPlusAdapter_1_out2.tmp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="add_decoys" value="false"/>
+      <param name="precursor_mass_tolerance" value="10.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="isotope_error_range" value="0,1"/>
+      <param name="fragment_method" value="from_spectrum"/>
+      <param name="instrument" value="high_res"/>
+      <param name="enzyme" value="Trypsin/P"/>
+      <param name="protocol" value="none"/>
+      <param name="tryptic" value="fully"/>
+      <param name="min_precursor_charge" value="1"/>
+      <param name="max_precursor_charge" value="3"/>
+      <param name="min_peptide_length" value="6"/>
+      <param name="max_peptide_length" value="40"/>
+      <param name="matches_per_spec" value="1"/>
+      <param name="add_features" value="false"/>
+      <param name="max_mods" value="2"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,mzid_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MSSimulator">
+</xml>
+  <xml name="autotest_MSstatsConverter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="retention_time_summarization_method" value="max"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSstatsConverter_1_in.consensusXML"/>
+      <param name="in_design" value="MSstatsConverter_1_design.tsv" ftype="tabular"/>
+      <param name="method" value="LFQ"/>
+      <param name="msstats_bioreplicate" value="MSstats_BioReplicate"/>
+      <param name="msstats_condition" value="MSstats_Condition"/>
+      <param name="msstats_mixture" value="MSstats_Mixture"/>
+      <param name="labeled_reference_peptides" value="false"/>
+      <output name="out" file="MSstatsConverter_1_out.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="retention_time_summarization_method" value="manual"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSstatsConverter_2_in.consensusXML"/>
+      <param name="in_design" value="MSstatsConverter_2_design.tsv" ftype="tabular"/>
+      <param name="method" value="ISO"/>
+      <param name="msstats_bioreplicate" value="MSstats_BioReplicate"/>
+      <param name="msstats_condition" value="MSstats_Condition"/>
+      <param name="msstats_mixture" value="MSstats_Mixture"/>
+      <param name="labeled_reference_peptides" value="false"/>
+      <output name="out" file="MSstatsConverter_2_out.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="retention_time_summarization_method" value="manual"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MSstatsConverter_3_in.consensusXML"/>
+      <param name="in_design" value="MSstatsConverter_3_design.tsv" ftype="tabular"/>
+      <param name="method" value="ISO"/>
+      <param name="msstats_bioreplicate" value="MSstats_BioReplicate"/>
+      <param name="msstats_condition" value="MSstats_Condition"/>
+      <param name="msstats_mixture" value="MSstats_Mixture"/>
+      <param name="labeled_reference_peptides" value="false"/>
+      <output name="out" file="MSstatsConverter_3_out.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MultiplexResolver">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MultiplexResolver_1_input.consensusXML"/>
+      <output name="out" file="MultiplexResolver_1_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_conflicts" file="MultiplexResolver_1_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[][Lys4,Arg6][Lys8,Arg10]"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="mass_tolerance" value="0.1"/>
+        <param name="mz_tolerance" value="10"/>
+        <param name="rt_tolerance" value="5"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MultiplexResolver_2_input.consensusXML"/>
+      <output name="out" file="MultiplexResolver_2_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_conflicts" file="MultiplexResolver_2_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl4][Dimethyl8]"/>
+        <param name="missed_cleavages" value="4"/>
+        <param name="mass_tolerance" value="0.1"/>
+        <param name="mz_tolerance" value="10"/>
+        <param name="rt_tolerance" value="5"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MultiplexResolver_3_input.consensusXML"/>
+      <output name="out" file="MultiplexResolver_3_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_conflicts" file="MultiplexResolver_3_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[][Leu3]"/>
+        <param name="missed_cleavages" value="2"/>
+        <param name="mass_tolerance" value="0.1"/>
+        <param name="mz_tolerance" value="10"/>
+        <param name="rt_tolerance" value="5"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MultiplexResolver_4_input.consensusXML"/>
+      <param name="in_blacklist" value="MultiplexResolver_4_input.mzML"/>
+      <output name="out" file="MultiplexResolver_4_output.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <output name="out_conflicts" file="MultiplexResolver_4_output_conflicts.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <section name="algorithm">
+        <param name="labels" value="[Dimethyl0][Dimethyl6]"/>
+        <param name="missed_cleavages" value="3"/>
+        <param name="mass_tolerance" value="0.1"/>
+        <param name="mz_tolerance" value="10"/>
+        <param name="rt_tolerance" value="10"/>
+      </section>
+      <section name="labels">
+        <param name="Arg6" value="6.0201290268"/>
+        <param name="Arg10" value="10.0082686"/>
+        <param name="Lys4" value="4.0251069836"/>
+        <param name="Lys6" value="6.0201290268"/>
+        <param name="Lys8" value="8.0141988132"/>
+        <param name="Leu3" value="3.01883"/>
+        <param name="Dimethyl0" value="28.0313"/>
+        <param name="Dimethyl4" value="32.056407"/>
+        <param name="Dimethyl6" value="34.063117"/>
+        <param name="Dimethyl8" value="36.07567"/>
+        <param name="ICPL0" value="105.021464"/>
+        <param name="ICPL4" value="109.046571"/>
+        <param name="ICPL6" value="111.041593"/>
+        <param name="ICPL10" value="115.0667"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_conflicts_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MyriMatchAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="MinPeptideMass" value="0.0"/>
+        <param name="MaxPeptideMass" value="10000.0"/>
+        <param name="MinPeptideLength" value="5"/>
+        <param name="MaxPeptideLength" value="75"/>
+        <param name="UseSmartPlusThreeModel" value="false"/>
+        <param name="NumIntensityClasses" value="3"/>
+        <param name="ClassSizeMultiplier" value="2.0"/>
+        <param name="MonoisotopeAdjustmentSet" value="[-1,2]"/>
+        <param name="SpectrumListFilters" value=""/>
+        <param name="ignoreConfigErrors" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="MyriMatchAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="precursor_mass_tolerance_unit" value="ppm"/>
+      <param name="precursor_mass_tolerance_avg" value="false"/>
+      <param name="fragment_mass_tolerance" value="0.3"/>
+      <param name="fragment_mass_tolerance_unit" value="Da"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="NumChargeStates" value="3"/>
+      <param name="TicCutoffPercentage" value="0.98"/>
+      <param name="MaxDynamicMods" value="2"/>
+      <param name="MaxResultRank" value="5"/>
+      <param name="CleavageRules" value=""/>
+      <param name="MinTerminiCleavages" value="2"/>
+      <param name="MaxMissedCleavages" value="-1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_MzMLSplitter"/>
+  <xml name="autotest_MzTabExporter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="first_run_inference_only" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MzTabExporter_1_input.consensusXML"/>
+      <output name="out" file="MzTabExporter_1_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="opt_columns" value="subfeatures"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="first_run_inference_only" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MzTabExporter_2_input.idXML"/>
+      <output name="out" file="MzTabExporter_2_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="opt_columns" value="subfeatures"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="first_run_inference_only" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MzTabExporter_3_input.featureXML"/>
+      <output name="out" file="MzTabExporter_3_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="opt_columns" value="subfeatures"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_NoiseFilterGaussian">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterGaussian_1_input.mzML"/>
+      <output name="out" file="NoiseFilterGaussian_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="gaussian_width" value="1.0"/>
+        <param name="ppm_tolerance" value="10.0"/>
+        <param name="use_ppm_tolerance" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterGaussian_2_input.chrom.mzML"/>
+      <output name="out" file="NoiseFilterGaussian_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="gaussian_width" value="50.0"/>
+        <param name="ppm_tolerance" value="10.0"/>
+        <param name="use_ppm_tolerance" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterGaussian_1_input.mzML"/>
+      <output name="out" file="NoiseFilterGaussian_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="gaussian_width" value="1.0"/>
+        <param name="ppm_tolerance" value="10.0"/>
+        <param name="use_ppm_tolerance" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterGaussian_2_input.chrom.mzML"/>
+      <output name="out" file="NoiseFilterGaussian_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="gaussian_width" value="50.0"/>
+        <param name="ppm_tolerance" value="10.0"/>
+        <param name="use_ppm_tolerance" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_NoiseFilterSGolay">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterSGolay_1_input.mzML"/>
+      <output name="out" file="NoiseFilterSGolay_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="frame_length" value="9"/>
+        <param name="polynomial_order" value="4"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterSGolay_2_input.chrom.mzML"/>
+      <output name="out" file="NoiseFilterSGolay_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="frame_length" value="11"/>
+        <param name="polynomial_order" value="4"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterSGolay_1_input.mzML"/>
+      <output name="out" file="NoiseFilterSGolay_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="frame_length" value="9"/>
+        <param name="polynomial_order" value="4"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NoiseFilterSGolay_2_input.chrom.mzML"/>
+      <output name="out" file="NoiseFilterSGolay_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="frame_length" value="11"/>
+        <param name="polynomial_order" value="4"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_NovorAdapter"/>
+  <xml name="autotest_NucleicAcidSearchEngine">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="decharge_ms2" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NucleicAcidSearchEngine_1.mzML"/>
+      <param name="database" value="NucleicAcidSearchEngine_1.fasta"/>
+      <output name="out" file="NucleicAcidSearchEngine_12_out.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="id_out" file="NucleicAcidSearchEngine_11_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="5.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="-2"/>
+        <param name="max_charge" value="-14"/>
+        <param name="include_unknown_charge" value="true"/>
+        <param name="use_avg_mass" value="false"/>
+        <param name="use_adducts" value="false"/>
+        <param name="potential_adducts" value="&quot;K:+&quot; &quot;Na:+&quot; &quot;Na2:++&quot; &quot;K2:++&quot; &quot;NaK:++&quot; &quot;K3:+++&quot; &quot;Na3:+++&quot; &quot;NaK2:+++&quot; &quot;Na2K:+++&quot;"/>
+        <param name="isotopes" value="0 1 2"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="5.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="ions" value="a-B,c,w,y"/>
+      </section>
+      <section name="modifications">
+        <param name="variable" value=""/>
+        <param name="variable_max_per_oligo" value="2"/>
+        <param name="resolve_ambiguities" value="false"/>
+      </section>
+      <section name="oligo">
+        <param name="min_size" value="5"/>
+        <param name="max_size" value="0"/>
+        <param name="missed_cleavages" value="22"/>
+        <param name="enzyme" value="no cleavage"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="1"/>
+      </section>
+      <section name="fdr">
+        <param name="decoy_pattern" value="DECOY_"/>
+        <param name="cutoff" value="0.05"/>
+        <param name="remove_decoys" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,id_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OMSSAAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="pc" value="1"/>
+        <param name="hs" value="4"/>
+        <param name="tez" value="1"/>
+        <param name="tom" value="0"/>
+        <param name="tem" value="0"/>
+        <param name="tex" value="1446.94"/>
+        <param name="zt" value="3"/>
+        <param name="z1" value="0.95"/>
+        <param name="zc" value="1"/>
+        <param name="zcc" value="2"/>
+        <param name="zoh" value="2"/>
+        <param name="no" value="4"/>
+        <param name="nox" value="40"/>
+        <param name="i" value="1,4"/>
+        <param name="sp" value="100"/>
+        <param name="sb1" value="1"/>
+        <param name="sct" value="0"/>
+        <param name="x" value="0"/>
+        <param name="hm" value="2"/>
+        <param name="ht" value="6"/>
+        <param name="mm" value="128"/>
+        <param name="mnm" value="false"/>
+        <param name="is" value="0.0"/>
+        <param name="ir" value="0.0"/>
+        <param name="ii" value="0.0"/>
+        <param name="chunk_size" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="OMSSAAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="fragment_mass_tolerance" value="0.3"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="min_precursor_charge" value="1"/>
+      <param name="max_precursor_charge" value="3"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="v" value="1"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="hl" value="30"/>
+      <param name="he" value="1.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenPepXLLF">
+    <test expect_num_outputs="5">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenPepXLLF_input.mzML"/>
+      <param name="database" value="OpenPepXLLF_input.fasta"/>
+      <param name="decoy_string" value="decoy"/>
+      <param name="decoy_prefix" value="true"/>
+      <output name="out_idXML" file="OpenPepXLLF_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="OpenPepXLLF_output.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquestxml" file="OpenPepXLLF_output.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <output name="out_xquest_specxml" file="OpenPepXLLF_output.spec.xml" compare="sim_size" delta="5700" ftype="spec.xml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="3"/>
+        <param name="max_charge" value="7"/>
+        <param name="corrections" value="2 1 0"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_xlinks" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="5"/>
+        <param name="missed_cleavages" value="2"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="cross_linker">
+        <param name="residue1" value="&quot;K&quot; &quot;N-term&quot;"/>
+        <param name="residue2" value="&quot;K&quot; &quot;N-term&quot;"/>
+        <param name="mass" value="138.0680796"/>
+        <param name="mass_mono_link" value="156.07864431 155.094628715"/>
+        <param name="name" value="DSS"/>
+      </section>
+      <section name="algorithm">
+        <param name="number_top_hits" value="5"/>
+        <param name="deisotope" value="auto"/>
+        <param name="use_sequence_tags" value="false"/>
+        <param name="sequence_tag_min_length" value="2"/>
+      </section>
+      <section name="ions">
+        <param name="b_ions" value="true"/>
+        <param name="y_ions" value="true"/>
+        <param name="a_ions" value="false"/>
+        <param name="x_ions" value="false"/>
+        <param name="c_ions" value="false"/>
+        <param name="z_ions" value="false"/>
+        <param name="neutral_losses" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquestxml_FLAG,out_xquest_specxml_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenPepXLLF_input2.mzML"/>
+      <param name="database" value="OpenPepXLLF_input2.fasta"/>
+      <param name="decoy_string" value="decoy_"/>
+      <param name="decoy_prefix" value="true"/>
+      <output name="out_idXML" file="OpenPepXLLF_output2.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="3"/>
+        <param name="max_charge" value="7"/>
+        <param name="corrections" value="1 0"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="0.2"/>
+        <param name="mass_tolerance_xlinks" value="0.3"/>
+        <param name="mass_tolerance_unit" value="Da"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value="Carbamidomethyl (C)"/>
+        <param name="variable" value="Oxidation (M)"/>
+        <param name="variable_max_per_peptide" value="1"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="5"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="cross_linker">
+        <param name="residue1" value="&quot;D&quot; &quot;E&quot; &quot;C-term&quot;"/>
+        <param name="residue2" value="&quot;K&quot; &quot;S&quot; &quot;T&quot; &quot;Y&quot; &quot;N-term&quot;"/>
+        <param name="mass" value="-18.010595"/>
+        <param name="mass_mono_link" value=""/>
+        <param name="name" value="DMTMM"/>
+      </section>
+      <section name="algorithm">
+        <param name="number_top_hits" value="1"/>
+        <param name="deisotope" value="auto"/>
+        <param name="use_sequence_tags" value="false"/>
+        <param name="sequence_tag_min_length" value="2"/>
+      </section>
+      <section name="ions">
+        <param name="b_ions" value="true"/>
+        <param name="y_ions" value="true"/>
+        <param name="a_ions" value="false"/>
+        <param name="x_ions" value="false"/>
+        <param name="c_ions" value="false"/>
+        <param name="z_ions" value="false"/>
+        <param name="neutral_losses" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenPepXL">
+    <test expect_num_outputs="5">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenPepXL_input.mzML"/>
+      <param name="consensus" value="OpenPepXL_input.consensusXML"/>
+      <param name="database" value="OpenPepXL_input.fasta"/>
+      <param name="decoy_string" value="decoy"/>
+      <param name="decoy_prefix" value="true"/>
+      <output name="out_idXML" file="OpenPepXL_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="OpenPepXL_output.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquestxml" file="OpenPepXL_output.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <output name="out_xquest_specxml" file="OpenPepXL_output.spec.xml" compare="sim_size" delta="5700" ftype="spec.xml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="3"/>
+        <param name="max_charge" value="7"/>
+        <param name="corrections" value="2 1 0"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="0.2"/>
+        <param name="mass_tolerance_xlinks" value="0.3"/>
+        <param name="mass_tolerance_unit" value="Da"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="5"/>
+        <param name="missed_cleavages" value="2"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="cross_linker">
+        <param name="residue1" value="&quot;K&quot; &quot;N-term&quot;"/>
+        <param name="residue2" value="&quot;K&quot; &quot;N-term&quot;"/>
+        <param name="mass_light" value="138.0680796"/>
+        <param name="mass_iso_shift" value="12.075321"/>
+        <param name="mass_mono_link" value="156.07864431 155.094628715"/>
+        <param name="name" value="DSS"/>
+      </section>
+      <section name="algorithm">
+        <param name="number_top_hits" value="5"/>
+        <param name="deisotope" value="auto"/>
+      </section>
+      <section name="ions">
+        <param name="b_ions" value="true"/>
+        <param name="y_ions" value="true"/>
+        <param name="a_ions" value="false"/>
+        <param name="x_ions" value="false"/>
+        <param name="c_ions" value="false"/>
+        <param name="z_ions" value="false"/>
+        <param name="neutral_losses" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquestxml_FLAG,out_xquest_specxml_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathAnalyzer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <output name="out" file="OpenSwathAnalyzer_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_mod_input.TraML"/>
+      <output name="out" file="OpenSwathAnalyzer_5_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="true"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="8.0"/>
+          <param name="dia_byseries_ppm_diff" value="15.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <output name="out" file="OpenSwathAnalyzer_6_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="swath_files" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="true"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="8.0"/>
+          <param name="dia_byseries_ppm_diff" value="15.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <output name="out" file="OpenSwathAnalyzer_7_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="original"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="true"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_8_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="true"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_9_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_10_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <param name="tr" value="OpenSwathAnalyzer_1_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathAnalyzer_input.trafoXML"/>
+      <output name="out" file="OpenSwathAnalyzer_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="no_strict" value="false"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="40.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="legacy"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathAssayGenerator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="max_num_alternative_localizations" value="10000"/>
+        <param name="disable_identification_ms2_precursors" value="false"/>
+        <param name="disable_identification_specific_losses" value="false"/>
+        <param name="enable_identification_unspecific_losses" value="false"/>
+        <param name="enable_swath_specifity" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAssayGenerator_input.TraML"/>
+      <output name="out" file="OpenSwathAssayGenerator_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="min_transitions" value="6"/>
+      <param name="max_transitions" value="6"/>
+      <param name="allowed_fragment_types" value="b,y"/>
+      <param name="allowed_fragment_charges" value="2,3"/>
+      <param name="enable_detection_specific_losses" value="true"/>
+      <param name="enable_detection_unspecific_losses" value="false"/>
+      <param name="precursor_mz_threshold" value="0.025"/>
+      <param name="precursor_lower_mz_limit" value="400.0"/>
+      <param name="precursor_upper_mz_limit" value="1200.0"/>
+      <param name="product_mz_threshold" value="0.025"/>
+      <param name="product_lower_mz_limit" value="350.0"/>
+      <param name="product_upper_mz_limit" value="2000.0"/>
+      <param name="enable_ipf" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="max_num_alternative_localizations" value="10000"/>
+        <param name="disable_identification_ms2_precursors" value="false"/>
+        <param name="disable_identification_specific_losses" value="false"/>
+        <param name="enable_identification_unspecific_losses" value="false"/>
+        <param name="enable_swath_specifity" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAssayGenerator_input_2.TraML"/>
+      <output name="out" file="OpenSwathAssayGenerator_output_2.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="min_transitions" value="6"/>
+      <param name="max_transitions" value="6"/>
+      <param name="allowed_fragment_types" value="b,y"/>
+      <param name="allowed_fragment_charges" value="1,2,3,4"/>
+      <param name="enable_detection_specific_losses" value="false"/>
+      <param name="enable_detection_unspecific_losses" value="false"/>
+      <param name="precursor_mz_threshold" value="0.025"/>
+      <param name="precursor_lower_mz_limit" value="400.0"/>
+      <param name="precursor_upper_mz_limit" value="1200.0"/>
+      <param name="product_mz_threshold" value="0.025"/>
+      <param name="product_lower_mz_limit" value="350.0"/>
+      <param name="product_upper_mz_limit" value="2000.0"/>
+      <param name="unimod_file" value="OpenSwathAssayGenerator_input_2_unimod.xml"/>
+      <param name="enable_ipf" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="max_num_alternative_localizations" value="10000"/>
+        <param name="disable_identification_ms2_precursors" value="false"/>
+        <param name="disable_identification_specific_losses" value="false"/>
+        <param name="enable_identification_unspecific_losses" value="false"/>
+        <param name="enable_swath_specifity" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAssayGenerator_input_2.TraML"/>
+      <output name="out" file="OpenSwathAssayGenerator_output_3.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="min_transitions" value="6"/>
+      <param name="max_transitions" value="6"/>
+      <param name="allowed_fragment_types" value="b,y"/>
+      <param name="allowed_fragment_charges" value="1,2,3,4"/>
+      <param name="enable_detection_specific_losses" value="false"/>
+      <param name="enable_detection_unspecific_losses" value="false"/>
+      <param name="precursor_mz_threshold" value="0.025"/>
+      <param name="precursor_lower_mz_limit" value="400.0"/>
+      <param name="precursor_upper_mz_limit" value="1200.0"/>
+      <param name="product_mz_threshold" value="0.025"/>
+      <param name="product_lower_mz_limit" value="350.0"/>
+      <param name="product_upper_mz_limit" value="2000.0"/>
+      <param name="unimod_file" value="OpenSwathAssayGenerator_input_3_unimod.xml"/>
+      <param name="enable_ipf" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathChromatogramExtractor">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_input.TraML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="false"/>
+      <param name="extract_MS1" value="false"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_input.TraML"/>
+      <param name="rt_norm" value="OpenSwathChromatogramExtractor_input.trafoXML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_output_2.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="50.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="false"/>
+      <param name="extract_MS1" value="false"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_input.TraML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_output_3.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="false"/>
+      <param name="extract_MS1" value="true"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_4_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_4_input.TraML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_4_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="0.05"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="true"/>
+      <param name="extract_MS1" value="false"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathChromatogramExtractor_input.mzML"/>
+      <param name="tr" value="OpenSwathChromatogramExtractor_5_input.TraML"/>
+      <output name="out" file="OpenSwathChromatogramExtractor_5_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="min_upper_edge_dist" value="0.0"/>
+      <param name="rt_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_window" value="0.05"/>
+      <param name="ppm" value="false"/>
+      <param name="is_swath" value="false"/>
+      <param name="extract_MS1" value="true"/>
+      <section name="model">
+        <param name="type" value="linear"/>
+        <param name="symmetric_regression" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathConfidenceScoring">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+      <param name="lib" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
+      <output name="out" file="OpenSwathConfidenceScoring_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="trafo" value="OpenSwathConfidenceScoring_1_input.trafoXML"/>
+      <param name="decoys" value="1"/>
+      <param name="transitions" value="2"/>
+      <section name="GLM">
+        <param name="intercept" value="3.87333466"/>
+        <param name="delta_rt" value="-0.02898629"/>
+        <param name="dist_int" value="-7.75880768"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathDecoyGenerator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_decoy_fraction" value="0.8"/>
+        <param name="aim_decoy_fraction" value="1.0"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="shift_precursor_mz_shift" value="0.0"/>
+        <param name="shift_product_mz_shift" value="20.0"/>
+        <param name="product_mz_threshold" value="0.025"/>
+        <param name="allowed_fragment_types" value="b,y"/>
+        <param name="allowed_fragment_charges" value="1,2,3,4"/>
+        <param name="enable_detection_specific_losses" value="false"/>
+        <param name="enable_detection_unspecific_losses" value="false"/>
+        <param name="separate" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathDecoyGenerator_input.TraML"/>
+      <output name="out" file="OpenSwathDecoyGenerator_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="method" value="pseudo-reverse"/>
+      <param name="decoy_tag" value="DECOY_"/>
+      <param name="switchKR" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_decoy_fraction" value="0.8"/>
+        <param name="aim_decoy_fraction" value="1.0"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="shift_precursor_mz_shift" value="0.0"/>
+        <param name="shift_product_mz_shift" value="20.0"/>
+        <param name="product_mz_threshold" value="0.8"/>
+        <param name="allowed_fragment_types" value="b,y"/>
+        <param name="allowed_fragment_charges" value="1,2,3,4"/>
+        <param name="enable_detection_specific_losses" value="false"/>
+        <param name="enable_detection_unspecific_losses" value="false"/>
+        <param name="separate" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathDecoyGenerator_input_2.TraML"/>
+      <output name="out" file="OpenSwathDecoyGenerator_output_2.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="method" value="pseudo-reverse"/>
+      <param name="decoy_tag" value="DECOY_"/>
+      <param name="switchKR" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_decoy_fraction" value="0.8"/>
+        <param name="aim_decoy_fraction" value="1.0"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="shift_precursor_mz_shift" value="0.0"/>
+        <param name="shift_product_mz_shift" value="20.0"/>
+        <param name="product_mz_threshold" value="0.025"/>
+        <param name="allowed_fragment_types" value="b,y"/>
+        <param name="allowed_fragment_charges" value="1,2,3,4"/>
+        <param name="enable_detection_specific_losses" value="false"/>
+        <param name="enable_detection_unspecific_losses" value="false"/>
+        <param name="separate" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathDecoyGenerator_input_3.TraML"/>
+      <output name="out" file="OpenSwathDecoyGenerator_output_3.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="method" value="pseudo-reverse"/>
+      <param name="decoy_tag" value="DECOY_"/>
+      <param name="switchKR" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="min_decoy_fraction" value="0.4"/>
+        <param name="aim_decoy_fraction" value="1.0"/>
+        <param name="shuffle_max_attempts" value="30"/>
+        <param name="shuffle_sequence_identity_threshold" value="0.5"/>
+        <param name="shift_precursor_mz_shift" value="0.0"/>
+        <param name="shift_product_mz_shift" value="20.0"/>
+        <param name="product_mz_threshold" value="0.025"/>
+        <param name="allowed_fragment_types" value="b,y"/>
+        <param name="allowed_fragment_charges" value="1,2,3,4"/>
+        <param name="enable_detection_specific_losses" value="true"/>
+        <param name="enable_detection_unspecific_losses" value="true"/>
+        <param name="separate" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathDecoyGenerator_input_4.tsv" ftype="tabular"/>
+      <output name="out" file="OpenSwathDecoyGenerator_output_4.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <param name="method" value="pseudo-reverse"/>
+      <param name="decoy_tag" value="DECOY_"/>
+      <param name="switchKR" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathFeatureXMLToTSV">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+      <param name="tr" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
+      <output name="out" file="OpenSwathFeatureXMLToTSV_output.short.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="short_format" value="true"/>
+      <param name="best_scoring_peptide" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+      <param name="tr" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
+      <output name="out" file="OpenSwathFeatureXMLToTSV_output.long.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="short_format" value="false"/>
+      <param name="best_scoring_peptide" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+      <param name="tr" value="OpenSwathFeatureXMLToTSV_input.TraML"/>
+      <output name="out" file="OpenSwathFeatureXMLToTSV_3_output.short.csv" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="short_format" value="true"/>
+      <param name="best_scoring_peptide" value="main_var_xx_lda_prelim_score"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathFileSplitter"/>
+  <xml name="autotest_OpenSwathMzMLFileCacher">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_1_input.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_2_input.chrom.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_2_input.chrom.cached.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="0.0001"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_1_input.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_3_input.tmp.sqMass" compare="sim_size" delta="5700" ftype="sqmass"/>
+      <param name="out_type" value="sqmass"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_3_input.tmp.sqMass"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_3_output.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_2_input.chrom.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_4_input.tmp.sqMass" compare="sim_size" delta="5700" ftype="sqmass"/>
+      <param name="out_type" value="sqmass"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_4_input.tmp.sqMass"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_4_output.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="true"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathMzMLFileCacher_1_input.mzML"/>
+      <output name="out" file="OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_2_swathfile.mzML"/>
+      <output name="out" file="OpenSwathAnalyzer_4_swathfile.mzML.cached.tmp" compare="sim_size" delta="5700"/>
+      <param name="out_type" value="mzML"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="-1.0"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathAnalyzer_1_input_chrom.mzML"/>
+      <output name="out" file="OpenSwathAnalyzer_4_input_chrom.mzML.cached.tmp" compare="sim_size" delta="5700"/>
+      <param name="out_type" value="mzML"/>
+      <param name="lossy_compression" value="true"/>
+      <param name="full_meta" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="lossy_mass_accuracy" value="0.0001"/>
+        <param name="process_lowmemory" value="false"/>
+        <param name="lowmem_batchsize" value="500"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_14.chrom.tmp.sqMass"/>
+      <output name="out" file="OpenSwathWorkflow_14.chrom.tmp.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="out_type" value="mzml"/>
+      <param name="lossy_compression" value="false"/>
+      <param name="full_meta" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathRewriteToFeatureXML">
+</xml>
+  <xml name="autotest_OpenSwathRTNormalizer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathRTNormalizer_1_input.mzML"/>
+      <param name="tr" value="OpenSwathRTNormalizer_1_input.TraML"/>
+      <output name="out" file="OpenSwathRTNormalizer_1_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <param name="min_rsq" value="0.95"/>
+      <param name="min_coverage" value="0.6"/>
+      <param name="estimateBestPeptides" value="false"/>
+      <section name="RTNormalization">
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <section name="peptideEstimation">
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathRTNormalizer_1_input.mzML"/>
+      <param name="tr" value="OpenSwathRTNormalizer_1_input.TraML"/>
+      <output name="out" file="OpenSwathRTNormalizer_3_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <param name="min_rsq" value="0.95"/>
+      <param name="min_coverage" value="0.6"/>
+      <param name="estimateBestPeptides" value="true"/>
+      <section name="RTNormalization">
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <section name="peptideEstimation">
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="3"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="3"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathRTNormalizer_1_input.mzML"/>
+      <param name="tr" value="OpenSwathRTNormalizer_1_input.TraML"/>
+      <output name="out" file="OpenSwathRTNormalizer_4_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <param name="min_rsq" value="0.95"/>
+      <param name="min_coverage" value="0.6"/>
+      <param name="estimateBestPeptides" value="false"/>
+      <section name="RTNormalization">
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+      </section>
+      <section name="algorithm">
+        <param name="stop_report_after_feature" value="-1"/>
+        <param name="rt_extraction_window" value="-1.0"/>
+        <param name="rt_normalization_factor" value="1.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="-1"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="stop_after_intensity_ratio" value="0.0001"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="false"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="1.0"/>
+          <param name="minimal_quality" value="-10000.0"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="15"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="50.0"/>
+            <param name="use_gauss" value="true"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="1.0"/>
+            <param name="sn_win_len" value="1000.0"/>
+            <param name="sn_bin_count" value="30"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="false"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="interpolation_step" value="0.2"/>
+          <param name="tolerance_stdev_bounding_box" value="3.0"/>
+          <param name="max_iteration" value="500"/>
+          <section name="statistics">
+            <param name="mean" value="1.0"/>
+            <param name="variance" value="1.0"/>
+          </section>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_elution_model_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <section name="peptideEstimation">
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_OpenSwathWorkflow">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="false"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_1_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <output name="out_qc" file="OpenSwathWorkflow_1_output.json" compare="sim_size" delta="5700" ftype="json"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG,out_qc_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_2_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="false"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_2_input.mzXML"/>
+      <param name="tr" value="OpenSwathWorkflow_2_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_2_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_tsv" file="OpenSwathWorkflow_4.tsv.tmp" compare="sim_size" delta="5700" ftype="tabular"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_4.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_tsv_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="cache"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="cacheWorkingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="swath_windows_file" value="swath_windows.txt" ftype="txt"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_3_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_3_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="swath_windows_file" value="swath_windows_overlap.txt" ftype="txt"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="true"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_10.featureXML.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_10.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="false"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="550.0"/>
+        <param name="irt_mz_extraction_window_unit" value="ppm"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="quadratic_regression_delta_ppm"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_11_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_11_input_2.TraML"/>
+      <param name="tr_type" value=""/>
+      <param name="tr_irt" value="OpenSwathWorkflow_11_input.TraML"/>
+      <output name="out_features" file="OpenSwathWorkflow_11_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_11_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="true"/>
+      <param name="rt_extraction_window" value="-1.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.2"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="none"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="true"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_13_input.pqp.tmp"/>
+      <param name="tr_type" value="pqp"/>
+      <output name="out_osw" file="OpenSwathWorkflow_13.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_13_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_osw_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="sqMass"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_14_input.pqp.tmp"/>
+      <param name="tr_type" value="pqp"/>
+      <output name="out_osw" file="OpenSwathWorkflow_14.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_14.chrom.tmp.sqMass" compare="sim_size" delta="5700" ftype="sqmass"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_osw_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="2"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_15_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_15_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_15_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="true"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="false"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="2"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_16_input.sqMass"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_16_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_16_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_17_input.tsv" ftype="tabular"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_17.featureXML.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_17.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="0.05"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="true"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="cache"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_17_input.tsv" ftype="tabular"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_17.featureXML.tmp" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_17.chrom.mzML.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="0.05"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="true"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="false"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_17_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_17_input.pqp.tmp"/>
+      <param name="tr_type" value="pqp"/>
+      <output name="out_features" file="OpenSwathWorkflow_17_b_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_17_b_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="0.05"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_18_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="true"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_19_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="rt_norm" value="OpenSwathWorkflow_1_input.trafoXML"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_20_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="false"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="normal"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_21_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_21_input.tsv" ftype="tabular"/>
+      <param name="tr_type" value=""/>
+      <param name="tr_irt" value="OpenSwathWorkflow_21_input.irt.TraML"/>
+      <output name="out_features" file="OpenSwathWorkflow_21_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_21_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <output name="Debugging_irt_trafo" file="OpenSwathWorkflow_21_output.trafoXML" compare="sim_size" delta="5700" ftype="trafoxml"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="true"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="true"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG,irt_trafo_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="sort_swath_maps" value="false"/>
+        <param name="use_ms1_traces" value="true"/>
+        <param name="enable_uis_scoring" value="false"/>
+        <param name="out_chrom_type" value="mzML"/>
+        <param name="min_upper_edge_dist" value="0.0"/>
+        <param name="extra_rt_extraction_window" value="0.0"/>
+        <param name="mz_extraction_window_unit" value="Th"/>
+        <param name="mz_extraction_window_ms1_unit" value="Th"/>
+        <param name="use_ms1_ion_mobility" value="true"/>
+        <param name="matching_window_only" value="true"/>
+        <param name="irt_mz_extraction_window" value="0.05"/>
+        <param name="irt_mz_extraction_window_unit" value="Th"/>
+        <param name="irt_im_extraction_window" value="-1.0"/>
+        <param name="min_rsq" value="0.95"/>
+        <param name="min_coverage" value="0.6"/>
+        <param name="split_file_input" value="false"/>
+        <param name="use_elution_model_score" value="false"/>
+        <param name="readOptions" value="workingInMemory"/>
+        <param name="mz_correction_function" value="none"/>
+        <param name="extraction_function" value="tophat"/>
+        <param name="batchSize" value="250"/>
+        <param name="ms1_isotopes" value="3"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="OpenSwathWorkflow_22_input.mzML"/>
+      <param name="tr" value="OpenSwathWorkflow_22_input.tsv" ftype="tabular"/>
+      <param name="tr_type" value=""/>
+      <output name="out_features" file="OpenSwathWorkflow_22_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <output name="out_chrom" file="OpenSwathWorkflow_22_output.chrom.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="sonar" value="false"/>
+      <param name="rt_extraction_window" value="600.0"/>
+      <param name="ion_mobility_window" value="-1.0"/>
+      <param name="mz_extraction_window" value="0.05"/>
+      <param name="mz_extraction_window_ms1" value="0.05"/>
+      <param name="im_extraction_window_ms1" value="-1.0"/>
+      <section name="Debugging"/>
+      <section name="Calibration">
+        <param name="ms1_im_calibration" value="false"/>
+        <param name="im_correction_function" value="linear"/>
+        <param name="debug_im_file" value=""/>
+        <param name="debug_mz_file" value=""/>
+      </section>
+      <section name="Library">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <section name="RTNormalization">
+        <param name="alignmentMethod" value="linear"/>
+        <param name="outlierMethod" value="iter_residual"/>
+        <param name="useIterativeChauvenet" value="false"/>
+        <param name="RANSACMaxIterations" value="1000"/>
+        <param name="RANSACMaxPercentRTThreshold" value="3"/>
+        <param name="RANSACSamplingSize" value="10"/>
+        <param name="estimateBestPeptides" value="false"/>
+        <param name="InitialQualityCutoff" value="0.5"/>
+        <param name="OverallQualityCutoff" value="5.5"/>
+        <param name="NrRTBins" value="10"/>
+        <param name="MinPeptidesPerBin" value="1"/>
+        <param name="MinBinsFilled" value="8"/>
+        <section name="lowess">
+          <param name="span" value="0.666666666666667"/>
+        </section>
+        <section name="b_spline">
+          <param name="num_nodes" value="5"/>
+        </section>
+      </section>
+      <section name="Scoring">
+        <param name="stop_report_after_feature" value="5"/>
+        <param name="rt_normalization_factor" value="100.0"/>
+        <param name="quantification_cutoff" value="0.0"/>
+        <param name="write_convex_hull" value="false"/>
+        <param name="spectrum_addition_method" value="simple"/>
+        <param name="add_up_spectra" value="1"/>
+        <param name="spacing_for_spectra_resampling" value="0.005"/>
+        <param name="uis_threshold_sn" value="0"/>
+        <param name="uis_threshold_peak_area" value="0"/>
+        <param name="scoring_model" value="default"/>
+        <param name="im_extra_drift" value="0.0"/>
+        <section name="TransitionGroupPicker">
+          <param name="stop_after_feature" value="-1"/>
+          <param name="min_peak_width" value="-1.0"/>
+          <param name="peak_integration" value="original"/>
+          <param name="background_subtraction" value="none"/>
+          <param name="recalculate_peaks" value="true"/>
+          <param name="use_precursors" value="false"/>
+          <param name="use_consensus" value="true"/>
+          <param name="recalculate_peaks_max_z" value="0.75"/>
+          <param name="minimal_quality" value="-1.5"/>
+          <param name="resample_boundary" value="15.0"/>
+          <param name="compute_peak_quality" value="true"/>
+          <param name="compute_peak_shape_metrics" value="false"/>
+          <param name="compute_total_mi" value="false"/>
+          <param name="boundary_selection_method" value="largest"/>
+          <section name="PeakPickerMRM">
+            <param name="sgolay_frame_length" value="11"/>
+            <param name="sgolay_polynomial_order" value="3"/>
+            <param name="gauss_width" value="30.0"/>
+            <param name="use_gauss" value="false"/>
+            <param name="peak_width" value="-1.0"/>
+            <param name="signal_to_noise" value="0.1"/>
+            <param name="write_sn_log_messages" value="false"/>
+            <param name="remove_overlapping_peaks" value="true"/>
+            <param name="method" value="corrected"/>
+          </section>
+          <section name="PeakIntegrator">
+            <param name="integration_type" value="intensity_sum"/>
+            <param name="baseline_type" value="base_to_base"/>
+            <param name="fit_EMG" value="false"/>
+          </section>
+        </section>
+        <section name="DIAScoring">
+          <param name="dia_extraction_window" value="0.05"/>
+          <param name="dia_extraction_unit" value="Th"/>
+          <param name="dia_centroided" value="false"/>
+          <param name="dia_byseries_intensity_min" value="300.0"/>
+          <param name="dia_byseries_ppm_diff" value="10.0"/>
+          <param name="dia_nr_isotopes" value="4"/>
+          <param name="dia_nr_charges" value="4"/>
+          <param name="peak_before_mono_max_ppm_diff" value="20.0"/>
+        </section>
+        <section name="EMGScoring">
+          <param name="max_iteration" value="10"/>
+        </section>
+        <section name="Scores">
+          <param name="use_shape_score" value="true"/>
+          <param name="use_coelution_score" value="true"/>
+          <param name="use_rt_score" value="true"/>
+          <param name="use_library_score" value="true"/>
+          <param name="use_intensity_score" value="true"/>
+          <param name="use_nr_peaks_score" value="true"/>
+          <param name="use_total_xic_score" value="true"/>
+          <param name="use_total_mi_score" value="false"/>
+          <param name="use_sn_score" value="true"/>
+          <param name="use_mi_score" value="false"/>
+          <param name="use_dia_scores" value="true"/>
+          <param name="use_ms1_correlation" value="false"/>
+          <param name="use_sonar_scores" value="false"/>
+          <param name="use_ion_mobility_scores" value="false"/>
+          <param name="use_ms1_fullscan" value="false"/>
+          <param name="use_ms1_mi" value="false"/>
+          <param name="use_uis_scores" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_features_FLAG,out_chrom_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PeakPickerHiRes">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_1.tmp" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="true"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_2_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="true"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_output_lowMem.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="true"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="lowmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_2_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="1.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value="1"/>
+        <param name="report_FWHM" value="true"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="processOption" value="inmemory"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerHiRes_5_input.mzML"/>
+      <output name="out" file="PeakPickerHiRes_5_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="0.0"/>
+        <param name="spacing_difference_gap" value="4.0"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="missing" value="1"/>
+        <param name="ms_levels" value=""/>
+        <param name="report_FWHM" value="false"/>
+        <param name="report_FWHM_unit" value="relative"/>
+        <section name="SignalToNoise">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+          <param name="write_log_messages" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PeakPickerIterative">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerIterative_1_input.mzML"/>
+      <output name="out" file="PeakPickerIterative_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise_" value="1.0"/>
+        <param name="peak_width" value="0.04"/>
+        <param name="spacing_difference" value="1.5"/>
+        <param name="sn_bin_count_" value="30"/>
+        <param name="nr_iterations_" value="5"/>
+        <param name="sn_win_len_" value="20.0"/>
+        <param name="check_width_internally" value="false"/>
+        <param name="ms1_only" value="false"/>
+        <param name="clear_meta_data" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerIterative_2_input.mzML"/>
+      <output name="out" file="PeakPickerIterative_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise_" value="0.0"/>
+        <param name="peak_width" value="0.04"/>
+        <param name="spacing_difference" value="2.5"/>
+        <param name="sn_bin_count_" value="30"/>
+        <param name="nr_iterations_" value="5"/>
+        <param name="sn_win_len_" value="20.0"/>
+        <param name="check_width_internally" value="true"/>
+        <param name="ms1_only" value="false"/>
+        <param name="clear_meta_data" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PeakPickerWavelet">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="write_peak_meta_data" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerWavelet_input.mzML"/>
+      <output name="out" file="PeakPickerWavelet_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="3.0"/>
+        <param name="centroid_percentage" value="0.6"/>
+        <param name="peak_width" value="0.2"/>
+        <param name="estimate_peak_width" value="false"/>
+        <param name="fwhm_lower_bound_factor" value="0.5"/>
+        <param name="fwhm_upper_bound_factor" value="20.0"/>
+        <section name="optimization">
+          <param name="iterations" value="400"/>
+          <section name="penalties">
+            <param name="position" value="0.0"/>
+            <param name="left_width" value="1.0"/>
+            <param name="right_width" value="1.0"/>
+            <param name="height" value="1.0"/>
+          </section>
+          <section name="2d">
+            <param name="tolerance_mz" value="2.2"/>
+            <param name="max_peak_distance" value="1.2"/>
+          </section>
+        </section>
+        <section name="thresholds">
+          <param name="peak_bound" value="100.0"/>
+          <param name="peak_bound_ms2_level" value="10.0"/>
+          <param name="correlation" value="0.5"/>
+          <param name="noise_level" value="0.1"/>
+          <param name="search_radius" value="3"/>
+        </section>
+        <section name="wavelet_transform">
+          <param name="spacing" value="0.001"/>
+        </section>
+        <section name="deconvolution">
+          <param name="deconvolution" value="false"/>
+          <param name="asym_threshold" value="0.3"/>
+          <param name="left_width" value="2.0"/>
+          <param name="right_width" value="2.0"/>
+          <param name="scaling" value="0.12"/>
+          <section name="fitting">
+            <param name="fwhm_threshold" value="0.7"/>
+            <param name="eps_abs" value="9.999999747378752e-06"/>
+            <param name="eps_rel" value="9.999999747378752e-06"/>
+            <param name="max_iteration" value="10"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="height" value="1.0"/>
+              <param name="left_width" value="0.0"/>
+              <param name="right_width" value="0.0"/>
+            </section>
+          </section>
+        </section>
+        <section name="SignalToNoiseEstimationParameter">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="stdev_mp" value="3.0"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="write_peak_meta_data" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerWavelet_deconv_input.mzML"/>
+      <output name="out" file="PeakPickerWavelet_deconv_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="2.0"/>
+        <param name="centroid_percentage" value="0.8"/>
+        <param name="peak_width" value="0.15"/>
+        <param name="estimate_peak_width" value="false"/>
+        <param name="fwhm_lower_bound_factor" value="1.0"/>
+        <param name="fwhm_upper_bound_factor" value="20.0"/>
+        <section name="optimization">
+          <param name="iterations" value="400"/>
+          <section name="penalties">
+            <param name="position" value="0.0"/>
+            <param name="left_width" value="1.0"/>
+            <param name="right_width" value="1.0"/>
+            <param name="height" value="1.0"/>
+          </section>
+          <section name="2d">
+            <param name="tolerance_mz" value="2.2"/>
+            <param name="max_peak_distance" value="1.2"/>
+          </section>
+        </section>
+        <section name="thresholds">
+          <param name="peak_bound" value="200.0"/>
+          <param name="peak_bound_ms2_level" value="50.0"/>
+          <param name="correlation" value="0.5"/>
+          <param name="noise_level" value="0.1"/>
+          <param name="search_radius" value="3"/>
+        </section>
+        <section name="wavelet_transform">
+          <param name="spacing" value="0.001"/>
+        </section>
+        <section name="deconvolution">
+          <param name="deconvolution" value="true"/>
+          <param name="asym_threshold" value="0.3"/>
+          <param name="left_width" value="2.0"/>
+          <param name="right_width" value="2.0"/>
+          <param name="scaling" value="0.1"/>
+          <section name="fitting">
+            <param name="fwhm_threshold" value="0.7"/>
+            <param name="eps_abs" value="9.999999747378752e-06"/>
+            <param name="eps_rel" value="9.999999747378752e-06"/>
+            <param name="max_iteration" value="100"/>
+            <section name="penalties">
+              <param name="position" value="1.0"/>
+              <param name="height" value="1.0"/>
+              <param name="left_width" value="0.0"/>
+              <param name="right_width" value="0.0"/>
+            </section>
+          </section>
+        </section>
+        <section name="SignalToNoiseEstimationParameter">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="stdev_mp" value="3.0"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="write_peak_meta_data" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerWavelet_input.mzML"/>
+      <output name="out" file="PeakPickerWavelet_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="3.0"/>
+        <param name="centroid_percentage" value="0.6"/>
+        <param name="peak_width" value="0.2"/>
+        <param name="estimate_peak_width" value="false"/>
+        <param name="fwhm_lower_bound_factor" value="0.5"/>
+        <param name="fwhm_upper_bound_factor" value="20.0"/>
+        <section name="optimization">
+          <param name="iterations" value="400"/>
+          <section name="penalties">
+            <param name="position" value="0.0"/>
+            <param name="left_width" value="1.0"/>
+            <param name="right_width" value="1.0"/>
+            <param name="height" value="1.0"/>
+          </section>
+          <section name="2d">
+            <param name="tolerance_mz" value="2.2"/>
+            <param name="max_peak_distance" value="1.2"/>
+          </section>
+        </section>
+        <section name="thresholds">
+          <param name="peak_bound" value="100.0"/>
+          <param name="peak_bound_ms2_level" value="10.0"/>
+          <param name="correlation" value="0.5"/>
+          <param name="noise_level" value="0.1"/>
+          <param name="search_radius" value="3"/>
+        </section>
+        <section name="wavelet_transform">
+          <param name="spacing" value="0.001"/>
+        </section>
+        <section name="deconvolution">
+          <param name="deconvolution" value="false"/>
+          <param name="asym_threshold" value="0.3"/>
+          <param name="left_width" value="2.0"/>
+          <param name="right_width" value="2.0"/>
+          <param name="scaling" value="0.12"/>
+          <section name="fitting">
+            <param name="fwhm_threshold" value="0.7"/>
+            <param name="eps_abs" value="9.999999747378752e-06"/>
+            <param name="eps_rel" value="9.999999747378752e-06"/>
+            <param name="max_iteration" value="10"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="height" value="1.0"/>
+              <param name="left_width" value="0.0"/>
+              <param name="right_width" value="0.0"/>
+            </section>
+          </section>
+        </section>
+        <section name="SignalToNoiseEstimationParameter">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="stdev_mp" value="3.0"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="write_peak_meta_data" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeakPickerWavelet_input.mzML"/>
+      <output name="out" file="PeakPickerWavelet_output_noMetaData.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="signal_to_noise" value="3.0"/>
+        <param name="centroid_percentage" value="0.6"/>
+        <param name="peak_width" value="0.2"/>
+        <param name="estimate_peak_width" value="false"/>
+        <param name="fwhm_lower_bound_factor" value="0.5"/>
+        <param name="fwhm_upper_bound_factor" value="20.0"/>
+        <section name="optimization">
+          <param name="iterations" value="400"/>
+          <section name="penalties">
+            <param name="position" value="0.0"/>
+            <param name="left_width" value="1.0"/>
+            <param name="right_width" value="1.0"/>
+            <param name="height" value="1.0"/>
+          </section>
+          <section name="2d">
+            <param name="tolerance_mz" value="2.2"/>
+            <param name="max_peak_distance" value="1.2"/>
+          </section>
+        </section>
+        <section name="thresholds">
+          <param name="peak_bound" value="100.0"/>
+          <param name="peak_bound_ms2_level" value="10.0"/>
+          <param name="correlation" value="0.5"/>
+          <param name="noise_level" value="0.1"/>
+          <param name="search_radius" value="3"/>
+        </section>
+        <section name="wavelet_transform">
+          <param name="spacing" value="0.001"/>
+        </section>
+        <section name="deconvolution">
+          <param name="deconvolution" value="false"/>
+          <param name="asym_threshold" value="0.3"/>
+          <param name="left_width" value="2.0"/>
+          <param name="right_width" value="2.0"/>
+          <param name="scaling" value="0.12"/>
+          <section name="fitting">
+            <param name="fwhm_threshold" value="0.7"/>
+            <param name="eps_abs" value="9.999999747378752e-06"/>
+            <param name="eps_rel" value="9.999999747378752e-06"/>
+            <param name="max_iteration" value="10"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="height" value="1.0"/>
+              <param name="left_width" value="0.0"/>
+              <param name="right_width" value="0.0"/>
+            </section>
+          </section>
+        </section>
+        <section name="SignalToNoiseEstimationParameter">
+          <param name="max_intensity" value="-1"/>
+          <param name="auto_max_stdev_factor" value="3.0"/>
+          <param name="auto_max_percentile" value="95"/>
+          <param name="auto_mode" value="0"/>
+          <param name="win_len" value="200.0"/>
+          <param name="bin_count" value="30"/>
+          <param name="stdev_mp" value="3.0"/>
+          <param name="min_required_elements" value="10"/>
+          <param name="noise_for_empty_window" value="1e+20"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PepNovoAdapter">
+</xml>
+  <xml name="autotest_PeptideIndexer">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_1_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_2_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="true"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_3_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="true"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_4_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="true"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="0"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_5_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_2.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_6_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="3"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_3.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_7_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_3.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_8_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="semi"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_3.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_9_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_10_input.idXML"/>
+      <param name="fasta" value="PeptideIndexer_10_input.fasta"/>
+      <output name="out" file="PeptideIndexer_10_output.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="true"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="false"/>
+      <param name="aaa_max" value="3"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="true"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_1.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_12_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="true"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="empty.idXML"/>
+      <param name="fasta" value="PeptideIndexer_1.fasta"/>
+      <output name="out" file="PeptideIndexer_13_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="false"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="false"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="full"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PeptideIndexer_14.idXML"/>
+      <param name="fasta" value="PeptideIndexer_2.fasta"/>
+      <output name="out" file="PeptideIndexer_14_out.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value=""/>
+      <param name="decoy_string_position" value="prefix"/>
+      <param name="missing_decoy_action" value="error"/>
+      <param name="write_protein_sequence" value="true"/>
+      <param name="write_protein_description" value="false"/>
+      <param name="keep_unreferenced_proteins" value="false"/>
+      <param name="allow_unmatched" value="false"/>
+      <param name="aaa_max" value="4"/>
+      <param name="mismatches_max" value="0"/>
+      <param name="IL_equivalent" value="false"/>
+      <section name="enzyme">
+        <param name="name" value="Trypsin"/>
+        <param name="specificity" value="none"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PercolatorAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.5"/>
+        <param name="trainFDR" value="0.5"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PercolatorAdapter_1.idXML"/>
+      <output name="out" file="PercolatorAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="out_type" value="idXML"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="ms2"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.01"/>
+        <param name="trainFDR" value="0.01"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_osw" value="PercolatorAdapter_2.osw"/>
+      <output name="out" file="PercolatorAdapter_2_out1.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <param name="out_type" value="osw"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="ms1"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.01"/>
+        <param name="trainFDR" value="0.01"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_osw" value="PercolatorAdapter_2_out1.osw"/>
+      <output name="out" file="PercolatorAdapter_3_out1.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <param name="out_type" value="osw"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="ms2"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.01"/>
+        <param name="trainFDR" value="0.01"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_osw" value="PercolatorAdapter_3_out1.osw"/>
+      <output name="out" file="PercolatorAdapter_4_out1.osw" compare="sim_size" delta="5700" ftype="osw"/>
+      <param name="out_type" value="osw"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="transition"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="generic_feature_set" value="false"/>
+        <param name="subset_max_train" value="0"/>
+        <param name="cpos" value="0.0"/>
+        <param name="cneg" value="0.0"/>
+        <param name="testFDR" value="0.5"/>
+        <param name="trainFDR" value="0.5"/>
+        <param name="maxiter" value="10"/>
+        <param name="quick_validation" value="false"/>
+        <param name="default_direction" value=""/>
+        <param name="verbose" value="2"/>
+        <param name="unitnorm" value="false"/>
+        <param name="test_each_iteration" value="false"/>
+        <param name="override" value="false"/>
+        <param name="seed" value="1"/>
+        <param name="doc" value="0"/>
+        <param name="klammer" value="false"/>
+        <param name="decoy_pattern" value="random"/>
+        <param name="post_processing_tdc" value="false"/>
+        <param name="train_best_positive" value="false"/>
+        <param name="ipf_max_peakgroup_pep" value="0.7"/>
+        <param name="ipf_max_transition_isotope_overlap" value="0.5"/>
+        <param name="ipf_min_transition_sn" value="0.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PercolatorAdapter_1.idXML"/>
+      <output name="out" file="PercolatorAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_pin" file="PercolatorAdapter_1_out1.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="idXML"/>
+      <param name="enzyme" value="trypsin"/>
+      <param name="peptide_level_fdrs" value="false"/>
+      <param name="protein_level_fdrs" value="false"/>
+      <param name="osw_level" value="ms2"/>
+      <param name="score_type" value="q-value"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_pin_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PhosphoScoring">
+</xml>
+  <xml name="autotest_PrecursorIonSelector">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="solver" value="GLPK"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PrecursorIonSelector_features.featureXML"/>
+      <param name="ids" value="PrecursorIonSelector_ids.idXML"/>
+      <param name="num_precursors" value="1"/>
+      <param name="load_preprocessing" value="false"/>
+      <param name="store_preprocessing" value="false"/>
+      <param name="simulation" value="true"/>
+      <output name="sim_results" file="PrecursorIonSelector_1_output.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="db_path" value="PrecursorIonSelector_db.fasta"/>
+      <param name="fixed_modifications" value=""/>
+      <section name="algorithm">
+        <param name="type" value="IPS"/>
+        <param name="max_iteration" value="10"/>
+        <param name="rt_bin_capacity" value="10"/>
+        <param name="step_size" value="1"/>
+        <param name="peptide_min_prob" value="0.2"/>
+        <param name="sequential_spectrum_order" value="false"/>
+        <section name="MIPFormulation">
+          <section name="thresholds">
+            <param name="min_protein_probability" value="0.2"/>
+            <param name="min_protein_id_probability" value="0.95"/>
+            <param name="min_pt_weight" value="0.5"/>
+            <param name="min_mz" value="500.0"/>
+            <param name="max_mz" value="5000.0"/>
+            <param name="min_pred_pep_prob" value="0.5"/>
+            <param name="min_rt_weight" value="0.5"/>
+            <param name="use_peptide_rule" value="true"/>
+            <param name="min_peptide_ids" value="2"/>
+            <param name="min_peptide_probability" value="0.95"/>
+          </section>
+          <section name="combined_ilp">
+            <param name="k1" value="0.2"/>
+            <param name="k2" value="0.2"/>
+            <param name="k3" value="0.4"/>
+            <param name="scale_matching_probs" value="true"/>
+          </section>
+          <section name="feature_based">
+            <param name="no_intensity_normalization" value="false"/>
+            <param name="max_number_precursors_per_feature" value="1"/>
+          </section>
+        </section>
+        <section name="Preprocessing">
+          <param name="precursor_mass_tolerance" value="0.9"/>
+          <param name="precursor_mass_tolerance_unit" value="Da"/>
+          <param name="preprocessed_db_path" value=""/>
+          <param name="preprocessed_db_pred_rt_path" value=""/>
+          <param name="preprocessed_db_pred_dt_path" value=""/>
+          <param name="max_peptides_per_run" value="100000"/>
+          <param name="missed_cleavages" value="1"/>
+          <param name="taxonomy" value=""/>
+          <param name="store_peptide_sequences" value="false"/>
+          <section name="rt_settings">
+            <param name="min_rt" value="960.0"/>
+            <param name="max_rt" value="3840.0"/>
+            <param name="rt_step_size" value="30.0"/>
+            <param name="gauss_mean" value="-1.0"/>
+            <param name="gauss_sigma" value="3.0"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,sim_results_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="solver" value="GLPK"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PrecursorIonSelector_features.featureXML"/>
+      <output name="out" file="PrecursorIonSelector_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="ids" value="PrecursorIonSelector_ids.idXML"/>
+      <param name="num_precursors" value="1"/>
+      <param name="load_preprocessing" value="false"/>
+      <param name="store_preprocessing" value="false"/>
+      <param name="simulation" value="false"/>
+      <param name="db_path" value="PrecursorIonSelector_db.fasta"/>
+      <param name="fixed_modifications" value=""/>
+      <section name="algorithm">
+        <param name="type" value="IPS"/>
+        <param name="max_iteration" value="10"/>
+        <param name="rt_bin_capacity" value="10"/>
+        <param name="step_size" value="1"/>
+        <param name="peptide_min_prob" value="0.2"/>
+        <param name="sequential_spectrum_order" value="false"/>
+        <section name="MIPFormulation">
+          <section name="thresholds">
+            <param name="min_protein_probability" value="0.2"/>
+            <param name="min_protein_id_probability" value="0.95"/>
+            <param name="min_pt_weight" value="0.5"/>
+            <param name="min_mz" value="500.0"/>
+            <param name="max_mz" value="5000.0"/>
+            <param name="min_pred_pep_prob" value="0.5"/>
+            <param name="min_rt_weight" value="0.5"/>
+            <param name="use_peptide_rule" value="true"/>
+            <param name="min_peptide_ids" value="2"/>
+            <param name="min_peptide_probability" value="0.95"/>
+          </section>
+          <section name="combined_ilp">
+            <param name="k1" value="0.2"/>
+            <param name="k2" value="0.2"/>
+            <param name="k3" value="0.4"/>
+            <param name="scale_matching_probs" value="true"/>
+          </section>
+          <section name="feature_based">
+            <param name="no_intensity_normalization" value="false"/>
+            <param name="max_number_precursors_per_feature" value="1"/>
+          </section>
+        </section>
+        <section name="Preprocessing">
+          <param name="precursor_mass_tolerance" value="0.9"/>
+          <param name="precursor_mass_tolerance_unit" value="Da"/>
+          <param name="preprocessed_db_path" value=""/>
+          <param name="preprocessed_db_pred_rt_path" value=""/>
+          <param name="preprocessed_db_pred_dt_path" value=""/>
+          <param name="max_peptides_per_run" value="100000"/>
+          <param name="missed_cleavages" value="1"/>
+          <param name="taxonomy" value=""/>
+          <param name="store_peptide_sequences" value="false"/>
+          <section name="rt_settings">
+            <param name="min_rt" value="960.0"/>
+            <param name="max_rt" value="3840.0"/>
+            <param name="rt_step_size" value="30.0"/>
+            <param name="gauss_mean" value="-1.0"/>
+            <param name="gauss_sigma" value="3.0"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PrecursorMassCorrector">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="max_charge" value="3"/>
+        <param name="intensity_threshold" value="-1.0"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PrecursorMassCorrector_1_input.mzML"/>
+      <output name="out" file="PrecursorMassCorrector_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="precursor_mass_tolerance" value="1.5"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ProteinInference">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinInference_1_input.idXML"/>
+      <output name="out" file="ProteinInference_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="merge_runs" value="all"/>
+      <param name="annotate_indist_groups" value="true"/>
+      <section name="Merging">
+        <param name="annotate_origin" value="false"/>
+      </section>
+      <section name="Algorithm">
+        <param name="min_peptides_per_protein" value="1"/>
+        <param name="score_aggregation_method" value="maximum"/>
+        <param name="treat_charge_variants_separately" value="true"/>
+        <param name="treat_modification_variants_separately" value="true"/>
+        <param name="use_shared_peptides" value="false"/>
+        <param name="skip_count_annotation" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ProteinQuantifier">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.featureXML"/>
+      <output name="out" file="ProteinQuantifier_1_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_out" file="ProteinQuantifier_1_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="median"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.featureXML"/>
+      <output name="out" file="ProteinQuantifier_2_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_out" file="ProteinQuantifier_2_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="2"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="true"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_3_input.featureXML"/>
+      <output name="out" file="ProteinQuantifier_3_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_out" file="ProteinQuantifier_3_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="2"/>
+      <param name="average" value="mean"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_4_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="0"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_5_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_6_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_7_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="0"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_8_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_9_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_12_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="true"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.consensusXML"/>
+      <output name="out" file="ProteinQuantifier_13_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="3"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="true"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="true"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="true"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ProteinQuantifier_input.idXML"/>
+      <output name="out" file="ProteinQuantifier_14_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_out" file="ProteinQuantifier_14_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="top" value="0"/>
+      <param name="average" value="sum"/>
+      <param name="include_all" value="false"/>
+      <param name="best_charge_and_fraction" value="false"/>
+      <param name="greedy_group_resolution" value="false"/>
+      <param name="ratios" value="false"/>
+      <param name="ratiosSILAC" value="false"/>
+      <section name="consensus">
+        <param name="normalize" value="false"/>
+        <param name="fix_peptides" value="false"/>
+      </section>
+      <section name="format">
+        <param name="separator" value=""/>
+        <param name="quoting" value="double"/>
+        <param name="replacement" value="_"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,peptide_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_ProteinResolver">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="fasta" value="ProteinResolver_1_input.fasta"/>
+      <param name="in" value="ProteinResolver_1_input.consensusXML"/>
+      <param name="in_path" value=""/>
+      <output name="protein_groups" file="ProteinResolver_1_output1.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="peptide_table" file="ProteinResolver_1_output2.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="protein_table" file="ProteinResolver_1_output3.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <section name="resolver">
+        <param name="missed_cleavages" value="2"/>
+        <param name="min_length" value="6"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="designer">
+        <param name="experiment" value="ExperimentalSetting"/>
+        <param name="file" value="File"/>
+        <param name="separator" value="tab"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,protein_groups_FLAG,peptide_table_FLAG,protein_table_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_PSMFeatureExtractor">
+</xml>
+  <xml name="autotest_PTModel">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_positive" value="PTModel_1_input_positive.idXML"/>
+      <param name="in_negative" value="PTModel_1_input_negative.idXML"/>
+      <output name="out" file="PTModel_1_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="c" value="0.5"/>
+      <param name="svm_type" value="C_SVC"/>
+      <param name="nu" value="0.5"/>
+      <param name="kernel_type" value="OLIGO"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="5.0"/>
+      <param name="max_positive_count" value="1000"/>
+      <param name="max_negative_count" value="1000"/>
+      <param name="redundant" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="true"/>
+        <param name="number_of_runs" value="10"/>
+        <param name="number_of_partitions" value="10"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="c_start" value="1.0"/>
+        <param name="c_step_size" value="100.0"/>
+        <param name="c_stop" value="1000.0"/>
+        <param name="nu_start" value="0.1"/>
+        <param name="nu_step_size" value="1.3"/>
+        <param name="nu_stop" value="0.9"/>
+        <param name="sigma_start" value="1.0"/>
+        <param name="sigma_step_size" value="1.3"/>
+        <param name="sigma_stop" value="15.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_QCCalculator">
+</xml>
+  <xml name="autotest_QCEmbedder">
+</xml>
+  <xml name="autotest_QCExporter">
+</xml>
+  <xml name="autotest_QCExtractor">
+</xml>
+  <xml name="autotest_QCImporter">
+</xml>
+  <xml name="autotest_QCMerger">
+</xml>
+  <xml name="autotest_QCShrinker">
+</xml>
+  <xml name="autotest_QualityControl">
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_cm" value="QualityControl_1_in.consensusXML"/>
+      <param name="in_raw" value="QualityControl_1_in1.mzML.gz,QualityControl_1_in2.mzML.gz,QualityControl_1_in3.mzML.gz"/>
+      <param name="in_postFDR" value="QualityControl_1_in1.featureXML,QualityControl_1_in2.featureXML,QualityControl_1_in3.featureXML"/>
+      <output name="out" file="QualityControl_1_out.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="out_cm" file="QualityControl_1_out.consensusXML" compare="sim_size" delta="5700" ftype="consensusxml"/>
+      <param name="in_contaminants" value="QualityControl_1.fasta"/>
+      <param name="in_trafo" value="QualityControl_1_in1.trafoXML,QualityControl_1_in2.trafoXML,QualityControl_1_in3.trafoXML"/>
+      <section name="FragmentMassError">
+        <param name="unit" value="auto"/>
+        <param name="tolerance" value="20.0"/>
+      </section>
+      <section name="MS2_id_rate">
+        <param name="force_no_fdr" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_cm_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_RNADigestor">
+</xml>
+  <xml name="autotest_RNAMassCalculator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_seq" value="&quot;AUCGGC&quot;"/>
+      <output name="out" file="RNAMassCalculator_1.txt" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="charge" value="-1 -2"/>
+      <param name="format" value="list"/>
+      <param name="average_mass" value="false"/>
+      <param name="fragment_type" value="full"/>
+      <param name="separator" value=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_RNPxlSearch">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RNPxlSearch_1_input.mzML"/>
+      <param name="database" value="RNPxlSearch_1_input.fasta"/>
+      <output name="out" file="RNPxlSearch_1_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="2"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value="Oxidation (M)"/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="6"/>
+        <param name="max_size" value="1000000"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="1"/>
+      </section>
+      <section name="RNPxl">
+        <param name="length" value="2"/>
+        <param name="sequence" value="GUA"/>
+        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
+        <param name="nt_groups" value=""/>
+        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
+        <param name="can_cross_link" value="U"/>
+        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
+        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
+        <param name="scoring" value="fast"/>
+        <param name="decoys" value="false"/>
+        <param name="CysteineAdduct" value="false"/>
+        <param name="filter_fractional_mass" value="false"/>
+        <param name="carbon_labeled_fragments" value="false"/>
+        <param name="only_xl" value="false"/>
+        <param name="filter_small_peptide_mass" value="600.0"/>
+        <param name="marker_ions_tolerance" value="0.05"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RNPxlSearch_1_input.mzML"/>
+      <param name="database" value="RNPxlSearch_1_input.fasta"/>
+      <output name="out" file="RNPxlSearch_2_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="2"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="20.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value="Oxidation (M)"/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="6"/>
+        <param name="max_size" value="1000000"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="1"/>
+      </section>
+      <section name="RNPxl">
+        <param name="length" value="2"/>
+        <param name="sequence" value="GUA"/>
+        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
+        <param name="nt_groups" value=""/>
+        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
+        <param name="can_cross_link" value="U"/>
+        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
+        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
+        <param name="scoring" value="fast"/>
+        <param name="decoys" value="true"/>
+        <param name="CysteineAdduct" value="false"/>
+        <param name="filter_fractional_mass" value="false"/>
+        <param name="carbon_labeled_fragments" value="false"/>
+        <param name="only_xl" value="false"/>
+        <param name="filter_small_peptide_mass" value="600.0"/>
+        <param name="marker_ions_tolerance" value="0.05"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RNPxlSearch_1_input.mzML"/>
+      <param name="database" value="RNPxlSearch_1_input.fasta"/>
+      <output name="out" file="RNPxlSearch_3_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_tsv" file="RNPxlSearch_3_output2.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="2"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="6"/>
+        <param name="max_size" value="1000000"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="3"/>
+      </section>
+      <section name="RNPxl">
+        <param name="length" value="2"/>
+        <param name="sequence" value=""/>
+        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
+        <param name="nt_groups" value=""/>
+        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
+        <param name="can_cross_link" value="U"/>
+        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
+        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
+        <param name="scoring" value="fast"/>
+        <param name="decoys" value="false"/>
+        <param name="CysteineAdduct" value="false"/>
+        <param name="filter_fractional_mass" value="false"/>
+        <param name="carbon_labeled_fragments" value="false"/>
+        <param name="only_xl" value="false"/>
+        <param name="filter_small_peptide_mass" value="600.0"/>
+        <param name="marker_ions_tolerance" value="0.05"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_tsv_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RNPxlSearch_1_input.mzML"/>
+      <param name="database" value="RNPxlSearch_1_input.fasta"/>
+      <output name="out" file="RNPxlSearch_4_output.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_tsv" file="RNPxlSearch_4_output2.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+        <param name="min_charge" value="2"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="10.0"/>
+        <param name="mass_tolerance_unit" value="ppm"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <section name="peptide">
+        <param name="min_size" value="6"/>
+        <param name="max_size" value="1000000"/>
+        <param name="missed_cleavages" value="1"/>
+        <param name="enzyme" value="Trypsin"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="2"/>
+      </section>
+      <section name="RNPxl">
+        <param name="length" value="2"/>
+        <param name="sequence" value=""/>
+        <param name="target_nucleotides" value="&quot;A=C10H14N5O7P&quot; &quot;C=C9H14N3O8P&quot; &quot;G=C10H14N5O8P&quot; &quot;U=C9H13N2O9P&quot;"/>
+        <param name="nt_groups" value=""/>
+        <param name="mapping" value="&quot;A-&gt;A&quot; &quot;C-&gt;C&quot; &quot;G-&gt;G&quot; &quot;U-&gt;U&quot;"/>
+        <param name="can_cross_link" value="U"/>
+        <param name="fragment_adducts" value="&quot;U:C9H10N2O5;U-H3PO4&quot; &quot;U:C4H4N2O2;U'&quot; &quot;U:C4H2N2O1;U'-H2O&quot; &quot;U:C3O;C3O&quot; &quot;U:C9H13N2O9P1;U&quot; &quot;U:C9H11N2O8P1;U-H2O&quot; &quot;U:C9H12N2O6;U-HPO3&quot;"/>
+        <param name="modifications" value="&quot;U:&quot; &quot;U:-H2O&quot; &quot;U:-H2O-HPO3&quot; &quot;U:-HPO3&quot;"/>
+        <param name="scoring" value="fast"/>
+        <param name="decoys" value="true"/>
+        <param name="CysteineAdduct" value="false"/>
+        <param name="filter_fractional_mass" value="false"/>
+        <param name="carbon_labeled_fragments" value="false"/>
+        <param name="only_xl" value="false"/>
+        <param name="filter_small_peptide_mass" value="600.0"/>
+        <param name="marker_ions_tolerance" value="0.05"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_tsv_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_RNPxlXICFilter">
+</xml>
+  <xml name="autotest_RTEvaluation">
+</xml>
+  <xml name="autotest_RTModel">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RTModel_1_input.idXML"/>
+      <output name="out" file="RTModel_1_output.model" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="svm_type" value="NU_SVR"/>
+      <param name="nu" value="0.5"/>
+      <param name="p" value="0.1"/>
+      <param name="c" value="0.1"/>
+      <param name="kernel_type" value="POLY"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="max_std" value="10.0"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="5.0"/>
+      <param name="total_gradient_time" value="3000.0"/>
+      <param name="first_dim_rt" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="true"/>
+        <param name="number_of_runs" value="10"/>
+        <param name="number_of_partitions" value="10"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="p_start" value="1.0"/>
+        <param name="p_step_size" value="10.0"/>
+        <param name="p_stop" value="1000.0"/>
+        <param name="c_start" value="1.0"/>
+        <param name="c_step_size" value="10.0"/>
+        <param name="c_stop" value="1000.0"/>
+        <param name="nu_start" value="0.3"/>
+        <param name="nu_step_size" value="1.2"/>
+        <param name="nu_stop" value="0.7"/>
+        <param name="sigma_start" value="1.0"/>
+        <param name="sigma_step_size" value="1.3"/>
+        <param name="sigma_stop" value="15.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in_positive" value="RTModel_2_input_positive.idXML"/>
+      <param name="in_negative" value="RTModel_2_input_negative.idXML"/>
+      <output name="out" file="RTModel_2_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="svm_type" value="NU_SVR"/>
+      <param name="nu" value="0.5"/>
+      <param name="p" value="0.1"/>
+      <param name="c" value="0.5"/>
+      <param name="kernel_type" value="OLIGO"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="max_std" value="10.0"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="5.0"/>
+      <param name="total_gradient_time" value="1.0"/>
+      <param name="first_dim_rt" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="true"/>
+        <param name="number_of_runs" value="10"/>
+        <param name="number_of_partitions" value="10"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="p_start" value="1.0"/>
+        <param name="p_step_size" value="10.0"/>
+        <param name="p_stop" value="1000.0"/>
+        <param name="c_start" value="1.0"/>
+        <param name="c_step_size" value="10.0"/>
+        <param name="c_stop" value="1000.0"/>
+        <param name="nu_start" value="0.3"/>
+        <param name="nu_step_size" value="1.2"/>
+        <param name="nu_stop" value="0.7"/>
+        <param name="sigma_start" value="1.0"/>
+        <param name="sigma_step_size" value="1.3"/>
+        <param name="sigma_stop" value="15.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RTModel_3_input.idXML"/>
+      <output name="out" file="RTModel_3_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="svm_type" value="NU_SVR"/>
+      <param name="nu" value="0.5"/>
+      <param name="p" value="0.1"/>
+      <param name="c" value="0.001953125"/>
+      <param name="kernel_type" value="OLIGO"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="max_std" value="10.0"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="1.0"/>
+      <param name="total_gradient_time" value="1.0"/>
+      <param name="first_dim_rt" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="false"/>
+        <param name="number_of_runs" value="1"/>
+        <param name="number_of_partitions" value="5"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="p_start" value="1.0"/>
+        <param name="p_step_size" value="10.0"/>
+        <param name="p_stop" value="1000.0"/>
+        <param name="c_start" value="0.001953125"/>
+        <param name="c_step_size" value="2.0"/>
+        <param name="c_stop" value="0.001953125"/>
+        <param name="nu_start" value="0.4"/>
+        <param name="nu_step_size" value="1.2"/>
+        <param name="nu_stop" value="0.4"/>
+        <param name="sigma_start" value="5.0"/>
+        <param name="sigma_step_size" value="1.221055"/>
+        <param name="sigma_stop" value="5.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="RTModel_4_input.txt" ftype="txt"/>
+      <output name="out" file="RTModel_4_output.tmp" compare="sim_size" delta="5700" ftype="txt"/>
+      <param name="svm_type" value="NU_SVR"/>
+      <param name="nu" value="0.5"/>
+      <param name="p" value="0.1"/>
+      <param name="c" value="0.001953125"/>
+      <param name="kernel_type" value="OLIGO"/>
+      <param name="degree" value="1"/>
+      <param name="border_length" value="22"/>
+      <param name="max_std" value="10.0"/>
+      <param name="k_mer_length" value="1"/>
+      <param name="sigma" value="1.0"/>
+      <param name="total_gradient_time" value="1.0"/>
+      <param name="first_dim_rt" value="false"/>
+      <param name="additive_cv" value="false"/>
+      <section name="cv">
+        <param name="skip_cv" value="false"/>
+        <param name="number_of_runs" value="1"/>
+        <param name="number_of_partitions" value="5"/>
+        <param name="degree_start" value="1"/>
+        <param name="degree_step_size" value="2"/>
+        <param name="degree_stop" value="4"/>
+        <param name="p_start" value="1.0"/>
+        <param name="p_step_size" value="10.0"/>
+        <param name="p_stop" value="1000.0"/>
+        <param name="c_start" value="0.001953125"/>
+        <param name="c_step_size" value="2.0"/>
+        <param name="c_stop" value="0.001953125"/>
+        <param name="nu_start" value="0.4"/>
+        <param name="nu_step_size" value="1.2"/>
+        <param name="nu_stop" value="0.4"/>
+        <param name="sigma_start" value="5.0"/>
+        <param name="sigma_step_size" value="1.221055"/>
+        <param name="sigma_stop" value="5.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SeedListGenerator">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="PepXMLFile_test.mzML"/>
+      <output name="out" file="SeedListGenerator_1_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="use_peptide_mass" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDMapper_1_output.featureXML"/>
+      <output name="out" file="SeedListGenerator_2_output.featureXML" compare="sim_size" delta="5700" ftype="featurexml"/>
+      <param name="use_peptide_mass" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SemanticValidator">
+</xml>
+  <xml name="autotest_SequenceCoverageCalculator">
+</xml>
+  <xml name="autotest_SimpleSearchEngine">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SimpleSearchEngine_1.mzML"/>
+      <param name="database" value="SimpleSearchEngine_1.fasta"/>
+      <output name="out" file="SimpleSearchEngine_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <section name="Search">
+        <param name="enzyme" value="Trypsin"/>
+        <section name="precursor">
+          <param name="mass_tolerance" value="5.0"/>
+          <param name="mass_tolerance_unit" value="ppm"/>
+          <param name="min_charge" value="2"/>
+          <param name="max_charge" value="5"/>
+          <param name="isotopes" value="0 1"/>
+        </section>
+        <section name="fragment">
+          <param name="mass_tolerance" value="0.3"/>
+          <param name="mass_tolerance_unit" value="Da"/>
+        </section>
+        <section name="modifications">
+          <param name="fixed" value=""/>
+          <param name="variable" value="Oxidation (M)"/>
+          <param name="variable_max_per_peptide" value="2"/>
+        </section>
+        <section name="peptide">
+          <param name="min_size" value="7"/>
+          <param name="max_size" value="40"/>
+          <param name="missed_cleavages" value="1"/>
+          <param name="motif" value=""/>
+        </section>
+        <section name="report">
+          <param name="top_hits" value="1"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SiriusAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_1_input.mzML"/>
+      <output name="out_sirius" file="SiriusAdapter_1_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="true"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_2_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_2_input.featureXML"/>
+      <output name="out_sirius" file="SiriusAdapter_2_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="3"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="true"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="true"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_3_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_3_input.featureXML"/>
+      <output name="out_sirius" file="SiriusAdapter_3_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="3"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="true"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_3_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_3_input.featureXML"/>
+      <output name="out_ms" file="SiriusAdapter_5_output.ms" compare="sim_size" delta="5700" ftype="sirius.ms"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_ms_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_4_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>
+      <output name="out_ms" file="SiriusAdapter_6_output.ms" compare="sim_size" delta="5700" ftype="sirius.ms"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_ms_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_4_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_4_input.featureXML"/>
+      <output name="out_sirius" file="SiriusAdapter_7_output.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="true"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="false"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="converter_mode" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SiriusAdapter_2_input.mzML"/>
+      <param name="in_featureinfo" value="SiriusAdapter_2_input.featureXML"/>
+      <output name="out_sirius" file="SiriusAdapter_4_output.tmp" compare="sim_size" delta="5700" ftype="mztab"/>
+      <output name="out_fingerid" file="SiriusAdapter_4_foutput.mzTab" compare="sim_size" delta="5700" ftype="mztab"/>
+      <param name="out_workspace_directory" value=""/>
+      <section name="preprocessing">
+        <param name="filter_by_num_masstraces" value="1"/>
+        <param name="precursor_mz_tolerance" value="0.005"/>
+        <param name="precursor_mz_tolerance_unit" value="Da"/>
+        <param name="precursor_rt_tolerance" value="5"/>
+        <param name="isotope_pattern_iterations" value="3"/>
+        <param name="feature_only" value="false"/>
+        <param name="no_masstrace_info_isotope_pattern" value="false"/>
+      </section>
+      <section name="sirius">
+        <param name="profile" value="qtof"/>
+        <param name="candidates" value="5"/>
+        <param name="database" value="all"/>
+        <param name="noise" value="0"/>
+        <param name="ppm_max" value="10"/>
+        <param name="isotope" value="both"/>
+        <param name="elements" value="CHNOP[5]S[8]Cl[1]"/>
+        <param name="compound_timeout" value="10"/>
+        <param name="tree_timeout" value="0"/>
+        <param name="top_n_hits" value="10"/>
+        <param name="cores" value="1"/>
+        <param name="auto_charge" value="true"/>
+        <param name="ion_tree" value="false"/>
+        <param name="no_recalibration" value="false"/>
+        <param name="most_intense_ms2" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_sirius_FLAG,out_fingerid_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SpecLibCreator">
+</xml>
+  <xml name="autotest_SpecLibSearcher">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SpecLibSearcher_1.mzML"/>
+      <param name="lib" value="SpecLibSearcher_1.MSP"/>
+      <output_collection name="out" count="1"/>
+      <param name="compare_function" value="ZhangSimilarityScore"/>
+      <section name="precursor">
+        <param name="mass_tolerance" value="3.0"/>
+        <param name="mass_tolerance_unit" value="Da"/>
+        <param name="min_charge" value="1"/>
+        <param name="max_charge" value="5"/>
+        <param name="isotopes" value="0 1"/>
+      </section>
+      <section name="fragment">
+        <param name="mass_tolerance" value="10.0"/>
+      </section>
+      <section name="report">
+        <param name="top_hits" value="10"/>
+      </section>
+      <section name="filter">
+        <param name="remove_peaks_below_threshold" value="2.01"/>
+        <param name="min_peaks" value="5"/>
+        <param name="max_peaks" value="150"/>
+        <param name="cut_peaks_below" value="1000"/>
+      </section>
+      <section name="modifications">
+        <param name="fixed" value=""/>
+        <param name="variable" value=""/>
+        <param name="variable_max_per_peptide" value="2"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SpectraFilterBernNorm">
+</xml>
+  <xml name="autotest_SpectraFilterMarkerMower">
+</xml>
+  <xml name="autotest_SpectraFilterNLargest">
+</xml>
+  <xml name="autotest_SpectraFilterNormalizer">
+</xml>
+  <xml name="autotest_SpectraFilterParentPeakMower">
+</xml>
+  <xml name="autotest_SpectraFilterScaler">
+</xml>
+  <xml name="autotest_SpectraFilterSqrtMower">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+      <output name="out" file="SpectraFilterSqrtMower_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SpectraFilterThresholdMower">
+</xml>
+  <xml name="autotest_SpectraFilterWindowMower">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SpectraFilterWindowMower_1_input.mzML"/>
+      <output name="out" file="SpectraFilterWindowMower_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="windowsize" value="50.0"/>
+        <param name="peakcount" value="2"/>
+        <param name="movetype" value="slide"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="SpectraFilterWindowMower_2_input.mzML"/>
+      <output name="out" file="SpectraFilterWindowMower_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <section name="algorithm">
+        <param name="windowsize" value="20.0"/>
+        <param name="peakcount" value="4"/>
+        <param name="movetype" value="slide"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_SpectraMerger">
+</xml>
+  <xml name="autotest_SpectraSTSearchAdapter"/>
+  <xml name="autotest_SvmTheoreticalSpectrumGeneratorTrainer">
+</xml>
+  <xml name="autotest_TargetedFileConverter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_1_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_2_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_2_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="minutes"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_2_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_3_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="seconds"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_4_input.mrm" ftype="mrm"/>
+      <output name="out" file="ConvertTSVToTraML_4_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_5_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_5_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_6_input.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_6_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_7_input_Skyline.tsv" ftype="tabular"/>
+      <output name="out" file="ConvertTSVToTraML_7_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_1_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_1_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_1_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_2_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_3_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_3_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="true"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_3_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_4_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_10_output.TraML.tmp"/>
+      <output name="out" file="TargetedFileConverter_10_output.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="tsv"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_11_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_11_input.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_8_output.TraML.tmp"/>
+      <output name="out" file="TargetedFileConverter_8_input.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="tsv"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="true"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_9_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_9_input.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="true"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_output.TraML"/>
+      <output name="out" file="ConvertTraMLToTSV_output.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="tsv"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_12_output.pqp.tmp"/>
+      <output name="out" file="TargetedFileConverter_12_input.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="true"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TargetedFileConverter_12_input.tsv" ftype="tabular"/>
+      <output name="out" file="TargetedFileConverter_13_output.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="TraML"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="ConvertTSVToTraML_5_output.TraML"/>
+      <output name="out" file="ConvertTraMLToTSV_output_2.tmp.tsv" compare="sim_size" delta="5700" ftype="tabular"/>
+      <param name="out_type" value="tsv"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="legacy_traml_id" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="AssayGeneratorMetabo_ams_uku_output_consensus.tsv" ftype="tabular"/>
+      <output name="out" file="AssayGeneratorMetabo_ams_uku_output_consensus_traml.tmp.TraML" compare="sim_size" delta="5700" ftype="traml"/>
+      <param name="out_type" value="traml"/>
+      <section name="algorithm">
+        <param name="retentionTimeInterpretation" value="iRT"/>
+        <param name="override_group_label_check" value="false"/>
+        <param name="force_invalid_mods" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_TextExporter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_1_input.featureXML"/>
+      <output name="out" file="TextExporter_1_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="5">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_2_input.consensusXML"/>
+      <output name="out" file="TextExporter_2_consensus_tsv.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="true"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="RT_then_MZ"/>
+        <param name="sort_by_maps" value="true"/>
+        <param name="sort_by_size" value="true"/>
+      </section>
+      <output name="consensus_centroids" file="TextExporter_2_consensus_centroids.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="consensus_elements" file="TextExporter_2_consensus_elements.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <output name="consensus_features" file="TextExporter_2_consensus_features.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,centroids_FLAG,elements_FLAG,features_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_3_input.idXML"/>
+      <output name="out" file="TextExporter_3_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_3_input.idXML"/>
+      <output name="out" file="TextExporter_4_output_proteins.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="true"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_5_input.idXML"/>
+      <output name="out" file="TextExporter_5_output_peptides.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="true"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="true"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_6_input.featureXML"/>
+      <output name="out" file="TextExporter_6_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="true"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_7_input.consensusXML"/>
+      <output name="out" file="TextExporter_7_consensus_tsv.tmp" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="RT_then_MZ"/>
+        <param name="sort_by_maps" value="true"/>
+        <param name="sort_by_size" value="true"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_1_input.featureXML"/>
+      <output name="out" file="TextExporter_8_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="true"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+        <param name="add_hit_metavalues" value="-1"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TextExporter_9_input.idXML"/>
+      <output name="out" file="TextExporter_9_output.txt" compare="sim_size" delta="5700" ftype="csv"/>
+      <param name="separator" value=""/>
+      <param name="replacement" value="_"/>
+      <param name="quoting" value="none"/>
+      <param name="no_ids" value="false"/>
+      <section name="feature">
+        <param name="minimal" value="false"/>
+        <param name="add_metavalues" value="-1"/>
+      </section>
+      <section name="id">
+        <param name="proteins_only" value="false"/>
+        <param name="peptides_only" value="false"/>
+        <param name="protein_groups" value="false"/>
+        <param name="first_dim_rt" value="false"/>
+        <param name="add_metavalues" value="0"/>
+        <param name="add_hit_metavalues" value="0"/>
+        <param name="add_protein_hit_metavalues" value="-1"/>
+      </section>
+      <section name="consensus">
+        <param name="sorting_method" value="none"/>
+        <param name="sort_by_maps" value="false"/>
+        <param name="sort_by_size" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_TICCalculator">
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="regular"/>
+      <param name="loadData" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="streaming"/>
+      <param name="loadData" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="streaming"/>
+      <param name="loadData" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="indexed"/>
+      <param name="loadData" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MapNormalizer_output.mzML"/>
+      <param name="read_method" value="indexed_parallel"/>
+      <param name="loadData" value="true"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_TOFCalibration">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TOFCalibration_1_input.mzML"/>
+      <output name="out" file="TOFCalibration_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="ext_calibrants" value="TOFCalibration_1_calibrants.mzML"/>
+      <param name="ref_masses" value="TOFCalibration_ref_masses.txt" ftype="txt"/>
+      <param name="tof_const" value="TOFCalibration_const.csv" ftype="csv"/>
+      <param name="peak_data" value="false"/>
+      <section name="algorithm">
+        <section name="PeakPicker">
+          <param name="signal_to_noise" value="3.0"/>
+          <param name="centroid_percentage" value="0.6"/>
+          <param name="peak_width" value="0.15"/>
+          <param name="estimate_peak_width" value="false"/>
+          <param name="fwhm_lower_bound_factor" value="0.7"/>
+          <param name="fwhm_upper_bound_factor" value="20.0"/>
+          <section name="optimization">
+            <param name="iterations" value="400"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="left_width" value="1.0"/>
+              <param name="right_width" value="1.0"/>
+              <param name="height" value="1.0"/>
+            </section>
+            <section name="2d">
+              <param name="tolerance_mz" value="2.2"/>
+              <param name="max_peak_distance" value="1.2"/>
+            </section>
+          </section>
+          <section name="thresholds">
+            <param name="peak_bound" value="400.0"/>
+            <param name="peak_bound_ms2_level" value="10.0"/>
+            <param name="correlation" value="0.0"/>
+            <param name="noise_level" value="0.1"/>
+            <param name="search_radius" value="3"/>
+          </section>
+          <section name="wavelet_transform">
+            <param name="spacing" value="0.001"/>
+          </section>
+          <section name="deconvolution">
+            <param name="deconvolution" value="false"/>
+            <param name="asym_threshold" value="0.3"/>
+            <param name="left_width" value="2.0"/>
+            <param name="right_width" value="2.0"/>
+            <param name="scaling" value="0.12"/>
+            <section name="fitting">
+              <param name="fwhm_threshold" value="0.7"/>
+              <param name="eps_abs" value="9.999999747378752e-06"/>
+              <param name="eps_rel" value="9.999999747378752e-06"/>
+              <param name="max_iteration" value="10"/>
+              <section name="penalties">
+                <param name="position" value="0.0"/>
+                <param name="height" value="1.0"/>
+                <param name="left_width" value="0.0"/>
+                <param name="right_width" value="0.0"/>
+              </section>
+            </section>
+          </section>
+          <section name="SignalToNoiseEstimationParameter">
+            <param name="max_intensity" value="-1"/>
+            <param name="auto_max_stdev_factor" value="3.0"/>
+            <param name="auto_max_percentile" value="95"/>
+            <param name="auto_mode" value="0"/>
+            <param name="win_len" value="200.0"/>
+            <param name="bin_count" value="30"/>
+            <param name="stdev_mp" value="3.0"/>
+            <param name="min_required_elements" value="10"/>
+            <param name="noise_for_empty_window" value="1e+20"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="TOFCalibration_2_input.mzML"/>
+      <output name="out" file="TOFCalibration_2_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+      <param name="ext_calibrants" value="TOFCalibration_2_calibrants.mzML"/>
+      <param name="ref_masses" value="TOFCalibration_ref_masses.txt" ftype="txt"/>
+      <param name="tof_const" value="TOFCalibration_const.csv" ftype="csv"/>
+      <param name="peak_data" value="true"/>
+      <section name="algorithm">
+        <section name="PeakPicker">
+          <param name="signal_to_noise" value="3.0"/>
+          <param name="centroid_percentage" value="0.6"/>
+          <param name="peak_width" value="0.15"/>
+          <param name="estimate_peak_width" value="false"/>
+          <param name="fwhm_lower_bound_factor" value="0.7"/>
+          <param name="fwhm_upper_bound_factor" value="20.0"/>
+          <section name="optimization">
+            <param name="iterations" value="400"/>
+            <section name="penalties">
+              <param name="position" value="0.0"/>
+              <param name="left_width" value="1.0"/>
+              <param name="right_width" value="1.0"/>
+              <param name="height" value="1.0"/>
+            </section>
+            <section name="2d">
+              <param name="tolerance_mz" value="2.2"/>
+              <param name="max_peak_distance" value="1.2"/>
+            </section>
+          </section>
+          <section name="thresholds">
+            <param name="peak_bound" value="400.0"/>
+            <param name="peak_bound_ms2_level" value="10.0"/>
+            <param name="correlation" value="0.0"/>
+            <param name="noise_level" value="0.1"/>
+            <param name="search_radius" value="3"/>
+          </section>
+          <section name="wavelet_transform">
+            <param name="spacing" value="0.001"/>
+          </section>
+          <section name="deconvolution">
+            <param name="deconvolution" value="false"/>
+            <param name="asym_threshold" value="0.3"/>
+            <param name="left_width" value="2.0"/>
+            <param name="right_width" value="2.0"/>
+            <param name="scaling" value="0.12"/>
+            <section name="fitting">
+              <param name="fwhm_threshold" value="0.7"/>
+              <param name="eps_abs" value="9.999999747378752e-06"/>
+              <param name="eps_rel" value="9.999999747378752e-06"/>
+              <param name="max_iteration" value="10"/>
+              <section name="penalties">
+                <param name="position" value="0.0"/>
+                <param name="height" value="1.0"/>
+                <param name="left_width" value="0.0"/>
+                <param name="right_width" value="0.0"/>
+              </section>
+            </section>
+          </section>
+          <section name="SignalToNoiseEstimationParameter">
+            <param name="max_intensity" value="-1"/>
+            <param name="auto_max_stdev_factor" value="3.0"/>
+            <param name="auto_max_percentile" value="95"/>
+            <param name="auto_mode" value="0"/>
+            <param name="win_len" value="200.0"/>
+            <param name="bin_count" value="30"/>
+            <param name="stdev_mp" value="3.0"/>
+            <param name="min_required_elements" value="10"/>
+            <param name="noise_for_empty_window" value="1e+20"/>
+          </section>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_TransformationEvaluation">
+</xml>
+  <xml name="autotest_XFDR">
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in1.idXML"/>
+      <output name="out_idXML" file="XFDR_test_out1_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out1_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out1_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in1.idXML"/>
+      <output name="out_idXML" file="XFDR_test_out2_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out2_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out2_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="true"/>
+      <param name="no_qvalues" value="true"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in2.xquest.xml"/>
+      <output name="out_idXML" file="XFDR_test_out3_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out3_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out3_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="0.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in2.xquest.xml"/>
+      <output name="out_idXML" file="XFDR_test_out4_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out4_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out4_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-3.0"/>
+      <param name="maxborder" value="3.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in3.xquest.xml"/>
+      <output name="out_idXML" file="XFDR_test_out5_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out5_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out5_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-3.0"/>
+      <param name="maxborder" value="3.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in4.idXML"/>
+      <output name="out_idXML" file="XFDR_test_out6_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="false"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="-10.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="4">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="XFDR_test_in2.xquest.xml"/>
+      <output name="out_idXML" file="XFDR_test_out7_temp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="out_mzIdentML" file="XFDR_test_out7_temp.mzid" compare="sim_size" delta="5700" ftype="mzid"/>
+      <output name="out_xquest" file="XFDR_test_out7_temp.xquest.xml" compare="sim_size" delta="5700" ftype="xquest.xml"/>
+      <param name="decoy_string" value="DECOY_"/>
+      <param name="minborder" value="-50.0"/>
+      <param name="maxborder" value="50.0"/>
+      <param name="mindeltas" value="0.0"/>
+      <param name="minionsmatched" value="0"/>
+      <param name="uniquexl" value="true"/>
+      <param name="no_qvalues" value="false"/>
+      <param name="minscore" value="0.0"/>
+      <param name="binsize" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_idXML_FLAG,out_mzIdentML_FLAG,out_xquest_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+  <xml name="autotest_XMLValidator">
+</xml>
+  <xml name="autotest_XTandemAdapter">
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="XTandemAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="default_config_file" value="CHEMISTRY/XTandem_default_input.xml"/>
+      <param name="ignore_adapter_param" value="false"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="fragment_mass_tolerance" value="0.3"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="fragment_error_units" value="Da"/>
+      <param name="max_precursor_charge" value="0"/>
+      <param name="no_isotope_error" value="false"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="minimum_fragment_mz" value="150.0"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="missed_cleavages" value="1"/>
+      <param name="semi_cleavage" value="false"/>
+      <param name="output_results" value="all"/>
+      <param name="max_valid_expect" value="0.1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="XTandemAdapter_2_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <param name="default_config_file" value="CHEMISTRY/XTandem_default_input.xml"/>
+      <param name="ignore_adapter_param" value="false"/>
+      <param name="precursor_mass_tolerance" value="5.0"/>
+      <param name="fragment_mass_tolerance" value="0.3"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="fragment_error_units" value="Da"/>
+      <param name="max_precursor_charge" value="0"/>
+      <param name="no_isotope_error" value="false"/>
+      <param name="fixed_modifications" value=""/>
+      <param name="variable_modifications" value="Oxidation (M)"/>
+      <param name="minimum_fragment_mz" value="150.0"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="missed_cleavages" value="1"/>
+      <param name="semi_cleavage" value="false"/>
+      <param name="output_results" value="valid"/>
+      <param name="max_valid_expect" value="1e-14"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+  </xml>
+<xml name="autotest_IDDecoyProbability"/><xml name="autotest_PTPredict"/><xml name="autotest_OpenSwathDIAPreScoring"/><xml name="autotest_Digestor"/><xml name="autotest_InclusionExclusionListCreator"/><xml name="autotest_InspectAdapter"/><xml name="autotest_DigestorMotif"/><xml name="autotest_RTPredict"/><xml name="autotest_ProteomicsLFQ"/></macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_discarded_auto.xml	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,378 @@
+
+<xml name="manutest_OpenSwathFileSplitter">
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+  <output_collection name="adv_opts_cond.outputDirectory" count=""/>
+  <output name="out_qc" file="OpenSwathFileSplitter_1.json" compare="sim_size" delta="5700" ftype="json"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_qc_FLAG"/>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test></xml>
+<xml name="manutest_IDRipper">
+<test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRipper_1_input.idXML"/>
+      <output_collection name="out_path" count=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRipper_2_input.idXML"/>
+      <output_collection name="out_path" count=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="IDRipper_3_output.idXML"/>
+      <output_collection name="out_path" count=""/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_MzMLSplitter">
+<test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output_collection name="out" count=""/>
+      <param name="parts" value="2"/>
+      <param name="size" value="0"/>
+      <param name="unit" value="MB"/>
+      <param name="no_chrom" value="false"/>
+      <param name="no_spec" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="1">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="FileFilter_1_input.mzML"/>
+      <output_collection name="out" count=""/>
+      <param name="parts" value="1"/>
+      <param name="size" value="40"/>
+      <param name="unit" value="KB"/>
+      <param name="no_chrom" value="false"/>
+      <param name="no_spec" value="false"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_MSFraggerAdapter">
+<test expect_num_outputs="3">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="java_heapmemory" value="2600"/>
+      <param name="in" value="spectra.mzML"/>
+      <output name="out" file="MSFraggerAdapter_7_out_tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <output name="opt_out" file="MSFraggerAdapter_7_opt_out_tmp.pepXML" compare="sim_size" delta="5700" ftype="pepxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <section name="tolerance">
+        <param name="precursor_mass_tolerance" value="20.0"/>
+        <param name="precursor_mass_unit" value="ppm"/>
+        <param name="precursor_true_tolerance" value="0.0"/>
+        <param name="precursor_true_unit" value="ppm"/>
+        <param name="fragment_mass_tolerance" value="20.0"/>
+        <param name="fragment_mass_unit" value="ppm"/>
+        <param name="isotope_error" value="0"/>
+      </section>
+      <section name="digest">
+        <param name="search_enzyme_name" value="Trypsin"/>
+        <param name="search_enzyme_cutafter" value="KR"/>
+        <param name="search_enzyme_nocutbefore" value="P"/>
+        <param name="num_enzyme_termini" value="semi"/>
+        <param name="allowed_missed_cleavage" value="2"/>
+        <param name="min_length" value="7"/>
+        <param name="max_length" value="64"/>
+        <param name="mass_range_min" value="500.0"/>
+        <param name="mass_range_max" value="5000.0"/>
+      </section>
+      <section name="varmod">
+        <param name="clip_nterm_m" value="false"/>
+        <param name="masses" value=""/>
+        <param name="syntaxes" value=""/>
+        <param name="enable_common" value="true"/>
+        <param name="not_allow_multiple_variable_mods_on_residue" value="false"/>
+        <param name="max_variable_mods_per_mod" value="2"/>
+        <param name="max_variable_mods_combinations" value="5000"/>
+      </section>
+      <section name="spectrum">
+        <param name="minimum_peaks" value="10"/>
+        <param name="use_topn_peaks" value="50"/>
+        <param name="minimum_ratio" value="0.0"/>
+        <param name="clear_mz_range_min" value="0.0"/>
+        <param name="clear_mz_range_max" value="0.0"/>
+        <param name="max_fragment_charge" value="2"/>
+        <param name="override_charge" value="false"/>
+        <param name="precursor_charge_min" value="1"/>
+        <param name="precursor_charge_max" value="4"/>
+      </section>
+      <section name="search">
+        <param name="track_zero_topn" value="0"/>
+        <param name="zero_bin_accept_expect" value="0.0"/>
+        <param name="zero_bin_mult_expect" value="1.0"/>
+        <param name="add_topn_complementary" value="0"/>
+        <param name="min_fragments_modeling" value="3"/>
+        <param name="min_matched_fragments" value="4"/>
+        <param name="output_report_topn" value="1"/>
+        <param name="output_max_expect" value="50.0"/>
+      </section>
+      <section name="statmod">
+        <param name="add_cterm_peptide" value="0.0"/>
+        <param name="add_nterm_peptide" value="0.0"/>
+        <param name="add_cterm_protein" value="0.0"/>
+        <param name="add_nterm_protein" value="0.0"/>
+        <param name="add_G_glycine" value="0.0"/>
+        <param name="add_A_alanine" value="0.0"/>
+        <param name="add_S_serine" value="0.0"/>
+        <param name="add_P_proline" value="0.0"/>
+        <param name="add_V_valine" value="0.0"/>
+        <param name="add_T_threonine" value="0.0"/>
+        <param name="add_C_cysteine" value="57.021464"/>
+        <param name="add_L_leucine" value="0.0"/>
+        <param name="add_I_isoleucine" value="0.0"/>
+        <param name="add_N_asparagine" value="0.0"/>
+        <param name="add_D_aspartic_acid" value="0.0"/>
+        <param name="add_Q_glutamine" value="0.0"/>
+        <param name="add_K_lysine" value="0.0"/>
+        <param name="add_E_glutamic_acid" value="0.0"/>
+        <param name="add_M_methionine" value="0.0"/>
+        <param name="add_H_histidine" value="0.0"/>
+        <param name="add_F_phenylalanine" value="0.0"/>
+        <param name="add_R_arginine" value="0.0"/>
+        <param name="add_Y_tyrosine" value="0.0"/>
+        <param name="add_W_tryptophan" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,opt_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="java_heapmemory" value="2600"/>
+      <param name="in" value="spectra_comet.mzML"/>
+      <output name="out" file="MSFraggerAdapter_8_out_tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="database" value="proteins.fasta"/>
+      <section name="tolerance">
+        <param name="precursor_mass_tolerance" value="20.0"/>
+        <param name="precursor_mass_unit" value="ppm"/>
+        <param name="precursor_true_tolerance" value="0.0"/>
+        <param name="precursor_true_unit" value="ppm"/>
+        <param name="fragment_mass_tolerance" value="20.0"/>
+        <param name="fragment_mass_unit" value="ppm"/>
+        <param name="isotope_error" value="0"/>
+      </section>
+      <section name="digest">
+        <param name="search_enzyme_name" value="Trypsin"/>
+        <param name="search_enzyme_cutafter" value="KR"/>
+        <param name="search_enzyme_nocutbefore" value="P"/>
+        <param name="num_enzyme_termini" value="semi"/>
+        <param name="allowed_missed_cleavage" value="2"/>
+        <param name="min_length" value="7"/>
+        <param name="max_length" value="64"/>
+        <param name="mass_range_min" value="500.0"/>
+        <param name="mass_range_max" value="5000.0"/>
+      </section>
+      <section name="varmod">
+        <param name="clip_nterm_m" value="false"/>
+        <param name="masses" value=""/>
+        <param name="syntaxes" value=""/>
+        <param name="enable_common" value="true"/>
+        <param name="not_allow_multiple_variable_mods_on_residue" value="false"/>
+        <param name="max_variable_mods_per_mod" value="2"/>
+        <param name="max_variable_mods_combinations" value="5000"/>
+      </section>
+      <section name="spectrum">
+        <param name="minimum_peaks" value="10"/>
+        <param name="use_topn_peaks" value="50"/>
+        <param name="minimum_ratio" value="0.0"/>
+        <param name="clear_mz_range_min" value="0.0"/>
+        <param name="clear_mz_range_max" value="0.0"/>
+        <param name="max_fragment_charge" value="2"/>
+        <param name="override_charge" value="false"/>
+        <param name="precursor_charge_min" value="1"/>
+        <param name="precursor_charge_max" value="4"/>
+      </section>
+      <section name="search">
+        <param name="track_zero_topn" value="0"/>
+        <param name="zero_bin_accept_expect" value="0.0"/>
+        <param name="zero_bin_mult_expect" value="1.0"/>
+        <param name="add_topn_complementary" value="0"/>
+        <param name="min_fragments_modeling" value="3"/>
+        <param name="min_matched_fragments" value="4"/>
+        <param name="output_report_topn" value="1"/>
+        <param name="output_max_expect" value="50.0"/>
+      </section>
+      <section name="statmod">
+        <param name="add_cterm_peptide" value="0.0"/>
+        <param name="add_nterm_peptide" value="0.0"/>
+        <param name="add_cterm_protein" value="0.0"/>
+        <param name="add_nterm_protein" value="0.0"/>
+        <param name="add_G_glycine" value="0.0"/>
+        <param name="add_A_alanine" value="0.0"/>
+        <param name="add_S_serine" value="0.0"/>
+        <param name="add_P_proline" value="0.0"/>
+        <param name="add_V_valine" value="0.0"/>
+        <param name="add_T_threonine" value="0.0"/>
+        <param name="add_C_cysteine" value="57.021464"/>
+        <param name="add_L_leucine" value="0.0"/>
+        <param name="add_I_isoleucine" value="0.0"/>
+        <param name="add_N_asparagine" value="0.0"/>
+        <param name="add_D_aspartic_acid" value="0.0"/>
+        <param name="add_Q_glutamine" value="0.0"/>
+        <param name="add_K_lysine" value="0.0"/>
+        <param name="add_E_glutamic_acid" value="0.0"/>
+        <param name="add_M_methionine" value="0.0"/>
+        <param name="add_H_histidine" value="0.0"/>
+        <param name="add_F_phenylalanine" value="0.0"/>
+        <param name="add_R_arginine" value="0.0"/>
+        <param name="add_Y_tyrosine" value="0.0"/>
+        <param name="add_W_tryptophan" value="0.0"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_MaRaClusterAdapter">
+<test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="verbose" value="2"/>
+        <param name="precursor_tolerance" value="20.0"/>
+        <param name="precursor_tolerance_units" value="ppm"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="MaRaClusterAdapter_1_in_1.mzML,MaRaClusterAdapter_1_in_2.mzML"/>
+      <param name="id_in" value="MaRaClusterAdapter_1_in_3.idXML"/>
+      <output name="out" file="MaRaClusterAdapter_2_out_1.tmp.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="pcut" value="-10.0"/>
+      <param name="min_cluster_size" value="1"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_NovorAdapter">
+<test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="in" value="NovorAdapter_in.mzML"/>
+      <output name="out" file="NovorAdapter_1_out.idXML" compare="sim_size" delta="5700" ftype="idxml"/>
+      <param name="enzyme" value="Trypsin"/>
+      <param name="fragmentation" value="CID"/>
+      <param name="massAnalyzer" value="Trap"/>
+      <param name="fragment_mass_tolerance" value="0.5"/>
+      <param name="precursor_mass_tolerance" value="15.0"/>
+      <param name="precursor_error_units" value="ppm"/>
+      <param name="variable_modifications" value="Acetyl (K)"/>
+      <param name="fixed_modifications" value="Carbamidomethyl (C)"/>
+      <param name="forbiddenResidues" value="I"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
+<xml name="manutest_SpectraSTSearchAdapter">
+<test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="use_isotopically_averaged_mass" value="false"/>
+        <param name="use_all_charge_states" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="spectra_files" value="SpectrastAdapter_1_hack.mzML"/>
+      <param name="output_files_type" value="pep.xml"/>
+      <output_collection name="output_files" count="1"/>
+      <param name="library_file" value="testLib.splib" ftype="splib"/>
+      <param name="sequence_database_type" value="AA"/>
+      <param name="precursor_mz_tolerance" value="3.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test><test expect_num_outputs="2">
+      <conditional name="adv_opts_cond">
+        <param name="adv_opts_selector" value="advanced"/>
+        <param name="use_isotopically_averaged_mass" value="false"/>
+        <param name="use_all_charge_states" value="false"/>
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </conditional>
+      <param name="spectra_files" value="SpectrastAdapter_1_hack.mzML"/>
+      <param name="output_files_type" value="tsv"/>
+      <output_collection name="output_files" count="1"/>
+      <param name="library_file" value="testLib.splib" ftype="splib"/>
+      <param name="sequence_database_type" value="AA"/>
+      <param name="precursor_mz_tolerance" value="3.0"/>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test></xml>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_test.xml	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,549 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macros>
+    
+<!-- a copy of a FileConverter test without the advanced options used
+     in order to check if this works (all other tests enable advanced) -->
+<xml name="manutest_FileConverter">
+<test expect_num_outputs="1">
+  <param name="in" value="FileConverter_1_input.mzData"/>
+  <output name="out" file="FileConverter_1_output.mzML" compare="sim_size" delta="5700" ftype="mzml"/>
+  <param name="out_type" value="mzML"/>
+</test>
+</xml>
+<!-- tests contributed by the galaxyproteomics community -->
+<xml name="manutest_ClusterMassTracesByPrecursor">
+  <test expect_num_outputs="1"><!-- test with arbitarily chosen consensusXML -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in_ms1" ftype="consensusxml" value="ConsensusMapNormalizer_input.consensusXML"/>
+    <param name="in_swath" ftype="consensusxml" value="ConsensusMapNormalizer_input.consensusXML"/>
+    <output name="out" ftype="mzml" value="ClusterMassTracesByPrecursor.mzml"/>
+  </test>
+</xml>
+<xml name="manutest_ClusterMassTraces"> 
+  <test expect_num_outputs="1"><!-- test with arbitarily chosen consensusXML -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="consensusxml" value="ConsensusMapNormalizer_input.consensusXML"/>
+    <output name="out" ftype="mzml" value="ClusterMassTraces.mzml"/>
+  </test>
+</xml>
+<xml name="manutest_CVInspector">
+  <!-- test with https://raw.githubusercontent.com/HUPO-PSI/mzIdentML/master/cv/XLMOD.obo listed here https://www.psidev.info/groups/controlled-vocabularies, mapping file from share/OpenMS/MAPPING/ms-mapping.xml, see currently not working, see: https://github.com/OpenMS/OpenMS/pull/4425 -->
+  <test expect_num_outputs="1">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="cv_files" ftype="obo" value="CHEMISTRY/XLMOD.obo"/>
+    <param name="cv_names" value="XLMOD"/>
+    <param name="mapping_file" value="MAPPING/ms-mapping.xml"/>
+    <param name="OPTIONAL_OUTPUTS" value="html_FLAG"/>
+    <output name="html" ftype="html" value="CVInspector.html"/>
+  </test>
+</xml>
+<xml name="manutest_DeMeanderize">
+  <test expect_num_outputs="1"><!-- test with the output of a MSsimulator output generated by a test below -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="MSsimulator_MALDI.mzml"/>
+	<output name="out" ftype="mzml" value="DeMeanderize.mzml"/>
+  </test>
+</xml>
+<xml name="manutest_Digestor">
+  <test expect_num_outputs="1"><!-- just using some random fasta, in contrast to DigestorMotif idXML/fasta output possible, testing for the non-default fasta option -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="fasta" value="random.fa"/>
+    <output name="out" ftype="fasta" value="Digestor.fasta"/>
+    <param name="out_type" value="fasta"/>
+  </test>
+</xml>
+<xml name="manutest_EICExtractor">
+  <test expect_num_outputs="1"><!-- just using some random test data -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="spectra.mzML"/>
+    <param name="pos" ftype="edta" value="FileConverter_10_input.edta"/>
+    <output name="out" ftype="csv" value="EICExtractor.csv" lines_diff="2"/>
+  </test>
+</xml>
+<xml name="manutest_ERPairFinder">
+  <!-- TODO -->
+</xml>
+<xml name="manutest_FeatureFinderIsotopeWavelet">
+  <test expect_num_outputs="1"><!--just use the input of another FeatureFinder -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="FeatureFinderCentroided_1_input.mzML"/>
+    <output name="out" value="FeatureFinderIsotopeWavelet.featureXML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_FFEval">
+  <test expect_num_outputs="2"><!-- comparing an arbitarty FeatureFinder output with itself -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="FeatureFinderCentroided_1_output.featureXML"/>
+    <param name="truth" value="FeatureFinderCentroided_1_output.featureXML"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_FLAG,out_roc_FLAG"/>
+    <output name="out" value="FFEval.featureXML" compare="sim_size"/>
+	<output name="out_roc" value="FFEval_roc.csv" ftype="csv"/>
+  </test>
+</xml>
+<xml name="manutest_IDExtractor">
+  <test expect_num_outputs="1"><!--  -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="idxml" value="MSGFPlusAdapter_1_out.idXML"/>
+    <param name="best_hits" value="true"/>
+    <param name="number_of_peptides" value="1"/>
+    <output name="out" value="IDExtractor.idXML" compare="sim_size"/>
+  </test>
+</xml>
+<!-- adapted from macros_discarded_auto.xml (due to prefix-output)-->
+<xml name="manutest_IDRipper"> 
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="IDRipper_1_input.idXML"/>
+    <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output_collection name="out_path" count="2">
+    <element name="IDRipper_1_output_1" file="IDRipper_1_output1.idXML" ftype="idxml" compare="sim_size" delta="5700"/>
+    <element name="IDRipper_1_output_2" file="IDRipper_1_output2.idXML" ftype="idxml" compare="sim_size" delta="5700"/>
+  </output_collection>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test>
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="IDRipper_2_input.idXML"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output_collection name="out_path" count="2">
+    <element name="IDRipper_2_output1" file="IDRipper_2_output1.idXML" ftype="idxml"/>
+    <element name="IDRipper_2_output2" file="IDRipper_2_output2.idXML" ftype="idxml"/>
+  </output_collection>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test>
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="IDRipper_3_output.idXML"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output_collection name="out_path" count="2">
+    <element name="IDRipper_3_input1" file="IDRipper_3_input1.idXML" ftype="idxml"/>
+    <element name="IDRipper_3_input2" file="IDRipper_3_input2.idXML" ftype="idxml"/>
+  </output_collection>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test>
+</xml>
+<xml name="manutest_LabeledEval">
+  <test expect_num_outputs="1"><!-- comparing an arbitarty featureXML that has a corresponding consensusXML -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="FeatureLinkerLabeled_1_input.featureXML"/>
+    <param name="truth" value="FeatureLinkerLabeled_1_output.consensusXML"/>
+    <output name="stdout" value="LabeledEval.txt" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_MapStatistics">
+  <test expect_num_outputs="1"><!-- test with a featureXML input  -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="featurexml" value="SiriusAdapter_3_input.featureXML"/>
+    <output name="out" ftype="txt" value="MapStatistics.txt"/>
+  </test>
+  <test expect_num_outputs="1"><!-- test with a consensusxml input -->
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="consensusxml" value="ConsensusXMLFile_1.consensusXML"/>
+    <output name="out" ftype="txt" value="MapStatistics2.txt"/>
+  </test>
+</xml>
+<xml name="manutest_MetaboliteAdductDecharger">
+  <test expect_num_outputs="3"><!-- same input as used by Decharger -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="featurexml" value="Decharger_input.featureXML"/>
+    <output name="out_cm" ftype="consensusxml" value="MetaboliteAdductDecharger_cm.consensusXML" compare="sim_size"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_fm_FLAG,outpairs_FLAG"/>
+    <output name="out_fm" ftype="featurexml" value="MetaboliteAdductDecharger_fm.featureXML" compare="sim_size"/>
+    <output name="outpairs" ftype="consensusxml" value="MetaboliteAdductDecharger_pairs.consensusXML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_MetaboliteSpectralMatcher">
+    <!-- https://github.com/OpenMS/OpenMS/issues/2078 
+        https://github.com/OpenMS/OpenMS/pull/4468-->
+    <!-- same input as used in the MSGF+Adapter, should use database CHEMISTRY/MetaboliteSpectralDB.mzML -->
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter, used as input and database -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="spectra.mzML"/>
+    <param name="database" value="MetaboliteSpectralDB.mzML"/>
+    <output name="out" ftype="mztab" value="MetaboliteSpectralMatcher.mzTab"/>
+  </test>
+</xml>
+<xml name="manutest_MRMPairFinder">
+  <!-- TODO no idea about a useful input for pair_in -->
+</xml>
+<xml name="manutest_MSSimulator">
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="fasta" value="DecoyDatabase_1.fasta"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_FLAG"/>
+    <output name="out" ftype="mzml" value="MSsimulator.mzml" compare="sim_size" delta="1000000" delta_frac="0.1"/>
+    <param name="algorithm|RandomNumberGenerators|biological" value="reproducible"/>
+    <param name="algorithm|RandomNumberGenerators|technical" value="reproducible"/>
+  </test>
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter generate MALDI output for use in the test for DeMeanderize -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="fasta" value="DecoyDatabase_1.fasta"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_FLAG"/>
+    <output name="out" ftype="mzml" value="MSsimulator_MALDI.mzml" compare="sim_size" delta="1000000" delta_frac="0.1"/>
+    <param name="algorithm|RandomNumberGenerators|biological" value="reproducible"/>
+    <param name="algorithm|RandomNumberGenerators|technical" value="reproducible"/>
+    <param name="algorithm|MSSim|Global|ionization_type" value="MALDI"/>
+  </test>
+</xml>
+<!-- adapted from macros_discarded_auto.xml (due to prefix-output)-->
+<xml name="manutest_MzMLSplitter">
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="FileFilter_1_input.mzML"/>
+  <param name="parts" value="2"/>
+  <param name="size" value="0"/>
+  <param name="unit" value="MB"/>
+  <param name="no_chrom" value="false"/>
+  <param name="no_spec" value="false"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+  <output_collection name="out" type="list" count="2">
+    <element name="part1of2" file="MzMLSplitter_1_output_part1of2.mzML" ftype="mzml"/>
+    <element name="part2of2" file="MzMLSplitter_1_output_part2of2.mzML" ftype="mzml"/>
+  </output_collection>
+</test>
+<test expect_num_outputs="2">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="FileFilter_1_input.mzML"/>
+  <param name="parts" value="1"/>
+  <param name="size" value="40"/>
+  <param name="unit" value="KB"/>
+  <param name="no_chrom" value="false"/>
+  <param name="no_spec" value="false"/>
+  <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+  <output_collection name="out" type="list" count="2">
+    <element name="part1of2" file="MzMLSplitter_2_output_part1of2.mzML" ftype="mzml"/>
+    <element name="part2of2" file="MzMLSplitter_2_output_part2of2.mzML" ftype="mzml"/>
+  </output_collection>
+</test>
+</xml>
+<xml name="manutest_OpenSwathDIAPreScoring">
+  <!-- TODO data from a test that included all the needed test files 
+       currently unusable https://github.com/OpenMS/OpenMS/pull/4443 -->
+  <!-- data from a test that included all the needed test files -->
+<!--  <test>-->
+<!--    <param name="tr" value="OpenSwathWorkflow_1_input.TraML"/>-->
+<!--    <param name="swath_files" value="OpenSwathWorkflow_10.chrom.mzML.tmp"/> or OpenSwathAnalyzer_2_swathfile.mzML-->
+<!--    <output name="out" ftype="tabular" value="OpenSwathDIAPreScoring_2.tmp"/>-->
+<!--  </test>-->
+</xml>
+<!-- adapted from macros_discarded_auto.xml (due to prefix-output)-->
+<xml name="manutest_OpenSwathFileSplitter">
+<test expect_num_outputs="3">
+  <conditional name="adv_opts_cond">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="force" value="false"/>
+    <param name="test" value="true"/>
+  </conditional>
+  <param name="in" value="OpenSwathWorkflow_1_input.mzML"/>
+  <param name="OPTIONAL_OUTPUTS" value="out_qc_FLAG,ctd_out_FLAG"/>
+  <output_collection name="adv_opts_cond.outputDirectory" count="6">
+    <element name="OpenSwathWorkflow_1_input_mzML_4" file="openswath_tmpfile_4.mzML" ftype="mzml"/>
+    <element name="OpenSwathWorkflow_1_input_mzML_ms1" file="openswath_tmpfile_ms1.mzML" ftype="mzml"/>
+  </output_collection>
+  <output name="out_qc" file="OpenSwathFileSplitter_1.json" compare="sim_size" delta="5700" ftype="json"/>
+  <output name="ctd_out" ftype="xml">
+    <assert_contents>
+      <is_valid_xml/>
+    </assert_contents>
+  </output>
+</test>
+</xml>
+<xml name="manutest_OpenSwathRewriteToFeatureXML">
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter -->
+    <param name="featureXML" value="OpenSwathFeatureXMLToTSV_input.featureXML"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <output name="out" ftype="featurexml" value="OpenSwathRewriteToFeatureXML.featureXML"/>
+  </test>
+</xml>
+<xml name="manutest_PepNovoAdapter">
+  <test expect_num_outputs="1"><!-- adapted from (dysfunctional) OMS 3rdParty tests (but model selection
+             unclear https://github.com/OpenMS/OpenMS/issues/4719)-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="PepNovo_1.mzML"/>
+    <output name="out" ftype="idxml" value="PepNovoAdapter_3_output.idXML"/>
+    <param name="model" value="LTQ_COMP"/>
+  </test>
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="PepNovo_1.mzML"/>
+    <output name="out" ftype="idxml" value="PepNovoAdapter_3_output.idXML"/>
+    <param name="model" value="LTQ_COMP"/>
+  </test>
+</xml>
+<xml name="manutest_PhosphoScoring">
+  <test expect_num_outputs="1"><!-- same input as used in the MSGF+Adapter -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="spectra.mzML"/>
+    <param name="id" ftype="idxml" value="MSGFPlusAdapter_1_out1.tmp"/>
+    <output name="out" ftype="idxml" value="PhosphoScoring.idxml" compare="sim_size" delta="5700"/>
+  </test>
+</xml>
+<xml name="manutest_PSMFeatureExtractor">
+  <test expect_num_outputs="1"><!-- using the idXML outputs of two SearchAdapters that should be compatible -->
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="idxml" value="MSGFPlusAdapter_1_out.idXML,XTandemAdapter_1_out.idXML"/>
+    <param name="multiple_search_engines" value="true"/>
+    <param name="adv_opts_cond|adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|skip_db_check" value="true"/>
+    <param name="out_type" value="idxml"/>
+    <output name="out" ftype="idxml" value="PSMFeatureExtractor.idxml" compare="sim_size" delta="100"/>
+  </test>
+  <test expect_num_outputs="1"><!-- using the idXML outputs of two SearchAdapters that should be compatible -->
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="idxml" value="MSGFPlusAdapter_1_out.idXML,XTandemAdapter_1_out.idXML"/>
+    <param name="multiple_search_engines" value="true"/>
+    <param name="adv_opts_cond|adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|skip_db_check" value="true"/>
+    <param name="out_type" value="mzid"/>
+    <output name="out" ftype="mzid" value="PSMFeatureExtractor.mzid" compare="sim_size" delta="100" lines_diff="4"/>
+  </test>
+</xml>
+<xml name="manutest_QCCalculator">
+  <test expect_num_outputs="1"><!-- took test data from another test w mzML input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="OpenPepXL_input.mzML"/>
+    <output name="out" ftype="qcml" value="QCCalculator1.qcML" compare="sim_size" delta="250"/>
+  </test>
+  <test expect_num_outputs="1"><!-- took test data from another test w mzML,idXML,consensusXML input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="OpenPepXL_input.mzML"/>
+    <param name="id" ftype="idxml" value="OpenPepXL_output.idXML"/>
+    <param name="consensus" ftype="consensusxml" value="OpenPepXL_input.consensusXML"/>
+    <output name="out" ftype="qcml" value="QCCalculator2.qcML" compare="sim_size" delta="250"/>
+  </test>
+  <test expect_num_outputs="1"><!-- took test data from another test w mzML,idXML,featureXML input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="IDMapper_4_input.mzML"/>
+    <param name="id" ftype="idxml" value="IDMapper_4_input.idXML"/>
+    <param name="feature" ftype="featurexml" value="IDMapper_4_input.featureXML"/>
+    <output name="out" ftype="qcml" value="QCCalculator3.qcML" compare="sim_size" delta="250"/>
+  </test>
+</xml>
+<xml name="manutest_QCEmbedder">
+    <!--TODO-->
+</xml>
+<xml name="manutest_QCExporter">
+    <!--TODO-->
+</xml>
+<xml name="manutest_QCExtractor">
+    <!--TODO-->
+</xml>
+<xml name="manutest_QCImporter">
+    <!--TODO-->
+</xml>
+<xml name="manutest_QCMerger">
+  <test expect_num_outputs="1"><!-- just using 2 outputs from QCCalculator as input (no2 did not work) -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="qcml" value="QCCalculator1.qcML,QCCalculator3.qcML"/>
+    <output name="out" ftype="qcml" value="QCMerger.qcML"/>
+  </test>
+</xml>
+<xml name="manutest_QCShrinker">
+  <test expect_num_outputs="1"><!-- just using an output of QCCalculator as input  -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="qcml" value="QCCalculator1.qcML"/>
+    <output name="out" ftype="qcml" value="QCShrinker.qcML"/>
+  </test>
+</xml>
+<xml name="manutest_RNADigestor">
+  <test expect_num_outputs="1"><!--random RNAsequence input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="fasta" value="random_RNA.fa"/>
+    <output name="out" ftype="fasta" value="RNADigestor.fasta"/>
+  </test>
+</xml>
+<xml name="manutest_RNPxlXICFilter">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input (2x the same which is likely nonsense, but sufficient for the test) and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="control" ftype="mzml" value="FileFilter_1_input.mzML"/>
+    <param name="treatment" ftype="mzml" value="FileFilter_1_input.mzML"/>
+    <output name="out" ftype="mzml" value="RNPxlXICFilter.mzML"/>
+  </test>
+</xml>
+<xml name="manutest_RTEvaluation">
+  <!-- just chosen an arbitrary input and autgenerated output-->
+  <!-- https://github.com/OpenMS/OpenMS/pull/4429 -->
+  <test expect_num_outputs="1">
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="idxml" value="PeptideIndexer_1.idXML"/>
+    <output name="out" ftype="csv" value="RTEvaluation.tsv"/>
+  </test>
+</xml>
+<xml name="manutest_SemanticValidator">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input (same as XMLValidator) and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="FileFilter_1_input.mzML"/>
+    <param name="mapping_file" ftype="xml" value="MAPPING/ms-mapping.xml"/>
+    <output name="stdout" ftype="txt" value="SemanticValidator.stdout" lines_diff="4">
+       <assert_contents><has_text text="Congratulations, the file is valid!"/></assert_contents>
+    </output>
+  </test>
+</xml>
+<xml name="manutest_SequenceCoverageCalculator">
+  <test expect_num_outputs="1"><!-- took test data from another tool that also takes idXML and fasta as input -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in_database" value="PeptideIndexer_1.fasta" ftype="fasta"/>
+    <param name="in_peptides" value="SequenceCoverageCalculator_1.idXML" ftype="idxml"/>
+    <output name="out" value="SequenceCoverageCalculator.txt" ftype="txt" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpecLibCreator">
+  <!--TODO could not find test data -->
+</xml>
+<xml name="manutest_SpectraFilterBernNorm">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterBernNorm.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterMarkerMower">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterMarkerMower.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterNLargest">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterNLargest.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterNormalizer">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterNormalizer.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterParentPeakMower">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterParentPeakMower.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterScaler">
+  <test expect_num_outputs="1"> <!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterScaler.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraFilterThresholdMower">
+  <test expect_num_outputs="1"><!-- copy pasted from autotest_SpectraFilterWindowMower (1st test) and autogenrated output -->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" value="SpectraFilterSqrtMower_1_input.mzML"/>
+    <output name="out" value="SpectraFilterThresholdMower.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SpectraMerger">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="NovorAdapter_in.mzML"/>
+    <output name="out" ftype="mzml" value="SpectraMerger_1.mzML" compare="sim_size"/>
+  </test>
+</xml>
+<xml name="manutest_SvmTheoreticalSpectrumGeneratorTrainer">
+<!-- -TODO model_output_file creates multiple files-->
+</xml>
+<xml name="manutest_TransformationEvaluation">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="trafoxml" value="FileInfo_16_input.trafoXML"/>
+    <param name="OPTIONAL_OUTPUTS" value="out_FLAG"/>
+    <output name="out" ftype="trafoxml" value="TransformationEvaluation.trafoXML" compare="sim_size" delta="100000000"/>
+  </test>
+</xml>
+<xml name="manutest_XMLValidator">
+  <test expect_num_outputs="1"><!-- just chosen an arbitrary input and autgenerated output-->
+    <param name="adv_opts_selector" value="advanced"/>
+    <param name="adv_opts_cond|test" value="true"/>
+    <param name="in" ftype="mzml" value="FileFilter_1_input.mzML"/>
+    <output name="stdout" ftype="txt" value="XMLValidator.stdout" lines_diff="4">
+       <assert_contents><has_text text="Success: the file is valid!"/></assert_contents>
+    </output>
+  </test>
+</xml>
+<xml name="manutest_IDMapper"/><xml name="manutest_ProteinQuantifier"/><xml name="manutest_PeakPickerIterative"/><xml name="manutest_FeatureLinkerUnlabeledQT"/><xml name="manutest_TICCalculator"/><xml name="manutest_IDFilter"/><xml name="manutest_IDPosteriorErrorProbability"/><xml name="manutest_FeatureFinderIdentification"/><xml name="manutest_XFDR"/><xml name="manutest_OpenSwathWorkflow"/><xml name="manutest_MassCalculator"/><xml name="manutest_IDFileConverter"/><xml name="manutest_MultiplexResolver"/><xml name="manutest_FeatureFinderSuperHirn"/><xml name="manutest_AssayGeneratorMetabo"/><xml name="manutest_MassTraceExtractor"/><xml name="manutest_SiriusAdapter"/><xml name="manutest_IDMerger"/><xml name="manutest_MSstatsConverter"/><xml name="manutest_FileMerger"/><xml name="manutest_Decharger"/><xml name="manutest_PTPredict"/><xml name="manutest_XTandemAdapter"/><xml name="manutest_FeatureFinderMetabo"/><xml name="manutest_CruxAdapter"/><xml name="manutest_OpenSwathConfidenceScoring"/><xml name="manutest_PrecursorIonSelector"/><xml name="manutest_ConsensusMapNormalizer"/><xml name="manutest_RTPredict"/><xml name="manutest_PercolatorAdapter"/><xml name="manutest_ProteinInference"/><xml name="manutest_OpenSwathDecoyGenerator"/><xml name="manutest_TextExporter"/><xml name="manutest_FeatureFinderCentroided"/><xml name="manutest_DecoyDatabase"/><xml name="manutest_SpectraFilterWindowMower"/><xml name="manutest_NoiseFilterGaussian"/><xml name="manutest_MaRaClusterAdapter"/><xml name="manutest_ConsensusID"/><xml name="manutest_FileFilter"/><xml name="manutest_InclusionExclusionListCreator"/><xml name="manutest_FeatureLinkerUnlabeledKD"/><xml name="manutest_NovorAdapter"/><xml name="manutest_OpenPepXL"/><xml name="manutest_SeedListGenerator"/><xml name="manutest_FalseDiscoveryRate"/><xml name="manutest_OpenPepXLLF"/><xml name="manutest_SpecLibSearcher"/><xml name="manutest_IDConflictResolver"/><xml name="manutest_MRMMapper"/><xml name="manutest_OMSSAAdapter"/><xml name="manutest_ExternalCalibration"/><xml name="manutest_PeakPickerHiRes"/><xml name="manutest_MascotAdapter"/><xml name="manutest_FeatureFinderMultiplex"/><xml name="manutest_MetaProSIP"/><xml name="manutest_FuzzyDiff"/><xml name="manutest_TargetedFileConverter"/><xml name="manutest_MapAlignerIdentification"/><xml name="manutest_IDRTCalibration"/><xml name="manutest_MRMTransitionGroupPicker"/><xml name="manutest_RTModel"/><xml name="manutest_OpenSwathAssayGenerator"/><xml name="manutest_IDSplitter"/><xml name="manutest_OpenSwathMzMLFileCacher"/><xml name="manutest_HighResPrecursorMassCorrector"/><xml name="manutest_OpenSwathChromatogramExtractor"/><xml name="manutest_OpenSwathAnalyzer"/><xml name="manutest_FeatureLinkerUnlabeled"/><xml name="manutest_CompNovoCID"/><xml name="manutest_DTAExtractor"/><xml name="manutest_FileInfo"/><xml name="manutest_MapAlignerSpectrum"/><xml name="manutest_IsobaricAnalyzer"/><xml name="manutest_LowMemPeakPickerHiRes"/><xml name="manutest_MyriMatchAdapter"/><xml name="manutest_InternalCalibration"/><xml name="manutest_TOFCalibration"/><xml name="manutest_MSGFPlusAdapter"/><xml name="manutest_PTModel"/><xml name="manutest_InspectAdapter"/><xml name="manutest_SpectraFilterSqrtMower"/><xml name="manutest_SimpleSearchEngine"/><xml name="manutest_PeakPickerWavelet"/><xml name="manutest_MapNormalizer"/><xml name="manutest_IDScoreSwitcher"/><xml name="manutest_FeatureLinkerLabeled"/><xml name="manutest_MapRTTransformer"/><xml name="manutest_RNPxlSearch"/><xml name="manutest_PrecursorMassCorrector"/><xml name="manutest_MapAlignerPoseClustering"/><xml name="manutest_MzTabExporter"/><xml name="manutest_BaselineFilter"/><xml name="manutest_FeatureFinderMRM"/><xml name="manutest_MascotAdapterOnline"/><xml name="manutest_DatabaseFilter"/><xml name="manutest_ProteinResolver"/><xml name="manutest_OpenSwathFeatureXMLToTSV"/><xml name="manutest_FidoAdapter"/><xml name="manutest_AccurateMassSearch"/><xml name="manutest_CompNovo"/><xml name="manutest_LowMemPeakPickerHiResRandomAccess"/><xml name="manutest_OpenSwathRTNormalizer"/><xml name="manutest_PeptideIndexer"/><xml name="manutest_CometAdapter"/><xml name="manutest_NoiseFilterSGolay"/><xml name="manutest_MSFraggerAdapter"/><xml name="manutest_SpectraSTSearchAdapter"/><xml name="manutest_SequestAdapter"/><xml name="manutest_FeatureFinder"/><xml name="manutest_LuciphorAdapter"/><xml name="manutest_GNPSExport"/><xml name="manutest_Epifany"/><xml name="manutest_NucleicAcidSearchEngine"/><xml name="manutest_QualityControl"/><xml name="manutest_FeatureFinderMetaboIdent"/><xml name="manutest_RNAMassCalculator"/><xml name="manutest_MapAlignerTreeGuided"/><xml name="manutest_IDMassAccuracy"/><xml name="manutest_ProteomicsLFQ"/><xml name="manutest_IDDecoyProbability"/><xml name="manutest_DigestorMotif"/></macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/prepare_test_data.sh	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,1196 @@
+export COMET_BINARY="comet"
+export CRUX_BINARY="crux"
+export FIDOCHOOSEPARAMS_BINARY="FidoChooseParameters"
+export FIDO_BINARY="Fido"
+export LUCIPHOR_BINARY="$(dirname $(realpath $(which luciphor2)))/luciphor2.jar"
+export MARACLUSTER_BINARY="/tmp/openms-stuff//OpenMS2.5.0-git/THIRDPARTY/Linux/64bit/MaRaCluster/maracluster"
+export MSFRAGGER_BINARY="/home/berntm/Downloads/MSFragger-20171106/MSFragger-20171106.jar"
+export MSGFPLUS_BINARY="$(msgf_plus -get_jar_path)"
+export MYRIMATCH_BINARY="myrimatch"
+export NOVOR_BINARY="/home/berntm/Downloads/novor/lib/novor.jar"
+export OMSSA_BINARY="$(dirname $(realpath $(which omssacl)))/omssacl"
+export PERCOLATOR_BINARY="percolator"
+export SIRIUS_BINARY="$(which sirius)"
+export SPECTRAST_BINARY="spectrast"
+export XTANDEM_BINARY="xtandem"
+export THERMORAWFILEPARSER_BINARY="ThermoRawFileParser.exe"
+FuzzyDiff -test -ini FuzzyDiff.ini -in1 FuzzyDiff_3_in1.featureXML -in2 FuzzyDiff_3_in2.featureXML > UTILS_FuzzyDiff_3.stdout 2> UTILS_FuzzyDiff_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_FuzzyDiff_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_FuzzyDiff_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_FuzzyDiff_3.stdout)";fi
+IDMerger -test -in IDMerger_1_input1.idXML IDMerger_1_input2.idXML -out IDMerger_1_output.tmp -annotate_file_origin > TOPP_IDMerger_1.stdout 2> TOPP_IDMerger_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_1.stdout)";fi
+IDMerger -test -pepxml_protxml -in IDMerger_2_input1.idXML IDMerger_2_input2.idXML -out IDMerger_2_output.tmp > TOPP_IDMerger_2.stdout 2> TOPP_IDMerger_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_2.stdout)";fi
+IDMerger -test -in IDMerger_1_input1.idXML IDMerger_1_input1.idXML -out IDMerger_3_output.tmp > TOPP_IDMerger_3.stdout 2> TOPP_IDMerger_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_3.stdout)";fi
+IDMerger -test -in degenerated_empty.idXML degenerated_empty.idXML -out IDMerger_4_output.tmp > TOPP_IDMerger_4.stdout 2> TOPP_IDMerger_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_4.stdout)";fi
+IDMerger -test -in IDMerger_2_input1.idXML -add_to IDMerger_5_input1.idXML -out IDMerger_5_output.tmp > TOPP_IDMerger_5.stdout 2> TOPP_IDMerger_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMerger_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMerger_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMerger_5.stdout)";fi
+BaselineFilter -test -in BaselineFilter_input.mzML -out BaselineFilter.tmp -struc_elem_length 1.5 > TOPP_BaselineFilter_1.stdout 2> TOPP_BaselineFilter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_BaselineFilter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_BaselineFilter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_BaselineFilter_1.stdout)";fi
+ConsensusMapNormalizer -test -in ConsensusMapNormalizer_input.consensusXML -out ConsensusMapNormalizer.tmp > TOPP_ConsensusMapNormalizer_1.stdout 2> TOPP_ConsensusMapNormalizer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusMapNormalizer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusMapNormalizer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusMapNormalizer_1.stdout)";fi
+MapNormalizer -test -in MapNormalizer_input.mzML -out MapNormalizer.tmp > TOPP_MapNormalizer_1.stdout 2> TOPP_MapNormalizer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapNormalizer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapNormalizer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapNormalizer_1.stdout)";fi
+Decharger -test -in Decharger_input.featureXML -ini Decharger_input.ini -out_fm Decharger_output_fm.tmp -out_cm Decharger_output.tmp -outpairs Decharger_p_output.tmp > TOPP_Decharger_1.stdout 2> TOPP_Decharger_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_Decharger_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_Decharger_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_Decharger_1.stdout)";fi
+DTAExtractor -test -in DTAExtractor_1_input.mzML -out DTAExtractor -rt :61 > TOPP_DTAExtractor_1.stdout 2> TOPP_DTAExtractor_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_DTAExtractor_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_DTAExtractor_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_DTAExtractor_1.stdout)";fi
+DTAExtractor -test -in DTAExtractor_1_input.mzML -out DTAExtractor -level 1 > TOPP_DTAExtractor_2.stdout 2> TOPP_DTAExtractor_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_DTAExtractor_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_DTAExtractor_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_DTAExtractor_2.stdout)";fi
+DTAExtractor -test -in DTAExtractor_1_input.mzML -out DTAExtractor -level 2 -mz :1000 > TOPP_DTAExtractor_3.stdout 2> TOPP_DTAExtractor_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_DTAExtractor_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_DTAExtractor_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_DTAExtractor_3.stdout)";fi
+MassTraceExtractor -test -ini MassTraceExtractor.ini -in MassTraceExtractor_1_input.mzML -out MassTraceExtractor_1.tmp > TOPP_MassTraceExtractor_1.stdout 2> TOPP_MassTraceExtractor_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MassTraceExtractor_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MassTraceExtractor_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MassTraceExtractor_1.stdout)";fi
+MassTraceExtractor -test -ini MassTraceExtractor_2.ini -in MassTraceExtractor_1_input.mzML -out MassTraceExtractor_2.tmp > TOPP_MassTraceExtractor_2.stdout 2> TOPP_MassTraceExtractor_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MassTraceExtractor_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MassTraceExtractor_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MassTraceExtractor_2.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo.ini -in FeatureFinderMetabo_1_input.mzML -out FeatureFinderMetabo_1.tmp > TOPP_FeatureFinderMetabo_1.stdout 2> TOPP_FeatureFinderMetabo_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_1.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo_2_noEPD.ini -in FeatureFinderMetabo_2_input.mzML -out FeatureFinderMetabo_2.tmp > TOPP_FeatureFinderMetabo_2.stdout 2> TOPP_FeatureFinderMetabo_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_2.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo_3.ini -in FeatureFinderMetabo_3_input.mzML -out FeatureFinderMetabo_3.tmp -out_chrom FeatureFinderMetabo_3_chrom.tmp > TOPP_FeatureFinderMetabo_3.stdout 2> TOPP_FeatureFinderMetabo_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_3.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo_4.ini -in FeatureFinderMetabo_3_input.mzML -out FeatureFinderMetabo_4.tmp -out_chrom FeatureFinderMetabo_4_chrom.tmp > TOPP_FeatureFinderMetabo_4.stdout 2> TOPP_FeatureFinderMetabo_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_4.stdout)";fi
+FeatureFinderMetabo -test -ini FeatureFinderMetabo.ini -in FeatureFinderMetabo_1_input.mzML -out FeatureFinderMetabo_5.tmp -algorithm:mtd:quant_method max_height > TOPP_FeatureFinderMetabo_5.stdout 2> TOPP_FeatureFinderMetabo_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMetabo_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMetabo_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMetabo_5.stdout)";fi
+FeatureFinderCentroided -test -ini FeatureFinderCentroided_1_parameters.ini -in FeatureFinderCentroided_1_input.mzML -out FeatureFinderCentroided_1.tmp > TOPP_FeatureFinderCentroided_1.stdout 2> TOPP_FeatureFinderCentroided_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderCentroided_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderCentroided_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderCentroided_1.stdout)";fi
+FeatureFinderIdentification -test -in FeatureFinderIdentification_1_input.mzML -id FeatureFinderIdentification_1_input.idXML -out FeatureFinderIdentification_1.tmp -extract:mz_window 0.1 -detect:peak_width 60 -model:type none > TOPP_FeatureFinderIdentification_1.stdout 2> TOPP_FeatureFinderIdentification_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderIdentification_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderIdentification_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderIdentification_1.stdout)";fi
+FeatureFinderIdentification -test -in FeatureFinderIdentification_1_input.mzML -id FeatureFinderIdentification_1_input.idXML -out FeatureFinderIdentification_3.tmp -extract:mz_window 0.1 -detect:peak_width 60 -model:type symmetric > TOPP_FeatureFinderIdentification_3.stdout 2> TOPP_FeatureFinderIdentification_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderIdentification_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderIdentification_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderIdentification_3.stdout)";fi
+FeatureFinderIdentification -test -in FeatureFinderIdentification_1_input.mzML -id FeatureFinderIdentification_1_input.idXML -out FeatureFinderIdentification_4.tmp -extract:mz_window 0.1 -extract:batch_size 10 -detect:peak_width 60 -model:type none > TOPP_FeatureFinderIdentification_4.stdout 2> TOPP_FeatureFinderIdentification_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderIdentification_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderIdentification_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderIdentification_4.stdout)";fi
+FeatureFinderMRM -test -in FeatureFinderMRM_1_input.mzML -ini FeatureFinderMRM_1_parameters.ini -out FeatureFinderMRM_1.tmp > TOPP_FeatureFinderMRM_1.stdout 2> TOPP_FeatureFinderMRM_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMRM_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMRM_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMRM_1.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_1_input.mzML -ini FeatureFinderMultiplex_1_parameters.ini -out FeatureFinderMultiplex_1.tmp -out_multiplets FeatureFinderMultiplex_2.tmp > TOPP_FeatureFinderMultiplex_1.stdout 2> TOPP_FeatureFinderMultiplex_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_1.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_2_input.mzML -ini FeatureFinderMultiplex_2_parameters.ini -out FeatureFinderMultiplex_3.tmp -out_multiplets FeatureFinderMultiplex_4.tmp > TOPP_FeatureFinderMultiplex_2.stdout 2> TOPP_FeatureFinderMultiplex_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_2.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_3_input.mzML -ini FeatureFinderMultiplex_3_parameters.ini -out FeatureFinderMultiplex_5.tmp -out_multiplets FeatureFinderMultiplex_6.tmp > TOPP_FeatureFinderMultiplex_3.stdout 2> TOPP_FeatureFinderMultiplex_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_3.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_4_input.mzML -ini FeatureFinderMultiplex_4_parameters.ini -out FeatureFinderMultiplex_7.tmp -out_multiplets FeatureFinderMultiplex_8.tmp > TOPP_FeatureFinderMultiplex_4.stdout 2> TOPP_FeatureFinderMultiplex_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_4.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_5_input.mzML -ini FeatureFinderMultiplex_5_parameters.ini -out FeatureFinderMultiplex_9.tmp -out_multiplets FeatureFinderMultiplex_10.tmp > TOPP_FeatureFinderMultiplex_5.stdout 2> TOPP_FeatureFinderMultiplex_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_5.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_6_input.mzML -ini FeatureFinderMultiplex_6_parameters.ini -out FeatureFinderMultiplex_11.tmp -out_multiplets FeatureFinderMultiplex_12.tmp > TOPP_FeatureFinderMultiplex_6.stdout 2> TOPP_FeatureFinderMultiplex_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_6.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_7_input.mzML -ini FeatureFinderMultiplex_7_parameters.ini -out FeatureFinderMultiplex_13.tmp -out_multiplets FeatureFinderMultiplex_14.tmp > TOPP_FeatureFinderMultiplex_7.stdout 2> TOPP_FeatureFinderMultiplex_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_7.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_8_input.mzML -ini FeatureFinderMultiplex_8_parameters.ini -out FeatureFinderMultiplex_15.tmp -out_multiplets FeatureFinderMultiplex_16.tmp > TOPP_FeatureFinderMultiplex_8.stdout 2> TOPP_FeatureFinderMultiplex_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_8.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_9_input.mzML -ini FeatureFinderMultiplex_9_parameters.ini -out FeatureFinderMultiplex_17.tmp -out_multiplets FeatureFinderMultiplex_18.tmp > TOPP_FeatureFinderMultiplex_9.stdout 2> TOPP_FeatureFinderMultiplex_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_9.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_10_input.mzML -ini FeatureFinderMultiplex_10_parameters.ini -out FeatureFinderMultiplex_19.tmp -out_multiplets FeatureFinderMultiplex_20.tmp > TOPP_FeatureFinderMultiplex_10.stdout 2> TOPP_FeatureFinderMultiplex_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_10.stdout)";fi
+FeatureFinderMultiplex -test -in FeatureFinderMultiplex_11_input.mzML -ini FeatureFinderMultiplex_11_parameters.ini -out FeatureFinderMultiplex_21.tmp > TOPP_FeatureFinderMultiplex_11.stdout 2> TOPP_FeatureFinderMultiplex_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureFinderMultiplex_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureFinderMultiplex_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureFinderMultiplex_11.stdout)";fi
+FileConverter -test -in FileConverter_1_input.mzData -out FileConverter_1.tmp -out_type mzML > TOPP_FileConverter_1.stdout 2> TOPP_FileConverter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_1.stdout)";fi
+FileConverter -test  -in FileConverter_2_input.someInputDTA2D -in_type dta2d -out FileConverter_2.tmp -out_type mzML > TOPP_FileConverter_2.stdout 2> TOPP_FileConverter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_2.stdout)";fi
+FileConverter -test  -in FileConverter_3_input.featureXML -out FileConverter_3.tmp -out_type mzML > TOPP_FileConverter_3.stdout 2> TOPP_FileConverter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_3.stdout)";fi
+FileConverter -test  -in FileConverter_4_input.mzXML -out FileConverter_4.tmp -out_type mzML > TOPP_FileConverter_4.stdout 2> TOPP_FileConverter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_4.stdout)";fi
+FileConverter -test -in FileConverter_5_input.mzML -out FileConverter_5.tmp -out_type mzXML > TOPP_FileConverter_5.stdout 2> TOPP_FileConverter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_5.stdout)";fi
+FileConverter -test -in FileConverter_6_input.mzML -out FileConverter_6.tmp -out_type mzXML > TOPP_FileConverter_6.stdout 2> TOPP_FileConverter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_6.stdout)";fi
+FileConverter -test -in FileConverter_7_input.consensusXML -out FileConverter_7.tmp -out_type featureXML > TOPP_FileConverter_7.stdout 2> TOPP_FileConverter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_7.stdout)";fi
+FileConverter -test -in FileConverter_8_input.mzML -out FileConverter_8.tmp -out_type mzData > TOPP_FileConverter_8.stdout 2> TOPP_FileConverter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_8.stdout)";fi
+FileConverter -test -in FileConverter_9_input.consensusXML -out FileConverter_9.tmp -out_type featureXML > TOPP_FileConverter_9.stdout 2> TOPP_FileConverter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_9.stdout)";fi
+FileConverter -test -in FileConverter_10_input.edta -no_progress -out FileConverter_10.tmp -out_type featureXML > TOPP_FileConverter_10.stdout 2> TOPP_FileConverter_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_10.stdout)";fi
+FileConverter -test -in FileConverter_11_input.peplist -no_progress -out FileConverter_11.tmp -out_type featureXML > TOPP_FileConverter_11.stdout 2> TOPP_FileConverter_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_11.stdout)";fi
+FileConverter -test -in FileConverter_12_input.peptides.tsv -no_progress -out FileConverter_12.tmp -out_type featureXML > TOPP_FileConverter_12.stdout 2> TOPP_FileConverter_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_12.stdout)";fi
+FileConverter -test -in FileConverter_13_input.peptides.kroenik -no_progress -out FileConverter_13.tmp -out_type featureXML > TOPP_FileConverter_13.stdout 2> TOPP_FileConverter_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_13.stdout)";fi
+FileConverter -test -in FileConverter_9_output.featureXML -no_progress -out FileConverter_14.tmp -out_type consensusXML > TOPP_FileConverter_14.stdout 2> TOPP_FileConverter_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_14.stdout)";fi
+FileConverter -test -in FileConverter_10_input.edta -no_progress -out FileConverter_15.tmp -out_type consensusXML > TOPP_FileConverter_15.stdout 2> TOPP_FileConverter_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_15.stdout)";fi
+FileConverter -test -in FileConverter_16_input.edta -no_progress -out FileConverter_16.tmp -out_type consensusXML > TOPP_FileConverter_16.stdout 2> TOPP_FileConverter_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_16.stdout)";fi
+FileConverter -test -in FileConverter_17_input.consensusXML -no_progress -out FileConverter_17.csv > TOPP_FileConverter_17.stdout 2> TOPP_FileConverter_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_17.stdout)";fi
+FileConverter -test -in FileConverter_17_input.consensusXML -no_progress -out FileConverter_18.tmp -out_type csv > TOPP_FileConverter_18.stdout 2> TOPP_FileConverter_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_18.stdout)";fi
+FileConverter -test -in FileFilter_1_input.mzML -out FileConverter_19.tmp -process_lowmemory -in_type mzML -out_type mzML > TOPP_FileConverter_19.stdout 2> TOPP_FileConverter_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_19.stdout)";fi
+FileConverter -test -in FileConverter_20_input.featureXML -out FileConverter_20.tmp -in_type featureXML -out_type featureXML > TOPP_FileConverter_20.stdout 2> TOPP_FileConverter_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_20.stdout)";fi
+FileConverter -test -in FileConverter_4_input.mzXML -out FileConverter_21.tmp -out_type mzML -process_lowmemory > TOPP_FileConverter_21.stdout 2> TOPP_FileConverter_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_21.stdout)";fi
+FileConverter -test -in FileConverter_23_input.mzML -out FileConverter_23.tmp -out_type mzML > TOPP_FileConverter_23.stdout 2> TOPP_FileConverter_23.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_23 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_23.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_23.stdout)";fi
+FileConverter -test -in FileFilter_1_input.mzML -out FileConverter_24.tmp -process_lowmemory -in_type mzML -out_type mzML -lossy_compression -lossy_mass_accuracy 0.0001 > TOPP_FileConverter_24.stdout 2> TOPP_FileConverter_24.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_24 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_24.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_24.stdout)";fi
+FileConverter -test -in FileFilter_1_input.mzML -out FileConverter_25.tmp -process_lowmemory -in_type mzML -out_type mzML -lossy_compression > TOPP_FileConverter_25.stdout 2> TOPP_FileConverter_25.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_25 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_25.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_25.stdout)";fi
+FileConverter -test -in FileFilter_1_input.mzML -out FileConverter_26.tmp -force_MaxQuant_compatibility -out_type mzXML > TOPP_FileConverter_26.stdout 2> TOPP_FileConverter_26.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_26 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_26.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_26.stdout)";fi
+FileConverter -test -in FileConverter_26_output.mzXML -out FileConverter_26-2.tmp -force_MaxQuant_compatibility -out_type mzXML > TOPP_FileConverter_26-2.stdout 2> TOPP_FileConverter_26-2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_26-2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_26-2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_26-2.stdout)";fi
+FileConverter -test -in FileConverter_27_input.mzML -out FileConverter_27.tmp -out_type mzML  -convert_to_chromatograms > TOPP_FileConverter_27.stdout 2> TOPP_FileConverter_27.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_27 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_27.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_27.stdout)";fi
+FileConverter -test -in FileConverter_28_input.mzML -out FileConverter_28.tmp -out_type mzML  -convert_to_chromatograms > TOPP_FileConverter_28.stdout 2> TOPP_FileConverter_28.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_28 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_28.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_28.stdout)";fi
+FileConverter -test -in OpenSwathWorkflow_17_input.mzML -out FileConverter_29.tmp -out_type mzML -lossy_compression -lossy_mass_accuracy 1e-5 -process_lowmemory > TOPP_FileConverter_29.stdout 2> TOPP_FileConverter_29.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_29 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_29.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_29.stdout)";fi
+FileConverter -test -in FileConverter_29.tmp -in_type mzML -out FileConverter_29.back.tmp -out_type mzML > TOPP_FileConverter_29_back.stdout 2> TOPP_FileConverter_29_back.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_29_back failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_29_back.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_29_back.stdout)";fi
+FileConverter -test -in FileConverter_30_input.mzML -change_im_format multiple -out_type mzML -out FileConverter_30.tmp > TOPP_FileConverter_30.stdout 2> TOPP_FileConverter_30.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_30 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_30.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_30.stdout)";fi
+FileConverter -test -in FileConverter_30_output.mzML -change_im_format single -out_type mzML -out FileConverter_31.tmp > TOPP_FileConverter_31.stdout 2> TOPP_FileConverter_31.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileConverter_31 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileConverter_31.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileConverter_31.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_1.tmp -rt :30 -mz :1000 -int :20000 -in_type mzML -out_type mzML > TOPP_FileFilter_1.stdout 2> TOPP_FileFilter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_1.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_2.tmp -rt 30: -mz 1000: -int 100: -in_type mzML -out_type mzML > TOPP_FileFilter_2.stdout 2> TOPP_FileFilter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_2.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_3.tmp -peak_options:level 2 -in_type mzML -out_type mzML > TOPP_FileFilter_3.stdout 2> TOPP_FileFilter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_3.stdout)";fi
+FileFilter -test -in FileFilter_4_input.mzML -out FileFilter_4.tmp -spectra:remove_zoom -in_type mzML -out_type mzML > TOPP_FileFilter_4.stdout 2> TOPP_FileFilter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_4.stdout)";fi
+FileFilter -test -in FileFilter_5_input.featureXML -out FileFilter_5.tmp -rt :1000 -mz :480 -int :79000 -f_and_c:charge :3 -feature:q :0.6 -in_type featureXML -out_type featureXML > TOPP_FileFilter_5.stdout 2> TOPP_FileFilter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_5.stdout)";fi
+FileFilter -test -in FileFilter_5_input.featureXML -out FileFilter_6.tmp -rt 1000: -mz 440: -int 70000: -f_and_c:charge 3: -feature:q 0.51: -in_type featureXML -out_type featureXML > TOPP_FileFilter_6.stdout 2> TOPP_FileFilter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_6.stdout)";fi
+FileFilter -test -in FileFilter_7_input.mzML -out FileFilter_7.tmp -int 7000: -peak_options:level 1 2 3 -in_type mzML -out_type mzML > TOPP_FileFilter_7.stdout 2> TOPP_FileFilter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_7.stdout)";fi
+FileFilter -test -in FileFilter_8_input.consensusXML -out FileFilter_8.tmp -rt 600:1400 -mz 700:2300 -int 1100:6000 -in_type consensusXML -out_type consensusXML > TOPP_FileFilter_8.stdout 2> TOPP_FileFilter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_8.stdout)";fi
+FileFilter -test -in FileFilter_9_input.mzML -out FileFilter_9.tmp -spectra:remove_mode SelectedIonMonitoring -in_type mzML -out_type mzML > TOPP_FileFilter_9.stdout 2> TOPP_FileFilter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_9.stdout)";fi
+FileFilter -test -in FileFilter_10_input.mzML -out FileFilter_10.tmp -spectra:remove_activation "Collision-induced dissociation" -in_type mzML -out_type mzML > TOPP_FileFilter_10.stdout 2> TOPP_FileFilter_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_10.stdout)";fi
+FileFilter -test -in FileFilter_11_input.mzML -out FileFilter_11.tmp -spectra:remove_activation "Plasma desorption" -in_type mzML -out_type mzML > TOPP_FileFilter_11.stdout 2> TOPP_FileFilter_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_11.stdout)";fi
+FileFilter -test -in FileFilter_12_input.mzML -out FileFilter_12.tmp -peak_options:remove_chromatograms -in_type mzML -out_type mzML > TOPP_FileFilter_12.stdout 2> TOPP_FileFilter_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_12.stdout)";fi
+FileFilter -test -in FileFilter_13_input.consensusXML -out FileFilter_13.tmp -in_type consensusXML -out_type featureXML -consensus:map 2 > TOPP_FileFilter_13.stdout 2> TOPP_FileFilter_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_13.stdout)";fi
+FileFilter -test -in FileFilter_14_input.consensusXML -out FileFilter_14.tmp -in_type consensusXML -out_type consensusXML -consensus:map 0 2 > TOPP_FileFilter_14.stdout 2> TOPP_FileFilter_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_14.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_15.tmp -id:sequences_whitelist Oxidation -id:remove_unassigned_ids > TOPP_FileFilter_15.stdout 2> TOPP_FileFilter_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_15.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_16.tmp -id:sequences_whitelist Oxidation -id:remove_unassigned_ids -mz 400:600 -rt 3000:4000 > TOPP_FileFilter_16.stdout 2> TOPP_FileFilter_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_16.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_17.tmp -id:remove_annotated_features -mz 400:600 -rt 3000:4000 > TOPP_FileFilter_17.stdout 2> TOPP_FileFilter_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_17.stdout)";fi
+FileFilter -test -in FileFilter_18_input.consensusXML -out FileFilter_18.tmp -id:sequences_whitelist Oxidation -id:remove_unassigned_ids > TOPP_FileFilter_18.stdout 2> TOPP_FileFilter_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_18.stdout)";fi
+FileFilter -test -in FileFilter_18_input.consensusXML -out FileFilter_19.tmp -id:remove_unannotated_features -mz 400:600 -rt 3000:4000 > TOPP_FileFilter_19.stdout 2> TOPP_FileFilter_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_19.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_20.tmp -id:accessions_whitelist YDL217C -id:remove_unassigned_ids > TOPP_FileFilter_20.stdout 2> TOPP_FileFilter_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_20.stdout)";fi
+FileFilter -test -in FileFilter_15_input.featureXML -out FileFilter_21.tmp -id:remove_unassigned_ids -id:remove_unannotated_features -id:keep_best_score_id > TOPP_FileFilter_21.stdout 2> TOPP_FileFilter_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_21.stdout)";fi
+FileFilter -test -in FileFilter_22_input.consensusXML -out FileFilter_22.tmp -f_and_c:remove_meta distinct_charges gt "1,2" > TOPP_FileFilter_22.stdout 2> TOPP_FileFilter_22.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_22 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_22.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_22.stdout)";fi
+FileFilter -test -in FileFilter_22_input.consensusXML -out FileFilter_23.tmp -f_and_c:remove_meta distinct_charges_size gt 2 > TOPP_FileFilter_23.stdout 2> TOPP_FileFilter_23.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_23 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_23.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_23.stdout)";fi
+FileFilter -test -in FileFilter_22_input.consensusXML -out FileFilter_24.tmp -f_and_c:remove_meta DOESNOTEXIST lt "whatever" > TOPP_FileFilter_24.stdout 2> TOPP_FileFilter_24.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_24 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_24.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_24.stdout)";fi
+FileFilter -test -in FileFilter_25_input.mzML.gz -id:blacklist FileFilter_25_input.idXML -out FileFilter_25.tmp -id:mz 0.05 -id:rt 1 -id:blacklist_imperfect > TOPP_FileFilter_25.stdout 2> TOPP_FileFilter_25.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_25 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_25.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_25.stdout)";fi
+FileFilter -test -in FileFilter_25_input.mzML.gz -id:blacklist FileFilter_25_input.idXML -out FileFilter_26.tmp -id:blacklist_imperfect > TOPP_FileFilter_26.stdout 2> TOPP_FileFilter_26.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_26 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_26.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_26.stdout)";fi
+FileFilter -test -in FileFilter_28_input.mzML.gz -peak_options:pc_mz_range 832:836 -out FileFilter_28.tmp -peak_options:level 2 > TOPP_FileFilter_28.stdout 2> TOPP_FileFilter_28.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_28 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_28.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_28.stdout)";fi
+FileFilter -test -in FileFilter_28_input.mzML.gz -peak_options:pc_mz_range 832:836 -out FileFilter_29.tmp -peak_options:level 1 2 > TOPP_FileFilter_29.stdout 2> TOPP_FileFilter_29.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_29 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_29.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_29.stdout)";fi
+FileFilter -test -in FileFilter_28_input.mzML.gz -peak_options:pc_mz_range 832:836 -out FileFilter_30.tmp -peak_options:level 1 2 > TOPP_FileFilter_30.stdout 2> TOPP_FileFilter_30.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_30 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_30.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_30.stdout)";fi
+FileFilter -test -in FileFilter_31_34_input.mzML -spectra:remove_isolation_window_width :2 -out FileFilter_31.tmp  > TOPP_FileFilter_31.stdout 2> TOPP_FileFilter_31.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_31 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_31.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_31.stdout)";fi
+FileFilter -test -in FileFilter_31_34_input.mzML -spectra:select_isolation_window_width :2 -out FileFilter_32.tmp  > TOPP_FileFilter_32.stdout 2> TOPP_FileFilter_32.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_32 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_32.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_32.stdout)";fi
+FileFilter -test -in FileFilter_31_34_input.mzML -spectra:remove_collision_energy :35 -out FileFilter_33.tmp  > TOPP_FileFilter_33.stdout 2> TOPP_FileFilter_33.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_33 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_33.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_33.stdout)";fi
+FileFilter -test -in FileFilter_31_34_input.mzML -spectra:select_collision_energy :35 -out FileFilter_34.tmp  > TOPP_FileFilter_34.stdout 2> TOPP_FileFilter_34.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_34 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_34.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_34.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_35.tmp -peak_options:indexed_file true -in_type mzML -out_type mzML > TOPP_FileFilter_35.stdout 2> TOPP_FileFilter_35.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_35 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_35.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_35.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_36.tmp -peak_options:indexed_file false -in_type mzML -out_type mzML > TOPP_FileFilter_36.stdout 2> TOPP_FileFilter_36.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_36 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_36.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_36.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_37.tmp -test -peak_options:numpress:intensity slof -peak_options:numpress:masstime linear -in_type mzML -peak_options:numpress:lossy_mass_accuracy 1e-4 -out_type mzML > TOPP_FileFilter_37.stdout 2> TOPP_FileFilter_37.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_37 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_37.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_37.stdout)";fi
+FileFilter -test -in FileFilter_1_input.mzML -out FileFilter_38.tmp -test -peak_options:numpress:intensity pic -peak_options:numpress:masstime linear -in_type mzML -peak_options:numpress:lossy_mass_accuracy 1e-4 -out_type mzML > TOPP_FileFilter_38.stdout 2> TOPP_FileFilter_38.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_38 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_38.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_38.stdout)";fi
+FileFilter -test -in FileFilter_40_input.mzML -out FileFilter_40.tmp -spectra:select_polarity positive -in_type mzML -out_type mzML > TOPP_FileFilter_40.stdout 2> TOPP_FileFilter_40.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_40 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_40.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_40.stdout)";fi
+FileFilter -test -in FileFilter_40_input.mzML -out FileFilter_41.tmp -spectra:select_polarity negative -in_type mzML -out_type mzML > TOPP_FileFilter_41.stdout 2> TOPP_FileFilter_41.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_41 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_41.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_41.stdout)";fi
+FileFilter -test -in FileFilter_40_input.mzML -out FileFilter_42.tmp -spectra:select_polarity "" -in_type mzML -out_type mzML > TOPP_FileFilter_42.stdout 2> TOPP_FileFilter_42.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_42 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_42.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_42.stdout)";fi
+FileFilter -test -in FileFilter_43_input.mzML -out FileFilter_43.tmp.mzML -in_type mzML -out_type mzML > TOPP_FileFilter_43.stdout 2> TOPP_FileFilter_43.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_43 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_43.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_43.stdout)";fi
+FileFilter -test -in FileFilter_43.tmp.mzML -out FileFilter_43.dummy.tmp  -in_type mzML -out_type mzML > TOPP_FileFilter_43_read_again.stdout 2> TOPP_FileFilter_43_read_again.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_43_read_again failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_43_read_again.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_43_read_again.stdout)";fi
+FileFilter -test -in FileFilter_44_input.mzML -out FileFilter_44.tmp -test -in_type mzML -out_type mzML > TOPP_FileFilter_44.stdout 2> TOPP_FileFilter_44.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_44 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_44.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_44.stdout)";fi
+FileFilter -test -in FileFilter_45_input.featureXML -id:sequences_whitelist "YSFS" "STLIPPPSK(Label:13C(6)15N(2))" -out FileFilter_45.tmp > TOPP_FileFilter_45.stdout 2> TOPP_FileFilter_45.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_45 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_45.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_45.stdout)";fi
+FileFilter -test -in FileFilter_46_input.featureXML -id:sequences_whitelist "YSFS" "STLIPPPSK(Label:13C(6)15N(2))" -id:sequence_comparison_method "exact" -out FileFilter_46.tmp > TOPP_FileFilter_46.stdout 2> TOPP_FileFilter_46.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_46 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_46.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_46.stdout)";fi
+FileFilter -test -in FileFilter_47_input.mzML -spectra:blackorwhitelist:file FileFilter_47_input_select.mzML -spectra:blackorwhitelist:similarity_threshold 0.9 -out FileFilter_47_1.tmp > TOPP_FileFilter_47.stdout 2> TOPP_FileFilter_47.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_47 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_47.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_47.stdout)";fi
+FileFilter -test -in FileFilter_47_input.mzML -spectra:blackorwhitelist:file FileFilter_47_input_select.mzML -spectra:blackorwhitelist:similarity_threshold 0.9 -spectra:blackorwhitelist:blacklist false -out FileFilter_48_1.tmp > TOPP_FileFilter_48.stdout 2> TOPP_FileFilter_48.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_48 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_48.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_48.stdout)";fi
+FileFilter -test -in FileFilter_49_input.mzML -peak_options:numpress:intensity pic -peak_options:numpress:masstime linear -peak_options:numpress:float_da slof -peak_options:zlib_compression true -out FileFilter_49_1.tmp > TOPP_FileFilter_49.stdout 2> TOPP_FileFilter_49.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileFilter_49 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileFilter_49.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileFilter_49.stdout)";fi
+FileInfo -test -in FileInfo_1_input.dta -in_type dta -no_progress -out FileInfo_1.tmp > TOPP_FileInfo_1.stdout 2> TOPP_FileInfo_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_1.stdout)";fi
+FileInfo -test -in FileInfo_2_input.dta2d -no_progress -out FileInfo_2.tmp > TOPP_FileInfo_2.stdout 2> TOPP_FileInfo_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_2.stdout)";fi
+FileInfo -test -in FileInfo_3_input.featureXML -m -s -p -no_progress -out FileInfo_3.tmp > TOPP_FileInfo_3.stdout 2> TOPP_FileInfo_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_3.stdout)";fi
+FileInfo -test -in FileInfo_4_input.mzXML -m -no_progress -out FileInfo_4.tmp > TOPP_FileInfo_4.stdout 2> TOPP_FileInfo_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_4.stdout)";fi
+FileInfo -test -in FileInfo_5_input.mzDat -in_type mzData -m -s -no_progress -out FileInfo_5.tmp > TOPP_FileInfo_5.stdout 2> TOPP_FileInfo_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_5.stdout)";fi
+FileInfo -test -in FileInfo_6_input.mzData -d -s -no_progress -out FileInfo_6.tmp > TOPP_FileInfo_6.stdout 2> TOPP_FileInfo_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_6.stdout)";fi
+FileInfo -test -in FileInfo_7_input.consensusXML -s -m -p -no_progress -out FileInfo_7.tmp > TOPP_FileInfo_7.stdout 2> TOPP_FileInfo_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_7.stdout)";fi
+FileInfo -test -in FileInfo_9_input.mzML -m -p -s -no_progress -out FileInfo_9.tmp > TOPP_FileInfo_9.stdout 2> TOPP_FileInfo_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_9.stdout)";fi
+FileInfo -test -in FileInfo_10_input.idXML -no_progress -out FileInfo_10.tmp > TOPP_FileInfo_10.stdout 2> TOPP_FileInfo_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_10.stdout)";fi
+FileInfo -test -in FileInfo_12_input.mzML -i  -no_progress > TOPP_FileInfo_12.stdout 2> TOPP_FileInfo_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_12.stdout)";fi
+FileInfo -test -in FileInfo_13_input.consensusXML -no_progress > TOPP_FileInfo_13.stdout 2> TOPP_FileInfo_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_13.stdout)";fi
+FileInfo -test -in FileInfo_14_input.mzid -v -no_progress -out FileInfo_14.tmp > TOPP_FileInfo_14.stdout 2> TOPP_FileInfo_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_14.stdout)";fi
+FileInfo -test -in FileInfo_15_input.mzid -v -no_progress -out FileInfo_15.tmp > TOPP_FileInfo_15.stdout 2> TOPP_FileInfo_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_15.stdout)";fi
+FileInfo -test -in FileInfo_16_input.trafoXML -out FileInfo_16_output.tmp > TOPP_FileInfo_16.stdout 2> TOPP_FileInfo_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_16.stdout)";fi
+FileInfo -test -in FileInfo_17_input.fasta -out FileInfo_17_output.tmp > TOPP_FileInfo_17.stdout 2> TOPP_FileInfo_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_17.stdout)";fi
+FileInfo -test -in FileInfo_18_input.fasta -out FileInfo_18_output.tmp > TOPP_FileInfo_18.stdout 2> TOPP_FileInfo_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileInfo_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileInfo_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileInfo_18.stdout)";fi
+FileMerger -test -in FileMerger_1_input1.dta2d FileMerger_1_input2.dta FileMerger_1_input3.dta2d -out FileMerger_1.tmp -raw:rt_custom 1 2 3 > TOPP_FileMerger_1.stdout 2> TOPP_FileMerger_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_1.stdout)";fi
+FileMerger -test -in FileMerger_2_input1.dta FileMerger_2_input2.dta -in_type dta -out FileMerger_2.tmp -raw:rt_custom 5 10 > TOPP_FileMerger_2.stdout 2> TOPP_FileMerger_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_2.stdout)";fi
+FileMerger -test -in FileMerger_3_input1.dta FileMerger_3_input2.dta -out FileMerger_3.tmp -raw:rt_auto > TOPP_FileMerger_3.stdout 2> TOPP_FileMerger_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_3.stdout)";fi
+FileMerger -test -in FileMerger_4_input1.dta2d FileMerger_4_input2.dta2d -out FileMerger_4.tmp > TOPP_FileMerger_4.stdout 2> TOPP_FileMerger_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_4.stdout)";fi
+FileMerger -test -in FileMerger_5_input_rt1023.331.dta FileMerger_5_input_rt2044.334.dta FileMerger_5_input_rt889.32.dta -raw:rt_filename -raw:ms_level 2 -out FileMerger_5.tmp > TOPP_FileMerger_5.stdout 2> TOPP_FileMerger_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_5.stdout)";fi
+FileMerger -test -in FileMerger_6_input1.mzML FileMerger_6_input2.mzML -out FileMerger_6.tmp > TOPP_FileMerger_6.stdout 2> TOPP_FileMerger_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_6.stdout)";fi
+FileMerger -test -in FileMerger_7_input1.featureXML FileMerger_7_input2.featureXML -out FileMerger_7.tmp > TOPP_FileMerger_7.stdout 2> TOPP_FileMerger_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_7.stdout)";fi
+FileMerger -test -in FileMerger_8_input1.consensusXML FileMerger_8_input2.consensusXML -out FileMerger_8.tmp > TOPP_FileMerger_8.stdout 2> TOPP_FileMerger_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_8.stdout)";fi
+FileMerger -test -in FileMerger_9_input1.traML FileMerger_9_input2.traML -out FileMerger_9.tmp > TOPP_FileMerger_9.stdout 2> TOPP_FileMerger_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_9.stdout)";fi
+FileMerger -test -in FileMerger_6_input2.mzML FileMerger_6_input2.mzML -out FileMerger_10_output.tmp -rt_concat:gap 10.0 -rt_concat:trafo_out FileMerger_10_trafo1.tmp FileMerger_10_trafo2.tmp > TOPP_FileMerger_10.stdout 2> TOPP_FileMerger_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_10.stdout)";fi
+FileMerger -test -in FileMerger_8_input1.consensusXML FileMerger_8_input2.consensusXML -append_method append_cols -out FileMerger_11.tmp > TOPP_FileMerger_11.stdout 2> TOPP_FileMerger_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FileMerger_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FileMerger_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FileMerger_11.stdout)";fi
+GNPSExport -test -in_cm GNPSExport_single.consensusXML -in_mzml GNPSExport_mz1.mzML -out GNPSExport_1_out.tmp -output_type full_spectra > TOPP_GNPSExport_1.stdout 2> TOPP_GNPSExport_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_GNPSExport_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_GNPSExport_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_GNPSExport_1.stdout)";fi
+GNPSExport -test -in_cm GNPSExport_single.consensusXML -in_mzml GNPSExport_mz1.mzML -out GNPSExport_2_out.tmp -output_type merged_spectra > TOPP_GNPSExport_2.stdout 2> TOPP_GNPSExport_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_GNPSExport_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_GNPSExport_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_GNPSExport_2.stdout)";fi
+GNPSExport -test -in_cm GNPSExport_merged.consensusXML -in_mzml GNPSExport_mz1.mzML GNPSExport_mz2.mzML -out GNPSExport_3_out.tmp -output_type full_spectra > TOPP_GNPSExport_3.stdout 2> TOPP_GNPSExport_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_GNPSExport_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_GNPSExport_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_GNPSExport_3.stdout)";fi
+GNPSExport -test -in_cm GNPSExport_merged.consensusXML -in_mzml GNPSExport_mz1.mzML GNPSExport_mz2.mzML -out GNPSExport_4_out.tmp > TOPP_GNPSExport_4.stdout 2> TOPP_GNPSExport_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_GNPSExport_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_GNPSExport_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_GNPSExport_4.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_2860_1103_3.mzML -feature:in HighResPrecursorMassCorrector_2860_1103_3.featureXML -out HighResPrecursorMassCorrector_2860_1103_3_out.tmp > TOPP_HighResPrecursorMassCorrector_1.stdout 2> TOPP_HighResPrecursorMassCorrector_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_1.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_1035_1178_4.mzML -feature:in HighResPrecursorMassCorrector_1035_1178_4.featureXML -feature:max_trace 4 -feature:mz_tolerance 10 -out HighResPrecursorMassCorrector_1035_1178_4_out.tmp > TOPP_HighResPrecursorMassCorrector_2.stdout 2> TOPP_HighResPrecursorMassCorrector_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_2.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_2538_1091_2.mzML -feature:in HighResPrecursorMassCorrector_2538_1091_2.featureXML -out HighResPrecursorMassCorrector_2538_1091_2_out.tmp > TOPP_HighResPrecursorMassCorrector_3.stdout 2> TOPP_HighResPrecursorMassCorrector_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_3.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_2810_1091_3.mzML -feature:in HighResPrecursorMassCorrector_2810_1091_3.featureXML -out HighResPrecursorMassCorrector_2810_1091_3_out.tmp > TOPP_HighResPrecursorMassCorrector_4.stdout 2> TOPP_HighResPrecursorMassCorrector_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_4.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_3070_1191_3.mzML -feature:in HighResPrecursorMassCorrector_3070_1191_3.featureXML -out HighResPrecursorMassCorrector_3070_1191_3_out.tmp > TOPP_HighResPrecursorMassCorrector_5.stdout 2> TOPP_HighResPrecursorMassCorrector_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_5.stdout)";fi
+HighResPrecursorMassCorrector -test -in HighResPrecursorMassCorrector_6.mzML -highest_intensity_peak:mz_tolerance 0.2 -out HighResPrecursorMassCorrector_6_out.tmp > TOPP_HighResPrecursorMassCorrector_6.stdout 2> TOPP_HighResPrecursorMassCorrector_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_HighResPrecursorMassCorrector_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_HighResPrecursorMassCorrector_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_HighResPrecursorMassCorrector_6.stdout)";fi
+IDRTCalibration -test -in IDRTCalibration_1_input.idXML -out IDRTCalibration_1_output.tmp -calibrant_1_input 10 -calibrant_2_input 90 > TOPP_IDRTCalibration_1.stdout 2> TOPP_IDRTCalibration_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRTCalibration_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRTCalibration_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRTCalibration_1.stdout)";fi
+IDRTCalibration -test -in degenerated_empty.idXML -out IDRTCalibration_2_output.tmp -calibrant_1_input 10 -calibrant_2_input 90 > TOPP_IDRTCalibration_2.stdout 2> TOPP_IDRTCalibration_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRTCalibration_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRTCalibration_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRTCalibration_2.stdout)";fi
+IDMassAccuracy -test -in spectra.mzML -id_in MSGFPlusAdapter_1_out.idXML -number_of_bins 10 -out_fragment IDMassAccuracy_1_out_fragment.tsv -out_fragment_fit IDMassAccuracy_1_out_fragment_fit.tsv -out_precursor IDMassAccuracy_1_out_precursor.tsv -out_precursor_fit IDMassAccuracy_1_out_precursor_fit.tsv > TOPP_IDMassAccuracy_1.stdout 2> TOPP_IDMassAccuracy_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMassAccuracy_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMassAccuracy_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMassAccuracy_1.stdout)";fi
+IsobaricAnalyzer -test -in IsobaricAnalyzer_input_1.mzML -ini IsobaricAnalyzer.ini -out IsobaricAnalyzer_output_1.tmp > TOPP_IsobaricAnalyzer_1.stdout 2> TOPP_IsobaricAnalyzer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IsobaricAnalyzer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IsobaricAnalyzer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IsobaricAnalyzer_1.stdout)";fi
+IsobaricAnalyzer -test -in TMTTenPlexMethod_test.mzML -ini TMTTenPlexMethod_test.ini -out TMTTenPlexMethod_output.tmp > TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1.stdout 2> TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IsobaricAnalyzer_TMTTenPlexMethod_1.stdout)";fi
+IsobaricAnalyzer -test -in TMTTenPlexMethod_test.mzML -ini TMTElevenPlexMethod_test.ini -out TMTElevenPlexMethod_output.tmp > TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1.stdout 2> TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IsobaricAnalyzer_TMTElevenPlexMethod_1.stdout)";fi
+IsobaricAnalyzer -test -in MS3_nonHierarchical.mzML -extraction:select_activation "Collision-induced dissociation" -type tmt10plex -out MS3TMT10Plex_output.tmp > TOPP_IsobaricAnalyzer_MS3TMT10Plex_1.stdout 2> TOPP_IsobaricAnalyzer_MS3TMT10Plex_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IsobaricAnalyzer_MS3TMT10Plex_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IsobaricAnalyzer_MS3TMT10Plex_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IsobaricAnalyzer_MS3TMT10Plex_1.stdout)";fi
+IDConflictResolver -test -in IDConflictResolver_1_input.featureXML -out IDConflictResolver_1_output.tmp > TOPP_IDConflictResolver_1.stdout 2> TOPP_IDConflictResolver_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDConflictResolver_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDConflictResolver_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDConflictResolver_1.stdout)";fi
+IDConflictResolver -test -in IDConflictResolver_2_input.consensusXML -out IDConflictResolver_2_output.tmp > TOPP_IDConflictResolver_2.stdout 2> TOPP_IDConflictResolver_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDConflictResolver_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDConflictResolver_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDConflictResolver_2.stdout)";fi
+IDConflictResolver -test -in IDConflictResolver_3_input.consensusXML -out IDConflictResolver_3_output.tmp > TOPP_IDConflictResolver_3.stdout 2> TOPP_IDConflictResolver_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDConflictResolver_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDConflictResolver_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDConflictResolver_3.stdout)";fi
+IDConflictResolver -test -in IDConflictResolver_4_input.featureXML -resolve_between_features highest_intensity -out IDConflictResolver_4.tmp > TOPP_IDConflictResolver_4.stdout 2> TOPP_IDConflictResolver_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDConflictResolver_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDConflictResolver_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDConflictResolver_4.stdout)";fi
+IDFileConverter -test -in IDFileConverter_1_input1.mascotXML -mz_file IDFileConverter_1_input2.mzML -out IDFileConverter_1_output.tmp -out_type idXML > TOPP_IDFileConverter_1.stdout 2> TOPP_IDFileConverter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_1.stdout)";fi
+IDFileConverter -test -in PepXMLFile_test.pepxml -mz_file PepXMLFile_test.mzML -mz_name PepXMLFile_test -out IDFileConverter_2_output.tmp -out_type idXML > TOPP_IDFileConverter_2.stdout 2> TOPP_IDFileConverter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_2.stdout)";fi
+IDFileConverter -test -in IDFileConverter_3_input.protXML -out IDFileConverter_3_output.tmp -out_type idXML > TOPP_IDFileConverter_3.stdout 2> TOPP_IDFileConverter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_3.stdout)";fi
+IDFileConverter -test -in IDFileConverter_1_input1.mascotXML -mz_file IDFileConverter_1_input2.mzML -out IDFileConverter_5_output.tmp -ini IDFileConverter_5_parameters.ini > TOPP_IDFileConverter_5.stdout 2> TOPP_IDFileConverter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_5.stdout)";fi
+IDFileConverter -test -in IDFileConverter_6_input1.pepXML -mz_file IDFileConverter_1_input2.mzML -mz_name F025589.dat.mzML -out IDFileConverter_6_output.tmp -out_type idXML > TOPP_IDFileConverter_6.stdout 2> TOPP_IDFileConverter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_6.stdout)";fi
+IDFileConverter -test -in IDFileConverter_7_input1.xml -out IDFileConverter_7_output.tmp -out_type idXML > TOPP_IDFileConverter_7.stdout 2> TOPP_IDFileConverter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_7.stdout)";fi
+IDFileConverter -test -in IDFileConverter_8_input.mzid -out IDFileConverter_8_output.tmp -out_type idXML > TOPP_IDFileConverter_8.stdout 2> TOPP_IDFileConverter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_8.stdout)";fi
+IDFileConverter -test -in IDFileConverter_9_input.idXML -out IDFileConverter_9_output.tmp -out_type mzid > TOPP_IDFileConverter_9.stdout 2> TOPP_IDFileConverter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_9.stdout)";fi
+IDFileConverter -test -in IDFileConverter_10_input.pepXML -out IDFileConverter_10_output.tmp -out_type idXML > TOPP_IDFileConverter_10.stdout 2> TOPP_IDFileConverter_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_10.stdout)";fi
+IDFileConverter -test -in IDFileConverter_11_input.tsv -out IDFileConverter_11_output.tmp -out_type idXML > TOPP_IDFileConverter_11.stdout 2> TOPP_IDFileConverter_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_11.stdout)";fi
+IDFileConverter -test -in IDFileConverter_12_input.psms -out IDFileConverter_12_output.tmp -out_type idXML -score_type qvalue > TOPP_IDFileConverter_12.stdout 2> TOPP_IDFileConverter_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_12.stdout)";fi
+IDFileConverter -test -in IDFileConverter_12_input.psms -out IDFileConverter_13_output.tmp -out_type idXML -score_type PEP > TOPP_IDFileConverter_13.stdout 2> TOPP_IDFileConverter_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_13.stdout)";fi
+IDFileConverter -test -in IDFileConverter_12_input.psms -out IDFileConverter_14_output.tmp -out_type idXML -score_type score > TOPP_IDFileConverter_14.stdout 2> TOPP_IDFileConverter_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_14.stdout)";fi
+IDFileConverter -test -in MSGFPlusAdapter_1_out.mzid -out IDFileConverter_15_output.tmp -out_type idXML -mz_file spectra.mzML > TOPP_IDFileConverter_15.stdout 2> TOPP_IDFileConverter_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_15.stdout)";fi
+IDFileConverter -test -in IDFileConverter_16_input.pepXML -out IDFileConverter_16_output.tmp -out_type idXML > TOPP_IDFileConverter_16.stdout 2> TOPP_IDFileConverter_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_16.stdout)";fi
+IDFileConverter -test -in IDFileConverter_17_input.idXML -out IDFileConverter_17_output.tmp -out_type pepXML > TOPP_IDFileConverter_17.stdout 2> TOPP_IDFileConverter_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_17.stdout)";fi
+IDFileConverter -test -in IDFileConverter_18_input.idXML -out IDFileConverter_18_output.tmp -out_type pepXML > TOPP_IDFileConverter_18.stdout 2> TOPP_IDFileConverter_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_18.stdout)";fi
+IDFileConverter -test -in IDFileConverter_19_input.idXML -out IDFileConverter_19_output.tmp -out_type pepXML > TOPP_IDFileConverter_19.stdout 2> TOPP_IDFileConverter_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_19.stdout)";fi
+IDFileConverter -test -in IDFileConverter_20_input.idXML -out IDFileConverter_20_output.tmp -out_type pepXML > TOPP_IDFileConverter_20.stdout 2> TOPP_IDFileConverter_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_20.stdout)";fi
+IDFileConverter -test -in IDFileConverter_21_input.idXML -out_type idXML -out IDFileConverter_21_output.tmp -mz_file IDMapper_4_input.mzML > TOPP_IDFileConverter_21.stdout 2> TOPP_IDFileConverter_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_21.stdout)";fi
+IDFileConverter -test -in MSGFPlusAdapter_1_out.mzid -out IDFileConverter_22_output.tmp -out_type idXML -mz_file spectra.mzML -add_ionmatch_annotation 0.01 > TOPP_IDFileConverter_22.stdout 2> TOPP_IDFileConverter_22.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_22 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_22.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_22.stdout)";fi
+IDFileConverter -test -in IDFileConverter_23_input.mzid -out IDFileConverter_23_output.tmp -out_type idXML > TOPP_IDFileConverter_23.stdout 2> TOPP_IDFileConverter_23.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_23 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_23.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_23.stdout)";fi
+IDFileConverter -test -in IDFileConverter_24_input.pep.xml -out IDFileConverter_24_output.tmp -out_type idXML > TOPP_IDFileConverter_24.stdout 2> TOPP_IDFileConverter_24.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_24 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_24.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_24.stdout)";fi
+IDFileConverter -test -in IDFileConverter_25_input.idXML -out IDFileConverter_25_output.tmp -out_type pepXML > TOPP_IDFileConverter_25.stdout 2> TOPP_IDFileConverter_25.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_25 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_25.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_25.stdout)";fi
+IDFileConverter -test -in IDFileConverter_26_input.mzid -out IDFileConverter_26_output.tmp -out_type idXML > TOPP_IDFileConverter_26.stdout 2> TOPP_IDFileConverter_26.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFileConverter_26 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFileConverter_26.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFileConverter_26.stdout)";fi
+IDFilter -test -in IDFilter_1_input.idXML -out IDFilter_1_output.tmp -whitelist:proteins IDFilter_1_input.fas > TOPP_IDFilter_1.stdout 2> TOPP_IDFilter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_1.stdout)";fi
+IDFilter -test -in IDFilter_3_input.idXML -out IDFilter_3_output.tmp -blacklist:peptides IDFilter_3_2_input.idXML > TOPP_IDFilter_3.stdout 2> TOPP_IDFilter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_3.stdout)";fi
+IDFilter -test -in IDFilter_4_input.idXML -out IDFilter_4_output.tmp -rt:p_value 0.08 > TOPP_IDFilter_4.stdout 2> TOPP_IDFilter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_4.stdout)";fi
+IDFilter -test -in IDFilter_5_input.idXML -out IDFilter_5_output.tmp -score:pep 32 -score:prot 25 > TOPP_IDFilter_5.stdout 2> TOPP_IDFilter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_5.stdout)";fi
+IDFilter -test -in IDFilter_5_input.idXML -out IDFilter_5a_output.tmp -score:pep 32  > TOPP_IDFilter_5a.stdout 2> TOPP_IDFilter_5a.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_5a failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_5a.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_5a.stdout)";fi
+IDFilter -test -in IDFilter_5_input.idXML -out IDFilter_5b_output.tmp -score:prot 25 > TOPP_IDFilter_5b.stdout 2> TOPP_IDFilter_5b.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_5b failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_5b.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_5b.stdout)";fi
+IDFilter -test -in IDFilter_5_input.idXML -out IDFilter_5c_output.tmp -score:prot 25 -delete_unreferenced_peptide_hits > TOPP_IDFilter_5c.stdout 2> TOPP_IDFilter_5c.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_5c failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_5c.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_5c.stdout)";fi
+IDFilter -test -in IDFilter_6_input.idXML -out IDFilter_6_output.tmp -best:n_peptide_hits 2 -best:n_protein_hits 10 > TOPP_IDFilter_6.stdout 2> TOPP_IDFilter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_6.stdout)";fi
+IDFilter -test -in IDFilter_7_input.idXML -out IDFilter_7_output.tmp -remove_duplicate_psm > TOPP_IDFilter_7.stdout 2> TOPP_IDFilter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_7.stdout)";fi
+IDFilter -test -in IDFilter_8_input.idXML -out IDFilter_8_output.tmp -precursor:rt 200:350 -precursor:mz 999:1000 > TOPP_IDFilter_8.stdout 2> TOPP_IDFilter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_8.stdout)";fi
+IDFilter -test -in IDFilter_9_input.idXML -out IDFilter_9_output.tmp -score:pep 0.05 > TOPP_IDFilter_9.stdout 2> TOPP_IDFilter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_9.stdout)";fi
+IDFilter -test -in IDFilter_10_input.idXML -out IDFilter_10_output.tmp -score:prot 0.3 -delete_unreferenced_peptide_hits > TOPP_IDFilter_10.stdout 2> TOPP_IDFilter_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_10.stdout)";fi
+IDFilter -test -in IDFilter_11_input.idXML -out IDFilter_11_output.tmp -remove_decoys -delete_unreferenced_peptide_hits > TOPP_IDFilter_11.stdout 2> TOPP_IDFilter_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_11.stdout)";fi
+IDFilter -test -in IDFilter_12_input.idXML -out IDFilter_12_output.tmp -in_silico_digestion:fasta IDFilter_12_input.fasta > TOPP_IDFilter_12.stdout 2> TOPP_IDFilter_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_12.stdout)";fi
+IDFilter -test -in IDFilter_13_input.idXML -out IDFilter_13_output.tmp -in_silico_digestion:fasta IDFilter_13_input.fasta -in_silico_digestion:missed_cleavages 1 > TOPP_IDFilter_13.stdout 2> TOPP_IDFilter_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_13.stdout)";fi
+IDFilter -test -in IDFilter_14_input.idXML -out IDFilter_14_output.tmp -in_silico_digestion:fasta IDFilter_14_input.fasta -in_silico_digestion:enzyme Trypsin/P -in_silico_digestion:missed_cleavages 1 > TOPP_IDFilter_14.stdout 2> TOPP_IDFilter_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_14.stdout)";fi
+IDFilter -test -in IDFilter_15_input.idXML -out IDFilter_15_output.tmp -in_silico_digestion:fasta IDFilter_15_input.fasta -in_silico_digestion:enzyme Trypsin/P -in_silico_digestion:missed_cleavages 1 -in_silico_digestion:specificity semi > TOPP_IDFilter_15.stdout 2> TOPP_IDFilter_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_15.stdout)";fi
+IDFilter -test -in IDFilter_16_input.idXML -out IDFilter_16_output.tmp -in_silico_digestion:fasta IDFilter_16_input.fasta -in_silico_digestion:enzyme Trypsin/P -in_silico_digestion:missed_cleavages 1 -in_silico_digestion:methionine_cleavage > TOPP_IDFilter_16.stdout 2> TOPP_IDFilter_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_16.stdout)";fi
+IDFilter -test -in IDFilter_missed_cleavages_input.idXML -out IDFilter_17_output.tmp -missed_cleavages:enzyme Lys-N -missed_cleavages:number_of_missed_cleavages :2 > TOPP_IDFilter_17.stdout 2> TOPP_IDFilter_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_17.stdout)";fi
+IDFilter -test -in IDFilter_missed_cleavages_input.idXML -out IDFilter_18_output.tmp -missed_cleavages:enzyme Lys-N -missed_cleavages:number_of_missed_cleavages 2: > TOPP_IDFilter_18.stdout 2> TOPP_IDFilter_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_18.stdout)";fi
+IDFilter -test -in IDFilter_missed_cleavages_input.idXML -out IDFilter_19_output.tmp -missed_cleavages:enzyme Lys-N -missed_cleavages:number_of_missed_cleavages 1:3 > TOPP_IDFilter_19.stdout 2> TOPP_IDFilter_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_19.stdout)";fi
+IDFilter -test -in IDFilter_missed_cleavages_input.idXML -out IDFilter_20_output.tmp -missed_cleavages:number_of_missed_cleavages 1:0 > TOPP_IDFilter_20.stdout 2> TOPP_IDFilter_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_20.stdout)";fi
+IDFilter -test -in IDFilter_16_input.idXML -out IDFilter_21_output.tmp -remove_peptide_hits_by_metavalue "calcMZ" "gt" "750.0" > TOPP_IDFilter_21.stdout 2> TOPP_IDFilter_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_21.stdout)";fi
+IDFilter -test -in IDFilter_16_input.idXML -out IDFilter_22_output.tmp -remove_peptide_hits_by_metavalue "end" "ne" "23" > TOPP_IDFilter_22.stdout 2> TOPP_IDFilter_22.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDFilter_22 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDFilter_22.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDFilter_22.stdout)";fi
+MapAlignerPoseClustering -test -ini MapAlignerPoseClustering_1_parameters.ini -in MapAlignerPoseClustering_1_input1.featureXML MapAlignerPoseClustering_1_input2.featureXML MapAlignerPoseClustering_1_input3.featureXML -out MapAlignerPoseClustering_1_output1.tmp MapAlignerPoseClustering_1_output2.tmp MapAlignerPoseClustering_1_output3.tmp -trafo_out MapAlignerPoseClustering_1_trafo1.tmp MapAlignerPoseClustering_1_trafo2.tmp MapAlignerPoseClustering_1_trafo3.tmp > TOPP_MapAlignerPoseClustering_1.stdout 2> TOPP_MapAlignerPoseClustering_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerPoseClustering_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerPoseClustering_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerPoseClustering_1.stdout)";fi
+MapAlignerPoseClustering -test -ini MapAlignerPoseClustering_2_parameters.ini -in MapAlignerPoseClustering_2_input1.mzML MapAlignerPoseClustering_2_input2.mzML MapAlignerPoseClustering_2_input3.mzML -out MapAlignerPoseClustering_2_output1.tmp MapAlignerPoseClustering_2_output2.tmp MapAlignerPoseClustering_2_output3.tmp > TOPP_MapAlignerPoseClustering_2.stdout 2> TOPP_MapAlignerPoseClustering_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerPoseClustering_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerPoseClustering_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerPoseClustering_2.stdout)";fi
+MapAlignerPoseClustering -test -ini MapAlignerPoseClustering_1_parameters.ini -in MapAlignerPoseClustering_1_input2.featureXML MapAlignerPoseClustering_1_input3.featureXML -out MapAlignerPoseClustering_3_output1.tmp MapAlignerPoseClustering_3_output2.tmp -reference:file MapAlignerPoseClustering_1_input1.featureXML > TOPP_MapAlignerPoseClustering_3.stdout 2> TOPP_MapAlignerPoseClustering_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerPoseClustering_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerPoseClustering_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerPoseClustering_3.stdout)";fi
+MapAlignerPoseClustering -test -ini MapAlignerPoseClustering_1_parameters.ini -in MapAlignerPoseClustering_1_input1.featureXML MapAlignerPoseClustering_1_input2.featureXML -trafo_out MapAlignerPoseClustering_4_trafo1.tmp MapAlignerPoseClustering_4_trafo2.tmp -reference:index 2 > TOPP_MapAlignerPoseClustering_4.stdout 2> TOPP_MapAlignerPoseClustering_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerPoseClustering_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerPoseClustering_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerPoseClustering_4.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_1_input1.featureXML MapAlignerIdentification_1_input2.featureXML -out MapAlignerIdentification_1_output1.tmp MapAlignerIdentification_1_output2.tmp > TOPP_MapAlignerIdentification_1.stdout 2> TOPP_MapAlignerIdentification_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_1.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_1_input1.featureXML -out MapAlignerIdentification_2_output1.tmp -reference:file MapAlignerIdentification_1_input2.featureXML > TOPP_MapAlignerIdentification_2.stdout 2> TOPP_MapAlignerIdentification_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_2.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_1_input2.featureXML MapAlignerIdentification_1_input1.featureXML -out MapAlignerIdentification_3_output1.tmp MapAlignerIdentification_3_output2.tmp -reference:index 1 > TOPP_MapAlignerIdentification_3.stdout 2> TOPP_MapAlignerIdentification_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_3.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in  MapAlignerIdentification_1_input1.featureXML MapAlignerIdentification_1_input2.featureXML -out MapAlignerIdentification_4_output1.tmp MapAlignerIdentification_4_output2.tmp -reference:index 2 > TOPP_MapAlignerIdentification_4.stdout 2> TOPP_MapAlignerIdentification_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_4.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_5_input1.consensusXML MapAlignerIdentification_5_input2.consensusXML -out MapAlignerIdentification_5_output1.tmp MapAlignerIdentification_5_output2.tmp > TOPP_MapAlignerIdentification_5.stdout 2> TOPP_MapAlignerIdentification_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_5.stdout)";fi
+MapAlignerIdentification -test -ini MapAlignerIdentification_parameters.ini -in MapAlignerIdentification_1_input1.featureXML -trafo_out MapAlignerIdentification_6_output1.tmp -reference:file MapAlignerIdentification_1_input2.featureXML > TOPP_MapAlignerIdentification_6.stdout 2> TOPP_MapAlignerIdentification_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerIdentification_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerIdentification_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerIdentification_6.stdout)";fi
+MapAlignerSpectrum -test -ini MapAlignerSpectrum_parameters.ini -in MapAlignerSpectrum_1_input1.mzML MapAlignerSpectrum_1_input2.mzML MapAlignerSpectrum_1_input3.mzML -out MapAlignerSpectrum_1_output1.tmp MapAlignerSpectrum_1_output2.tmp MapAlignerSpectrum_1_output3.tmp > TOPP_MapAlignerSpectrum_1.stdout 2> TOPP_MapAlignerSpectrum_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerSpectrum_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerSpectrum_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerSpectrum_1.stdout)";fi
+MapAlignerTreeGuided -test -ini MapAlignerTreeGuided_parameters.ini -in MapAlignerTreeGuided_1_input1.featureXML MapAlignerTreeGuided_1_input2.featureXML MapAlignerTreeGuided_1_input3.featureXML -out MapAlignerTreeGuided_1_output1.tmp MapAlignerTreeGuided_1_output2.tmp MapAlignerTreeGuided_1_output3.tmp > TOPP_MapAlignerTreeGuided_1.stdout 2> TOPP_MapAlignerTreeGuided_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerTreeGuided_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerTreeGuided_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerTreeGuided_1.stdout)";fi
+MapAlignerTreeGuided -test -ini MapAlignerTreeGuided_parameters.ini -in MapAlignerTreeGuided_1_input1.featureXML MapAlignerTreeGuided_1_input2.featureXML MapAlignerTreeGuided_1_input3.featureXML -trafo_out MapAlignerTreeGuided_2_output1.tmp MapAlignerTreeGuided_2_output2.tmp MapAlignerTreeGuided_2_output3.tmp > TOPP_MapAlignerTreeGuided_2.stdout 2> TOPP_MapAlignerTreeGuided_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapAlignerTreeGuided_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapAlignerTreeGuided_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapAlignerTreeGuided_2.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_1_input.featureXML -trafo_in MapRTTransformer_trafo_linear.trafoXML -out MapRTTransformer_1_output.tmp > TOPP_MapRTTransformer_1.stdout 2> TOPP_MapRTTransformer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_1.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_2_input.mzML -trafo_in MapRTTransformer_trafo_linear.trafoXML -out MapRTTransformer_2_output.tmp > TOPP_MapRTTransformer_2.stdout 2> TOPP_MapRTTransformer_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_2.stdout)";fi
+MapRTTransformer -test -invert -trafo_in MapAlignerPoseClustering_1_trafo2.trafoXML -trafo_out MapRTTransformer_3_output.tmp > TOPP_MapRTTransformer_3.stdout 2> TOPP_MapRTTransformer_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_3.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_4_input.chrom.mzML -trafo_in MapRTTransformer_trafo_linear.trafoXML -out MapRTTransformer_4_output.tmp > TOPP_MapRTTransformer_4.stdout 2> TOPP_MapRTTransformer_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_4.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_1_input.featureXML -trafo_in MapRTTransformer_trafo_none.trafoXML -out MapRTTransformer_5_output.tmp > TOPP_MapRTTransformer_5.stdout 2> TOPP_MapRTTransformer_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_5.stdout)";fi
+MapRTTransformer -test -in MapRTTransformer_1_input.featureXML -trafo_in MapRTTransformer_trafo_linear.trafoXML -out MapRTTransformer_6_output.tmp -store_original_rt > TOPP_MapRTTransformer_6.stdout 2> TOPP_MapRTTransformer_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MapRTTransformer_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MapRTTransformer_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MapRTTransformer_6.stdout)";fi
+MetaProSIP -test -in_mzML MetaProSIP_1_input.mzML -in_fasta MetaProSIP_1_input.fasta -in_featureXML MetaProSIP_1_input.featureXML -out_csv MetaProSIP_1_output_1.tmp -out_peptide_centric_csv MetaProSIP_1_output_2.tmp > TOPP_MetaProSIP_1.stdout 2> TOPP_MetaProSIP_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MetaProSIP_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MetaProSIP_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MetaProSIP_1.stdout)";fi
+MascotAdapter -test -ini MascotAdapter_1_parameters.ini -mascot_in -in MascotAdapter_1_input.mzData > TOPP_MascotAdapter_1.stdout 2> TOPP_MascotAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MascotAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MascotAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MascotAdapter_1.stdout)";fi
+MascotAdapter -test -in MascotAdapter_2_input.mascotXML -out MascotAdapter_2_output.tmp -mascot_out > TOPP_MascotAdapter_2.stdout 2> TOPP_MascotAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MascotAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MascotAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MascotAdapter_2.stdout)";fi
+MSstatsConverter -test -in MSstatsConverter_1_in.consensusXML -retention_time_summarization_method max -in_design MSstatsConverter_1_design.tsv -out MSstatsConverter_1_out.tmp > TOPP_MSstatsConverter_1.stdout 2> TOPP_MSstatsConverter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSstatsConverter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSstatsConverter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSstatsConverter_1.stdout)";fi
+MSstatsConverter -test -in MSstatsConverter_2_in.consensusXML -method "ISO" -retention_time_summarization_method manual -in_design MSstatsConverter_2_design.tsv -out MSstatsConverter_2_out.tmp -msstats_bioreplicate MSstats_BioReplicate -msstats_condition MSstats_Condition -msstats_mixture MSstats_Mixture > TOPP_MSstatsConverter_2.stdout 2> TOPP_MSstatsConverter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSstatsConverter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSstatsConverter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSstatsConverter_2.stdout)";fi
+MSstatsConverter -test -in MSstatsConverter_3_in.consensusXML -method "ISO" -retention_time_summarization_method manual -in_design MSstatsConverter_3_design.tsv -out MSstatsConverter_3_out.tmp -msstats_bioreplicate MSstats_BioReplicate -msstats_condition MSstats_Condition -msstats_mixture MSstats_Mixture > TOPP_MSstatsConverter_3.stdout 2> TOPP_MSstatsConverter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSstatsConverter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSstatsConverter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSstatsConverter_3.stdout)";fi
+SpecLibSearcher -test -ini SpecLibSearcher_1_parameters.ini -in SpecLibSearcher_1.mzML -lib SpecLibSearcher_1.MSP -out SpecLibSearcher_1.tmp > TOPP_SpecLibSearcher_1.stdout 2> TOPP_SpecLibSearcher_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpecLibSearcher_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpecLibSearcher_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpecLibSearcher_1.stdout)";fi
+OpenSwathAssayGenerator -test -in OpenSwathAssayGenerator_input.TraML -out OpenSwathAssayGenerator_output.TraML.tmp -out_type TraML -min_transitions 6 -max_transitions 6 -allowed_fragment_types b,y -allowed_fragment_charges 2,3 -enable_detection_specific_losses > TOPP_OpenSwathAssayGenerator_test_1.stdout 2> TOPP_OpenSwathAssayGenerator_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAssayGenerator_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAssayGenerator_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAssayGenerator_test_1.stdout)";fi
+OpenSwathAssayGenerator -test -in OpenSwathAssayGenerator_input_2.TraML -out OpenSwathAssayGenerator_output_2.TraML.tmp -out_type TraML -allowed_fragment_charges 1,2,3,4 -enable_ipf -unimod_file OpenSwathAssayGenerator_input_2_unimod.xml > TOPP_OpenSwathAssayGenerator_test_2.stdout 2> TOPP_OpenSwathAssayGenerator_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAssayGenerator_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAssayGenerator_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAssayGenerator_test_2.stdout)";fi
+OpenSwathAssayGenerator -test -in OpenSwathAssayGenerator_input_2.TraML -out OpenSwathAssayGenerator_output_3.TraML.tmp -out_type TraML -allowed_fragment_charges 1,2,3,4 -enable_ipf -unimod_file OpenSwathAssayGenerator_input_3_unimod.xml > TOPP_OpenSwathAssayGenerator_test_3.stdout 2> TOPP_OpenSwathAssayGenerator_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAssayGenerator_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAssayGenerator_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAssayGenerator_test_3.stdout)";fi
+OpenSwathDecoyGenerator -test -in OpenSwathDecoyGenerator_input.TraML -out OpenSwathDecoyGenerator.TraML.tmp -out_type TraML -method pseudo-reverse -separate -switchKR false > TOPP_OpenSwathDecoyGenerator_test_1.stdout 2> TOPP_OpenSwathDecoyGenerator_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathDecoyGenerator_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathDecoyGenerator_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathDecoyGenerator_test_1.stdout)";fi
+OpenSwathDecoyGenerator -test -in OpenSwathDecoyGenerator_input_2.TraML -out OpenSwathDecoyGenerator_2.TraML.tmp -out_type TraML -method pseudo-reverse -product_mz_threshold 0.8 -switchKR false > TOPP_OpenSwathDecoyGenerator_test_2.stdout 2> TOPP_OpenSwathDecoyGenerator_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathDecoyGenerator_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathDecoyGenerator_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathDecoyGenerator_test_2.stdout)";fi
+OpenSwathDecoyGenerator -test -in OpenSwathDecoyGenerator_input_3.TraML -out OpenSwathDecoyGenerator_3.TraML.tmp -out_type TraML -method pseudo-reverse -separate -switchKR false > TOPP_OpenSwathDecoyGenerator_test_3.stdout 2> TOPP_OpenSwathDecoyGenerator_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathDecoyGenerator_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathDecoyGenerator_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathDecoyGenerator_test_3.stdout)";fi
+OpenSwathDecoyGenerator -test -in OpenSwathDecoyGenerator_input_4.tsv -out OpenSwathDecoyGenerator_4.TraML.tmp -out_type TraML -method pseudo-reverse -separate -switchKR true -enable_detection_unspecific_losses  -enable_detection_specific_losses -min_decoy_fraction 0.4 > TOPP_OpenSwathDecoyGenerator_test_4.stdout 2> TOPP_OpenSwathDecoyGenerator_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathDecoyGenerator_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathDecoyGenerator_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathDecoyGenerator_test_4.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_1_input.tsv -out ConvertTSVToTraML_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_1.stdout 2> TOPP_ConvertTSVToTraML_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_1.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_2_input.tsv -out ConvertTSVToTraML_2_output.TraML.tmp -algorithm:retentionTimeInterpretation minutes -out_type TraML > TOPP_ConvertTSVToTraML_test_2.stdout 2> TOPP_ConvertTSVToTraML_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_2.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_2_input.tsv -out ConvertTSVToTraML_3_output.TraML.tmp -algorithm:retentionTimeInterpretation seconds -out_type TraML > TOPP_ConvertTSVToTraML_test_3.stdout 2> TOPP_ConvertTSVToTraML_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_3.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_4_input.mrm -out ConvertTSVToTraML_4_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_4.stdout 2> TOPP_ConvertTSVToTraML_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_4.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_5_input.tsv -out ConvertTSVToTraML_5_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_5.stdout 2> TOPP_ConvertTSVToTraML_test_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_5.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_6_input.tsv -out ConvertTSVToTraML_6_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_6.stdout 2> TOPP_ConvertTSVToTraML_test_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_6.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_7_input_Skyline.tsv -out ConvertTSVToTraML_7_output.TraML.tmp -out_type TraML > TOPP_ConvertTSVToTraML_test_7.stdout 2> TOPP_ConvertTSVToTraML_test_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConvertTSVToTraML_test_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConvertTSVToTraML_test_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConvertTSVToTraML_test_7.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_1_input.TraML -out TargetedFileConverter_1_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_1_prepare.stdout 2> TOPP_TargetedFileConverter_test_1_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_1_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_1_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_1_prepare.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_1_output.pqp.tmp -in_type pqp -out TargetedFileConverter_1_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_1.stdout 2> TOPP_TargetedFileConverter_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_1.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_1_output.pqp.tmp -in_type pqp -out TargetedFileConverter_2_output.TraML.tmp -out_type TraML -legacy_traml_id > TOPP_TargetedFileConverter_test_2.stdout 2> TOPP_TargetedFileConverter_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_2.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_3_input.TraML -out TargetedFileConverter_3_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_3_prepare.stdout 2> TOPP_TargetedFileConverter_test_3_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_3_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_3_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_3_prepare.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_3_output.pqp.tmp -in_type pqp -out TargetedFileConverter_3_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_3.stdout 2> TOPP_TargetedFileConverter_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_3.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_3_output.pqp.tmp -in_type pqp -out TargetedFileConverter_4_output.TraML.tmp -out_type TraML -legacy_traml_id > TOPP_TargetedFileConverter_test_4.stdout 2> TOPP_TargetedFileConverter_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_4.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_10_input.pqp  -out TargetedFileConverter_10_output.TraML.tmp -out_type TraML -legacy_traml_id > TOPP_TargetedFileConverter_test_10_prepare.stdout 2> TOPP_TargetedFileConverter_test_10_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_10_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_10_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_10_prepare.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_10_output.TraML.tmp -in_type TraML -out TargetedFileConverter_10_output.tsv.tmp -out_type tsv > TOPP_TargetedFileConverter_test_10.stdout 2> TOPP_TargetedFileConverter_test_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_10.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_11_input.TraML -out TargetedFileConverter_11_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_11_prepare.stdout 2> TOPP_TargetedFileConverter_test_11_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_11_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_11_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_11_prepare.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_11_output.pqp.tmp -in_type pqp -out TargetedFileConverter_11_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_11.stdout 2> TOPP_TargetedFileConverter_test_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_11.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_8_input.tsv -out TargetedFileConverter_8_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_8_prepare.stdout 2> TOPP_TargetedFileConverter_test_8_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_8_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_8_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_8_prepare.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_8_output.TraML.tmp -in_type TraML -out TargetedFileConverter_8_output.tsv.tmp -out_type tsv > TOPP_TargetedFileConverter_test_8.stdout 2> TOPP_TargetedFileConverter_test_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_8.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_9_input.TraML -out TargetedFileConverter_9_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_9_prepare.stdout 2> TOPP_TargetedFileConverter_test_9_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_9_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_9_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_9_prepare.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_9_output.pqp.tmp -in_type pqp -out TargetedFileConverter_9_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_9.stdout 2> TOPP_TargetedFileConverter_test_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_9.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_output.TraML -out ConvertTraMLToTSV_output.tmp.tsv -out_type tsv > TOPP_TargetedFileConverter_test_5.stdout 2> TOPP_TargetedFileConverter_test_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_5.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_12_input.TraML -out TargetedFileConverter_12_output.pqp.tmp -out_type pqp > TOPP_TargetedFileConverter_test_12_prepare.stdout 2> TOPP_TargetedFileConverter_test_12_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_12_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_12_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_12_prepare.stdout)";fi
+TargetedFileConverter -algorithm:override_group_label_check -test -in TargetedFileConverter_12_output.pqp.tmp -in_type pqp -out TargetedFileConverter_12_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_12.stdout 2> TOPP_TargetedFileConverter_test_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_12.stdout)";fi
+TargetedFileConverter -test -in TargetedFileConverter_12_input.tsv -out TargetedFileConverter_13_output.TraML.tmp -out_type TraML > TOPP_TargetedFileConverter_test_13.stdout 2> TOPP_TargetedFileConverter_test_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_13.stdout)";fi
+TargetedFileConverter -test -in ConvertTSVToTraML_5_output.TraML -out ConvertTraMLToTSV_output_2.tmp.tsv -out_type tsv > TOPP_TargetedFileConverter_test_6.stdout 2> TOPP_TargetedFileConverter_test_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_6.stdout)";fi
+TargetedFileConverter -test -in ConvertTraMLToTSV_output_2.tmp.tsv -in_type tsv -out ConvertTraMLToTSV_output_2.tsv.back.tmp -out_type TraML > TOPP_TargetedFileConverter_test_6_convert_back.stdout 2> TOPP_TargetedFileConverter_test_6_convert_back.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TargetedFileConverter_test_6_convert_back failed'; >&2 echo -e "stderr:\n$(cat TOPP_TargetedFileConverter_test_6_convert_back.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TargetedFileConverter_test_6_convert_back.stdout)";fi
+MRMMapper -in MRMMapping_input.chrom.mzML -tr MRMMapping_input.TraML -out MRMMapping_output_1.chrom.mzML.tmp -test -algorithm:precursor_tolerance 0.3 -algorithm:product_tolerance 0.3 > TOPP_MRMMapper_test_1.stdout 2> TOPP_MRMMapper_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MRMMapper_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MRMMapper_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MRMMapper_test_1.stdout)";fi
+MRMMapper -in MRMMapping_input.chrom.mzML -tr MRMMapping_input_2.TraML -out MRMMapping_output_2.chrom.mzML.tmp -test -algorithm:precursor_tolerance 0.01 -algorithm:product_tolerance 0.01 > TOPP_MRMMapper_test_2.stdout 2> TOPP_MRMMapper_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MRMMapper_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MRMMapper_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MRMMapper_test_2.stdout)";fi
+OpenSwathFeatureXMLToTSV -in OpenSwathFeatureXMLToTSV_input.featureXML -tr OpenSwathFeatureXMLToTSV_input.TraML -out OpenSwathFeatureXMLToTSV_output.short.csv.tmp -short_format -test > TOPP_OpenSwathFeatureXMLToTSV_test_1.stdout 2> TOPP_OpenSwathFeatureXMLToTSV_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathFeatureXMLToTSV_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_1.stdout)";fi
+OpenSwathFeatureXMLToTSV -in OpenSwathFeatureXMLToTSV_input.featureXML -tr OpenSwathFeatureXMLToTSV_input.TraML -out OpenSwathFeatureXMLToTSV_output.long.csv.tmp -test > TOPP_OpenSwathFeatureXMLToTSV_test_2.stdout 2> TOPP_OpenSwathFeatureXMLToTSV_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathFeatureXMLToTSV_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_2.stdout)";fi
+OpenSwathFeatureXMLToTSV -in OpenSwathFeatureXMLToTSV_input.featureXML -tr OpenSwathFeatureXMLToTSV_input.TraML -out OpenSwathFeatureXMLToTSV_3_output.short.csv.tmp -short_format -best_scoring_peptide main_var_xx_lda_prelim_score -test > TOPP_OpenSwathFeatureXMLToTSV_test_3.stdout 2> TOPP_OpenSwathFeatureXMLToTSV_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathFeatureXMLToTSV_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathFeatureXMLToTSV_test_3.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_input.mzML -tr OpenSwathChromatogramExtractor_input.TraML -out OpenSwathChromatogramExtractor_output.mzML.tmp -test > TOPP_OpenSwathChromatogramExtractor_test_1.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_1.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_input.mzML -tr OpenSwathChromatogramExtractor_input.TraML -rt_norm OpenSwathChromatogramExtractor_input.trafoXML -out OpenSwathChromatogramExtractor_output_2.mzML.tmp -test -rt_window 50 > TOPP_OpenSwathChromatogramExtractor_test_2.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_2.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_input.mzML -tr OpenSwathChromatogramExtractor_input.TraML -out OpenSwathChromatogramExtractor_output_3.mzML.tmp -test -extract_MS1 > TOPP_OpenSwathChromatogramExtractor_test_3.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_3.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_4_input.mzML -tr OpenSwathChromatogramExtractor_4_input.TraML -out OpenSwathChromatogramExtractor_output_4.mzML.tmp -ion_mobility_window 0.05 -is_swath -test > TOPP_OpenSwathChromatogramExtractor_test_4.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_4.stdout)";fi
+OpenSwathChromatogramExtractor -in OpenSwathChromatogramExtractor_input.mzML -tr OpenSwathChromatogramExtractor_5_input.TraML -out OpenSwathChromatogramExtractor_5_output.mzML.tmp -test -extract_MS1 > TOPP_OpenSwathChromatogramExtractor_test_5.stdout 2> TOPP_OpenSwathChromatogramExtractor_test_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathChromatogramExtractor_test_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathChromatogramExtractor_test_5.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_1_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -test > TOPP_OpenSwathAnalyzer_test_1.stdout 2> TOPP_OpenSwathAnalyzer_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_1.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_2_output.featureXML.tmp -swath_files OpenSwathAnalyzer_2_swathfile.mzML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -test > TOPP_OpenSwathAnalyzer_test_2.stdout 2> TOPP_OpenSwathAnalyzer_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_2.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_mod_input.TraML -out OpenSwathAnalyzer_5_output.featureXML.tmp -swath_files OpenSwathAnalyzer_2_swathfile.mzML -ini OpenSwathAnalyzer_5.ini -test > TOPP_OpenSwathAnalyzer_test_5_mod.stdout 2> TOPP_OpenSwathAnalyzer_test_5_mod.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_5_mod failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_5_mod.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_5_mod.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_6_output.featureXML.tmp -swath_files OpenSwathAnalyzer_2_swathfile.mzML -ini OpenSwathAnalyzer_5.ini -test > TOPP_OpenSwathAnalyzer_test_6_nomod.stdout 2> TOPP_OpenSwathAnalyzer_test_6_nomod.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_6_nomod failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_6_nomod.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_6_nomod.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_7_output.featureXML.tmp -ini OpenSwathAnalyzer_7_backgroundSubtraction.ini -test > TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction.stdout 2> TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_7_backgroundSubtraction.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_8_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -algorithm:Scores:use_ms1_mi -algorithm:Scores:use_mi_score -algorithm:Scores:use_total_mi_score -test > TOPP_OpenSwathAnalyzer_test_8.stdout 2> TOPP_OpenSwathAnalyzer_test_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_8.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_9_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -algorithm:Scores:use_mi_score -test > TOPP_OpenSwathAnalyzer_test_9.stdout 2> TOPP_OpenSwathAnalyzer_test_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_9.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_10_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -algorithm:Scores:use_mi_score -algorithm:Scores:use_total_mi_score -test > TOPP_OpenSwathAnalyzer_test_10.stdout 2> TOPP_OpenSwathAnalyzer_test_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_10.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out OpenSwathAnalyzer_11_output.featureXML.tmp -rt_norm OpenSwathAnalyzer_input.trafoXML -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -algorithm:Scores:use_total_mi_score -test > TOPP_OpenSwathAnalyzer_test_11.stdout 2> TOPP_OpenSwathAnalyzer_test_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_11.stdout)";fi
+OpenSwathRTNormalizer -in OpenSwathRTNormalizer_1_input.mzML -tr OpenSwathRTNormalizer_1_input.TraML -out OpenSwathRTNormalizer_1_output.trafoXML.tmp -test > TOPP_OpenSwathRTNormalizer_test_1.stdout 2> TOPP_OpenSwathRTNormalizer_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathRTNormalizer_test_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathRTNormalizer_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathRTNormalizer_test_1.stdout)";fi
+OpenSwathRTNormalizer -in OpenSwathRTNormalizer_1_input.mzML -tr OpenSwathRTNormalizer_1_input.TraML -out OpenSwathRTNormalizer_3_output.trafoXML.tmp -test -estimateBestPeptides -peptideEstimation:NrRTBins 3 -peptideEstimation:MinBinsFilled 3 > TOPP_OpenSwathRTNormalizer_test_3.stdout 2> TOPP_OpenSwathRTNormalizer_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathRTNormalizer_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathRTNormalizer_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathRTNormalizer_test_3.stdout)";fi
+OpenSwathRTNormalizer -in OpenSwathRTNormalizer_1_input.mzML -tr OpenSwathRTNormalizer_1_input.TraML -out OpenSwathRTNormalizer_4_output.trafoXML.tmp -test -RTNormalization:outlierMethod iter_residual > TOPP_OpenSwathRTNormalizer_test_4.stdout 2> TOPP_OpenSwathRTNormalizer_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathRTNormalizer_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathRTNormalizer_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathRTNormalizer_test_4.stdout)";fi
+OpenSwathConfidenceScoring -test -in OpenSwathFeatureXMLToTSV_input.featureXML -lib OpenSwathFeatureXMLToTSV_input.TraML -trafo OpenSwathConfidenceScoring_1_input.trafoXML -transitions 2 -decoys 1 -out OpenSwathConfidenceScoring_1_output.tmp > TOPP_OpenSwathConfidenceScoring_1.stdout 2> TOPP_OpenSwathConfidenceScoring_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathConfidenceScoring_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathConfidenceScoring_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathConfidenceScoring_1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.mzML -out OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML -test > TOPP_OpenSwathMzMLFileCacher_test_1_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_1_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_1_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_1_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_1_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML -out OpenSwathMzMLFileCacher_1_output.tmp.mzML -convert_back -test > TOPP_OpenSwathMzMLFileCacher_test_1_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_1_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_1_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_1_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_1_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_2_input.chrom.mzML -out OpenSwathMzMLFileCacher_2_input.chrom.cached.tmp.mzML -test > TOPP_OpenSwathMzMLFileCacher_test_2_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_2_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_2_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_2_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_2_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_2_input.chrom.cached.tmp.mzML -out OpenSwathMzMLFileCacher_2_output.chrom.tmp.mzML -convert_back -test > TOPP_OpenSwathMzMLFileCacher_test_2_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_2_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_2_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_2_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_2_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.mzML -out OpenSwathMzMLFileCacher_3_input.tmp.sqMass -test -lossy_compression true -lossy_mass_accuracy 1e-4 > TOPP_OpenSwathMzMLFileCacher_test_3_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_3_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_3_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_3_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_3_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_3_input.tmp.sqMass -out OpenSwathMzMLFileCacher_3_output.tmp.mzML -test > TOPP_OpenSwathMzMLFileCacher_test_3_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_3_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_3_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_3_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_3_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_2_input.chrom.mzML -out OpenSwathMzMLFileCacher_4_input.tmp.sqMass -test > TOPP_OpenSwathMzMLFileCacher_test_4_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_4_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_4_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_4_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_4_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_4_input.tmp.sqMass -out OpenSwathMzMLFileCacher_4_output.tmp.mzML -test > TOPP_OpenSwathMzMLFileCacher_test_4_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_4_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_4_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_4_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_4_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.mzML -out OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML -test -process_lowmemory > TOPP_OpenSwathMzMLFileCacher_test_5_step1.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_5_step1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_5_step1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_5_step1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_5_step1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathMzMLFileCacher_1_input.cached.tmp.mzML -out OpenSwathMzMLFileCacher_1_output.tmp.mzML -convert_back -test > TOPP_OpenSwathMzMLFileCacher_test_5_step2.stdout 2> TOPP_OpenSwathMzMLFileCacher_test_5_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathMzMLFileCacher_test_5_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_5_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathMzMLFileCacher_test_5_step2.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathAnalyzer_2_swathfile.mzML -out OpenSwathAnalyzer_3_swathfile.mzML.cached.tmp -out_type mzML -test > TOPP_OpenSwathAnalyzer_test_3_prepare.stdout 2> TOPP_OpenSwathAnalyzer_test_3_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_3_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_3_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_3_prepare.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_1_input_chrom.mzML -tr OpenSwathAnalyzer_1_input.TraML -out MRMFeatureFinderScore_output_3.featureXML.tmp -swath_files OpenSwathAnalyzer_3_swathfile.mzML.cached.tmp -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -test > TOPP_OpenSwathAnalyzer_test_3.stdout 2> TOPP_OpenSwathAnalyzer_test_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_3.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathAnalyzer_2_swathfile.mzML -out OpenSwathAnalyzer_4_swathfile.mzML.cached.tmp -out_type mzML -test > TOPP_OpenSwathAnalyzer_test_4_prepare1.stdout 2> TOPP_OpenSwathAnalyzer_test_4_prepare1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_4_prepare1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_4_prepare1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_4_prepare1.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathAnalyzer_1_input_chrom.mzML -out OpenSwathAnalyzer_4_input_chrom.mzML.cached.tmp -out_type mzML -test > TOPP_OpenSwathAnalyzer_test_4_prepare2.stdout 2> TOPP_OpenSwathAnalyzer_test_4_prepare2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_4_prepare2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_4_prepare2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_4_prepare2.stdout)";fi
+OpenSwathAnalyzer -in OpenSwathAnalyzer_4_input_chrom.mzML.cached.tmp -tr OpenSwathAnalyzer_1_input.TraML -out MRMFeatureFinderScore_output_4.featureXML.tmp -swath_files OpenSwathAnalyzer_4_swathfile.mzML.cached.tmp -algorithm:TransitionGroupPicker:PeakPickerMRM:peak_width 40.0 -algorithm:TransitionGroupPicker:PeakPickerMRM:method legacy -test > TOPP_OpenSwathAnalyzer_test_4.stdout 2> TOPP_OpenSwathAnalyzer_test_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathAnalyzer_test_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathAnalyzer_test_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathAnalyzer_test_4.stdout)";fi
+MRMTransitionGroupPicker -in MRMTransitionGroupPicker_1_input.mzML -tr MRMTransitionGroupPicker_1_input.TraML -out MRMTransitionGroupPicker_test_1.featureXML.tmp -test -algorithm:PeakPickerMRM:remove_overlapping_peaks true -algorithm:PeakPickerMRM:method legacy -algorithm:PeakPickerMRM:peak_width 40.0 > UTILS_MRMTransitionGroupPicker_test_1.stdout 2> UTILS_MRMTransitionGroupPicker_test_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MRMTransitionGroupPicker_test_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MRMTransitionGroupPicker_test_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MRMTransitionGroupPicker_test_1.stdout)";fi
+MRMTransitionGroupPicker -in MRMTransitionGroupPicker_1_input.mzML -tr MRMTransitionGroupPicker_1_input.TraML -out MRMTransitionGroupPicker_test_2.featureXML.tmp -test -algorithm:PeakPickerMRM:remove_overlapping_peaks true -algorithm:PeakPickerMRM:method legacy -algorithm:PeakPickerMRM:peak_width 40.0 -algorithm:compute_total_mi > UTILS_MRMTransitionGroupPicker_test_2.stdout 2> UTILS_MRMTransitionGroupPicker_test_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MRMTransitionGroupPicker_test_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MRMTransitionGroupPicker_test_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MRMTransitionGroupPicker_test_2.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_1.chrom.mzML.tmp -out_features OpenSwathWorkflow_1.featureXML.tmp -out_qc OpenSwathWorkflow_1.json.tmp -test > TOPP_OpenSwathWorkflow_1.stdout 2> TOPP_OpenSwathWorkflow_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_1.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_2_input.mzXML -tr OpenSwathWorkflow_2_input.TraML -rt_norm OpenSwathWorkflow_2_input.trafoXML -out_chrom OpenSwathWorkflow_2.chrom.mzML.tmp -out_features OpenSwathWorkflow_2.featureXML.tmp -test > TOPP_OpenSwathWorkflow_2.stdout 2> TOPP_OpenSwathWorkflow_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_2.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_3.chrom.mzML.tmp -out_features OpenSwathWorkflow_3.featureXML.tmp -test -use_ms1_traces > TOPP_OpenSwathWorkflow_3.stdout 2> TOPP_OpenSwathWorkflow_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_3.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_4.chrom.mzML.tmp -out_tsv OpenSwathWorkflow_4.tsv.tmp -test -use_ms1_traces > TOPP_OpenSwathWorkflow_4.stdout 2> TOPP_OpenSwathWorkflow_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_4.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_5.chrom.mzML.tmp -out_features OpenSwathWorkflow_5.featureXML.tmp -test -use_ms1_traces -readOptions cache -tempDirectory "." > TOPP_OpenSwathWorkflow_5.stdout 2> TOPP_OpenSwathWorkflow_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_5.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_6.chrom.mzML.tmp -out_features OpenSwathWorkflow_6.featureXML.tmp -test -use_ms1_traces -readOptions cacheWorkingInMemory -tempDirectory "." > TOPP_OpenSwathWorkflow_6.stdout 2> TOPP_OpenSwathWorkflow_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_6.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_7.chrom.mzML.tmp -out_features OpenSwathWorkflow_7.featureXML.tmp -test -use_ms1_traces -swath_windows_file swath_windows.txt > TOPP_OpenSwathWorkflow_7.stdout 2> TOPP_OpenSwathWorkflow_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_7.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_10.chrom.mzML.tmp -out_features OpenSwathWorkflow_10.featureXML.tmp -test -use_ms1_traces -swath_windows_file swath_windows_overlap.txt -force > TOPP_OpenSwathWorkflow_10.stdout 2> TOPP_OpenSwathWorkflow_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_10.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_11_input.mzML -tr_irt OpenSwathWorkflow_11_input.TraML -tr OpenSwathWorkflow_11_input.TraML -mz_extraction_window 0.2 -rt_extraction_window -1 -Scoring:Scores:use_sonar_scores -sonar -out_chrom OpenSwathWorkflow_11.chrom.mzML.tmp -out_features OpenSwathWorkflow_11.featureXML.tmp -RTNormalization:outlierMethod none -mz_correction_function quadratic_regression_delta_ppm -irt_mz_extraction_window 550 -irt_mz_extraction_window_unit ppm -test > TOPP_OpenSwathWorkflow_11.stdout 2> TOPP_OpenSwathWorkflow_11.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_11 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_11.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_11.stdout)";fi
+TargetedFileConverter -test -in OpenSwathWorkflow_1_input.TraML -out OpenSwathWorkflow_13_input.pqp.tmp -out_type pqp > TOPP_OpenSwathWorkflow_13_prepare.stdout 2> TOPP_OpenSwathWorkflow_13_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_13_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_13_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_13_prepare.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_13_input.pqp.tmp -tr_type pqp -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_13.chrom.mzML.tmp -out_osw OpenSwathWorkflow_13.osw -test -use_ms1_traces > TOPP_OpenSwathWorkflow_13.stdout 2> TOPP_OpenSwathWorkflow_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_13.stdout)";fi
+TargetedFileConverter -test -in OpenSwathWorkflow_1_input.TraML -out OpenSwathWorkflow_14_input.pqp.tmp -out_type pqp > TOPP_OpenSwathWorkflow_14_prepare.stdout 2> TOPP_OpenSwathWorkflow_14_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_14_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_14_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_14_prepare.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_14_input.pqp.tmp -tr_type pqp -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_14.chrom.tmp.sqMass -out_osw OpenSwathWorkflow_14.osw -test -use_ms1_traces > TOPP_OpenSwathWorkflow_14.stdout 2> TOPP_OpenSwathWorkflow_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_14.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathWorkflow_14.chrom.tmp.sqMass -out OpenSwathWorkflow_14.chrom.tmp.mzML -test -lossy_compression false -lossy_mass_accuracy 1e-4 -full_meta false > TOPP_OpenSwathWorkflow_14_step2.stdout 2> TOPP_OpenSwathWorkflow_14_step2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_14_step2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_14_step2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_14_step2.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_15_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_15.chrom.mzML.tmp -out_features OpenSwathWorkflow_15.featureXML.tmp -test -use_ms1_traces -Scoring:TransitionGroupPicker:compute_peak_quality false -Scoring:TransitionGroupPicker:use_precursors -ms1_isotopes 2 > TOPP_OpenSwathWorkflow_15.stdout 2> TOPP_OpenSwathWorkflow_15.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_15 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_15.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_15.stdout)";fi
+OpenSwathMzMLFileCacher -in OpenSwathWorkflow_1_input.mzML -out OpenSwathWorkflow_16_input.sqMass -test -lossy_compression true -lossy_mass_accuracy 1e-4 -full_meta true > TOPP_OpenSwathWorkflow_16_prepare.stdout 2> TOPP_OpenSwathWorkflow_16_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_16_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_16_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_16_prepare.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_16_input.sqMass -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_chrom OpenSwathWorkflow_16.chrom.mzML.tmp -out_features OpenSwathWorkflow_16.featureXML.tmp -test -use_ms1_traces -readOptions workingInMemory -ms1_isotopes 2 > TOPP_OpenSwathWorkflow_16.stdout 2> TOPP_OpenSwathWorkflow_16.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_16 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_16.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_16.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_17_input.mzML -tr OpenSwathWorkflow_17_input.tsv -out_chrom OpenSwathWorkflow_17.chrom.mzML.tmp -out_features OpenSwathWorkflow_17.featureXML.tmp -test -use_ms1_traces -readOptions workingInMemory -ion_mobility_window 0.05 -use_ms1_ion_mobility "false" -Scoring:Scores:use_ion_mobility_scores > TOPP_OpenSwathWorkflow_17.stdout 2> TOPP_OpenSwathWorkflow_17.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_17 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_17.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_17.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_17_input.mzML -tr OpenSwathWorkflow_17_input.tsv -out_chrom OpenSwathWorkflow_17.chrom.mzML.tmp -out_features OpenSwathWorkflow_17.featureXML.tmp -test -use_ms1_traces -readOptions cache -ion_mobility_window 0.05 -use_ms1_ion_mobility "false" -Scoring:Scores:use_ion_mobility_scores > TOPP_OpenSwathWorkflow_17_cache.stdout 2> TOPP_OpenSwathWorkflow_17_cache.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_17_cache failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_17_cache.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_17_cache.stdout)";fi
+TargetedFileConverter -test -in OpenSwathWorkflow_17_input.tsv -out OpenSwathWorkflow_17_input.pqp.tmp -out_type pqp > TOPP_OpenSwathWorkflow_17_b_prepare.stdout 2> TOPP_OpenSwathWorkflow_17_b_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_17_b_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_17_b_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_17_b_prepare.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_17_input.mzML -tr_type pqp -tr OpenSwathWorkflow_17_input.pqp.tmp -out_chrom OpenSwathWorkflow_17_b.chrom.mzML.tmp -out_features OpenSwathWorkflow_17_b.featureXML.tmp -test -use_ms1_traces -readOptions workingInMemory -ion_mobility_window 0.05 -use_ms1_ion_mobility "false" > TOPP_OpenSwathWorkflow_17_b.stdout 2> TOPP_OpenSwathWorkflow_17_b.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_17_b failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_17_b.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_17_b.stdout)";fi
+OpenSwathFileSplitter -in OpenSwathWorkflow_1_input.mzML -outputDirectory ""  -out_qc OpenSwathFileSplitter_1.json.tmp -test > TOPP_OpenSwathFileSplitter_1.stdout 2> TOPP_OpenSwathFileSplitter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathFileSplitter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathFileSplitter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathFileSplitter_1.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_features OpenSwathWorkflow_18.featureXML.tmp -test -use_ms1_traces -Scoring:Scores:use_ms1_mi > TOPP_OpenSwathWorkflow_18.stdout 2> TOPP_OpenSwathWorkflow_18.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_18 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_18.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_18.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_features OpenSwathWorkflow_19.featureXML.tmp -test -use_ms1_traces -Scoring:Scores:use_mi_score > TOPP_OpenSwathWorkflow_19.stdout 2> TOPP_OpenSwathWorkflow_19.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_19 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_19.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_19.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_1_input.mzML -tr OpenSwathWorkflow_1_input.TraML -rt_norm OpenSwathWorkflow_1_input.trafoXML -out_features OpenSwathWorkflow_20.featureXML.tmp -test -use_ms1_traces -Scoring:Scores:use_mi_score -Scoring:Scores:use_total_mi_score > TOPP_OpenSwathWorkflow_20.stdout 2> TOPP_OpenSwathWorkflow_20.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_20 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_20.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_20.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_21_input.mzML -tr OpenSwathWorkflow_21_input.tsv -tr_irt OpenSwathWorkflow_21_input.irt.TraML -out_features OpenSwathWorkflow_21.featureXML.tmp -Debugging:irt_trafo OpenSwathWorkflow_21.trafoXML.tmp -out_chrom OpenSwathWorkflow_21.mzML.tmp -test -use_ms1_traces -Scoring:Scores:use_mi_score -Scoring:Scores:use_total_mi_score > TOPP_OpenSwathWorkflow_21.stdout 2> TOPP_OpenSwathWorkflow_21.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_21 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_21.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_21.stdout)";fi
+OpenSwathWorkflow -in OpenSwathWorkflow_22_input.mzML -tr OpenSwathWorkflow_22_input.tsv -out_chrom OpenSwathWorkflow_22.chrom.mzML.tmp -out_features OpenSwathWorkflow_22.featureXML.tmp -test -use_ms1_traces -readOptions workingInMemory -matching_window_only "true" -ms1_isotopes 3 > TOPP_OpenSwathWorkflow_22.stdout 2> TOPP_OpenSwathWorkflow_22.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenSwathWorkflow_22 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenSwathWorkflow_22.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenSwathWorkflow_22.stdout)";fi
+NoiseFilterGaussian -test -ini NoiseFilterGaussian_1_parameters.ini -in NoiseFilterGaussian_1_input.mzML -out NoiseFilterGaussian_1.tmp > TOPP_NoiseFilterGaussian_1.stdout 2> TOPP_NoiseFilterGaussian_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterGaussian_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterGaussian_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterGaussian_1.stdout)";fi
+NoiseFilterGaussian -test -ini NoiseFilterGaussian_2_parameters.ini -in NoiseFilterGaussian_2_input.chrom.mzML -out NoiseFilterGaussian_2.tmp > TOPP_NoiseFilterGaussian_2.stdout 2> TOPP_NoiseFilterGaussian_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterGaussian_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterGaussian_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterGaussian_2.stdout)";fi
+NoiseFilterGaussian -test -ini NoiseFilterGaussian_1_parameters.ini -in NoiseFilterGaussian_1_input.mzML -out NoiseFilterGaussian_3.tmp -processOption lowmemory > TOPP_NoiseFilterGaussian_3.stdout 2> TOPP_NoiseFilterGaussian_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterGaussian_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterGaussian_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterGaussian_3.stdout)";fi
+NoiseFilterGaussian -test -ini NoiseFilterGaussian_2_parameters.ini -in NoiseFilterGaussian_2_input.chrom.mzML -out NoiseFilterGaussian_4.tmp -processOption lowmemory > TOPP_NoiseFilterGaussian_4.stdout 2> TOPP_NoiseFilterGaussian_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterGaussian_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterGaussian_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterGaussian_4.stdout)";fi
+NoiseFilterSGolay -test -ini NoiseFilterSGolay_1_parameters.ini -in NoiseFilterSGolay_1_input.mzML -out NoiseFilterSGolay_1.tmp > TOPP_NoiseFilterSGolay_1.stdout 2> TOPP_NoiseFilterSGolay_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterSGolay_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterSGolay_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterSGolay_1.stdout)";fi
+NoiseFilterSGolay -test -ini NoiseFilterSGolay_2_parameters.ini -in NoiseFilterSGolay_2_input.chrom.mzML -out NoiseFilterSGolay_2.tmp > TOPP_NoiseFilterSGolay_2.stdout 2> TOPP_NoiseFilterSGolay_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterSGolay_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterSGolay_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterSGolay_2.stdout)";fi
+NoiseFilterSGolay -test -ini NoiseFilterSGolay_1_parameters.ini -in NoiseFilterSGolay_1_input.mzML -out NoiseFilterSGolay_3.tmp -processOption lowmemory > TOPP_NoiseFilterSGolay_3.stdout 2> TOPP_NoiseFilterSGolay_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterSGolay_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterSGolay_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterSGolay_3.stdout)";fi
+NoiseFilterSGolay -test -ini NoiseFilterSGolay_2_parameters.ini -in NoiseFilterSGolay_2_input.chrom.mzML -out NoiseFilterSGolay_4.tmp -processOption lowmemory > TOPP_NoiseFilterSGolay_4.stdout 2> TOPP_NoiseFilterSGolay_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NoiseFilterSGolay_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NoiseFilterSGolay_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NoiseFilterSGolay_4.stdout)";fi
+PeakPickerWavelet  -test -ini PeakPickerWavelet_parameters.ini -in PeakPickerWavelet_input.mzML -out PeakPickerWavelet_1.tmp > TOPP_PeakPickerWavelet_1.stdout 2> TOPP_PeakPickerWavelet_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerWavelet_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerWavelet_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerWavelet_1.stdout)";fi
+PeakPickerWavelet  -test -ini PeakPickerWavelet_deconv_parameters.ini -in PeakPickerWavelet_deconv_input.mzML -out PeakPickerWavelet_2.tmp > TOPP_PeakPickerWavelet_2.stdout 2> TOPP_PeakPickerWavelet_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerWavelet_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerWavelet_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerWavelet_2.stdout)";fi
+PeakPickerWavelet  -test -ini PeakPickerWavelet_parameters.ini -in PeakPickerWavelet_input.mzML -out PeakPickerWavelet_4.tmp -threads 2 > TOPP_PeakPickerWavelet_4.stdout 2> TOPP_PeakPickerWavelet_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerWavelet_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerWavelet_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerWavelet_4.stdout)";fi
+PeakPickerWavelet  -test -ini PeakPickerWavelet_parameters_noMetaData.ini -in PeakPickerWavelet_input.mzML -out PeakPickerWavelet_5.tmp -threads 2 > TOPP_PeakPickerWavelet_5.stdout 2> TOPP_PeakPickerWavelet_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerWavelet_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerWavelet_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerWavelet_5.stdout)";fi
+PeakPickerHiRes -test -ini PeakPickerHiRes_parameters.ini -in PeakPickerHiRes_input.mzML -out PeakPickerHiRes_1.tmp > TOPP_PeakPickerHiRes_1.stdout 2> TOPP_PeakPickerHiRes_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_1.stdout)";fi
+PeakPickerHiRes -test -ini PeakPickerHiRes_parameters.ini -in PeakPickerHiRes_2_input.mzML -out PeakPickerHiRes_2.tmp > TOPP_PeakPickerHiRes_2.stdout 2> TOPP_PeakPickerHiRes_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_2.stdout)";fi
+PeakPickerHiRes -test -ini PeakPickerHiRes_parameters.ini -in PeakPickerHiRes_input.mzML -out PeakPickerHiRes_3.tmp -processOption lowmemory > TOPP_PeakPickerHiRes_3.stdout 2> TOPP_PeakPickerHiRes_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_3.stdout)";fi
+PeakPickerHiRes -test -ini PeakPickerHiRes_parameters.ini -in PeakPickerHiRes_2_input.mzML -out PeakPickerHiRes_4.tmp -processOption lowmemory > TOPP_PeakPickerHiRes_4.stdout 2> TOPP_PeakPickerHiRes_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_4.stdout)";fi
+PeakPickerHiRes -test -in PeakPickerHiRes_5_input.mzML -out PeakPickerHiRes_5.tmp > TOPP_PeakPickerHiRes_5.stdout 2> TOPP_PeakPickerHiRes_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeakPickerHiRes_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeakPickerHiRes_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeakPickerHiRes_5.stdout)";fi
+PeakPickerIterative -in PeakPickerIterative_1_input.mzML -ini PeakPickerIterative_1.ini -out PeakPickerIterative.mzML.tmp -test > UTILS_PeakPickerIterative_1.stdout 2> UTILS_PeakPickerIterative_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_PeakPickerIterative_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_PeakPickerIterative_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_PeakPickerIterative_1.stdout)";fi
+PeakPickerIterative -in PeakPickerIterative_2_input.mzML -ini PeakPickerIterative_2.ini -out PeakPickerIterative_2.mzML.tmp -test > UTILS_PeakPickerIterative_2.stdout 2> UTILS_PeakPickerIterative_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_PeakPickerIterative_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_PeakPickerIterative_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_PeakPickerIterative_2.stdout)";fi
+LowMemPeakPickerHiRes -test -ini LowMemPeakPickerHiRes_parameters.ini -in PeakPickerHiRes_input.mzML -out LowMemPeakPickerHiRes_1.tmp > TOPP_LowMemPeakPickerHiRes_1.stdout 2> TOPP_LowMemPeakPickerHiRes_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_LowMemPeakPickerHiRes_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_LowMemPeakPickerHiRes_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_LowMemPeakPickerHiRes_1.stdout)";fi
+LowMemPeakPickerHiResRandomAccess -test -ini LowMemPeakPickerHiRes_RandomAccess_parameters.ini -in PeakPickerHiRes_RandomAccess_input.mzML -out LowMemPeakPickerHiRes_RandomAccess_1.tmp > TOPP_LowMemPeakPickerHiResRandomAccess_1.stdout 2> TOPP_LowMemPeakPickerHiResRandomAccess_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_LowMemPeakPickerHiResRandomAccess_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_LowMemPeakPickerHiResRandomAccess_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_LowMemPeakPickerHiResRandomAccess_1.stdout)";fi
+ProteinInference -test -in ProteinInference_1_input.idXML -out ProteinInference_1_output.tmp -Algorithm:use_shared_peptides false -merge_runs all -Merging:annotate_origin false > TOPP_ProteinInference_1.stdout 2> TOPP_ProteinInference_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinInference_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinInference_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinInference_1.stdout)";fi
+Resampler -test -in Resampler_1_input.mzML -out Resampler.mzML -sampling_rate 0.3 > TOPP_Resampler_1.stdout 2> TOPP_Resampler_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_Resampler_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_Resampler_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_Resampler_1.stdout)";fi
+RNPxlSearch -test -in RNPxlSearch_1_input.mzML -database RNPxlSearch_1_input.fasta -out RNPxlSearch_1_output.tmp -ini RNPxlSearch_1_parameters.ini > TOPP_RNPxlSearch_1.stdout 2> TOPP_RNPxlSearch_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RNPxlSearch_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RNPxlSearch_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RNPxlSearch_1.stdout)";fi
+RNPxlSearch -test -in RNPxlSearch_1_input.mzML -database RNPxlSearch_1_input.fasta -out RNPxlSearch_2_output.tmp -RNPxl:decoys -ini RNPxlSearch_1_parameters.ini > TOPP_RNPxlSearch_2.stdout 2> TOPP_RNPxlSearch_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RNPxlSearch_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RNPxlSearch_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RNPxlSearch_2.stdout)";fi
+RNPxlSearch -test -in RNPxlSearch_1_input.mzML -database RNPxlSearch_1_input.fasta -out RNPxlSearch_3_output.tmp -report:top_hits 3 -out_tsv RNPxlSearch_3_output2.tmp -precursor:mass_tolerance 10 -RNPxl:scoring fast > TOPP_RNPxlSearch_3.stdout 2> TOPP_RNPxlSearch_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RNPxlSearch_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RNPxlSearch_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RNPxlSearch_3.stdout)";fi
+RNPxlSearch -test -in RNPxlSearch_1_input.mzML -RNPxl:decoys -database RNPxlSearch_1_input.fasta -out RNPxlSearch_4_output.tmp -report:top_hits 2 -out_tsv RNPxlSearch_4_output2.tmp -precursor:mass_tolerance 10 -RNPxl:scoring fast > TOPP_RNPxlSearch_4.stdout 2> TOPP_RNPxlSearch_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RNPxlSearch_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RNPxlSearch_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RNPxlSearch_4.stdout)";fi
+RTModel -test -in RTModel_1_input.idXML -out RTModel_1_output.tmp -ini RTModel_1_parameters.ini > TOPP_RTModel_1.stdout 2> TOPP_RTModel_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTModel_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTModel_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTModel_1.stdout)";fi
+RTModel -test -in_positive RTModel_2_input_positive.idXML -in_negative RTModel_2_input_negative.idXML -out RTModel_2_output.tmp -ini RTModel_2_parameters.ini > TOPP_RTModel_2.stdout 2> TOPP_RTModel_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTModel_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTModel_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTModel_2.stdout)";fi
+RTModel -test -in RTModel_3_input.idXML -out RTModel_3_output.tmp -ini RTModel_3_parameters.ini > TOPP_RTModel_3.stdout 2> TOPP_RTModel_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTModel_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTModel_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTModel_3.stdout)";fi
+RTModel -test -in RTModel_4_input.txt -out RTModel_4_output.tmp -ini RTModel_4_parameters.ini > TOPP_RTModel_4.stdout 2> TOPP_RTModel_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTModel_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTModel_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTModel_4.stdout)";fi
+PTModel -test -in_positive PTModel_1_input_positive.idXML -in_negative PTModel_1_input_negative.idXML -out PTModel_1_output.tmp -ini PTModel_1_parameters.ini > TOPP_PTModel_1.stdout 2> TOPP_PTModel_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PTModel_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PTModel_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PTModel_1.stdout)";fi
+PTPredict -test -in PTPredict_1_input.idXML -out PTPredict_1_output.tmp -svm_model PTPredict_1_input.model > TOPP_PTPredict_1.stdout 2> TOPP_PTPredict_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PTPredict_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PTPredict_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PTPredict_1.stdout)";fi
+RTPredict -test -in_id RTPredict_1_input.idXML -out_id:file RTPredict_1_output.tmp -total_gradient_time 3000 -svm_model RTPredict_1_input.model > TOPP_RTPredict_1.stdout 2> TOPP_RTPredict_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_1.stdout)";fi
+RTPredict -test -in_id RTPredict_2_input.idXML -out_id:positive RTPredict_2_output_positive.tmp -out_id:negative RTPredict_2_output_negative.tmp -svm_model RTPredict_2_input.model -in_oligo_params RTPredict_2_input.model_additional_parameters.paramXML -in_oligo_trainset RTPredict_2_input.model_samples > TOPP_RTPredict_2.stdout 2> TOPP_RTPredict_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_2.stdout)";fi
+RTPredict -test -in_id RTPredict_3_input.idXML -out_id:file RTPredict_3_output.tmp -total_gradient_time 1 -svm_model RTPredict_3_input.model -in_oligo_params RTPredict_3_input.model_additional_parameters.paramXML -in_oligo_trainset RTPredict_3_input.model_samples > TOPP_RTPredict_3.stdout 2> TOPP_RTPredict_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_3.stdout)";fi
+RTPredict -test -in_text RTPredict_4_input.txt -out_text:file RTPredict_4_output.tmp -total_gradient_time 1 -svm_model RTPredict_4_input.model -in_oligo_params RTPredict_4_input.model_additional_parameters.paramXML -in_oligo_trainset RTPredict_4_input.model_samples > TOPP_RTPredict_4.stdout 2> TOPP_RTPredict_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_4.stdout)";fi
+RTPredict -test -in_id RTPredict_5_input.idXML -out_text:file RTPredict_5_output.tmp -total_gradient_time 1 -svm_model RTPredict_5_input.model -in_oligo_params RTPredict_5_input.model_additional_parameters.paramXML -in_oligo_trainset RTPredict_5_input.model_samples > TOPP_RTPredict_5.stdout 2> TOPP_RTPredict_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_RTPredict_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_RTPredict_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_RTPredict_5.stdout)";fi
+InspectAdapter -test -ini InspectAdapter_1_parameters.ini -trie_dbs Inspect_FASTAFile_test2.trie -in Inspect.mzXML -dbs Inspect_FASTAFile_test.fasta -inspect_in -out InspectAdapter_2_output.tmp > TOPP_InspectAdapter_1.stdout 2> TOPP_InspectAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InspectAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InspectAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InspectAdapter_1.stdout)";fi
+InspectAdapter -test -ini InspectAdapter_1_parameters.ini -trie_dbs Inspect_FASTAFile_test2.trie -in Inspect.mzData -dbs Inspect_FASTAFile_test.fasta -inspect_in -out InspectAdapter_3_output.tmp > TOPP_InspectAdapter_2.stdout 2> TOPP_InspectAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InspectAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InspectAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InspectAdapter_2.stdout)";fi
+SeedListGenerator -test -in PepXMLFile_test.mzML -out SeedListGenerator_1_output.tmp > TOPP_SeedListGenerator_1.stdout 2> TOPP_SeedListGenerator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SeedListGenerator_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SeedListGenerator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SeedListGenerator_1.stdout)";fi
+SeedListGenerator -test -in IDMapper_1_output.featureXML -out SeedListGenerator_2_output.tmp > TOPP_SeedListGenerator_2.stdout 2> TOPP_SeedListGenerator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SeedListGenerator_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SeedListGenerator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SeedListGenerator_2.stdout)";fi
+SeedListGenerator -test -in ConsensusXMLFile_1.consensusXML -out SeedListGenerator_3_output1.tmp SeedListGenerator_3_output2.tmp > TOPP_SeedListGenerator_3.stdout 2> TOPP_SeedListGenerator_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SeedListGenerator_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SeedListGenerator_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SeedListGenerator_3.stdout)";fi
+SpectraFilterSqrtMower -test -in SpectraFilterSqrtMower_1_input.mzML -out SpectraFilterSqrtMower.tmp > TOPP_SpectraFilterSqrtMower_1.stdout 2> TOPP_SpectraFilterSqrtMower_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectraFilterSqrtMower_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectraFilterSqrtMower_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectraFilterSqrtMower_1.stdout)";fi
+SpectraFilterWindowMower -test -in SpectraFilterWindowMower_1_input.mzML -out SpectraFilterWindowMower_1.tmp > TOPP_SpectraFilterWindowMower_1.stdout 2> TOPP_SpectraFilterWindowMower_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectraFilterWindowMower_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectraFilterWindowMower_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectraFilterWindowMower_1.stdout)";fi
+SpectraFilterWindowMower -test -in SpectraFilterWindowMower_2_input.mzML -out SpectraFilterWindowMower_2.tmp -ini SpectraFilterWindowMower_2_parameters.ini > TOPP_SpectraFilterWindowMower_2.stdout 2> TOPP_SpectraFilterWindowMower_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectraFilterWindowMower_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectraFilterWindowMower_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectraFilterWindowMower_2.stdout)";fi
+InternalCalibration -test -in InternalCalibration_1_BSA1.mzML -cal:id_in InternalCalibration_1_BSA1_OMSSA.idXML -out InternalCalibration_1_BSA1_out.mzML.tmp -cal:model_type linear -RANSAC:enabled -RANSAC:iter 500 -RANSAC:threshold 1 -RT_chunking -1 -quality_control:models InternalCalibration_1_models.csv.tmp -quality_control:residuals InternalCalibration_1_residuals.csv.tmp -ms_level 1 > TOPP_InternalCalibration_1.stdout 2> TOPP_InternalCalibration_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InternalCalibration_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InternalCalibration_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InternalCalibration_1.stdout)";fi
+InternalCalibration -test -in InternalCalibration_2_lockmass.mzML.gz -cal:lock_in InternalCalibration_2_lock.csv -out InternalCalibration_2_lockmass.mzML.tmp -cal:lock_require_mono -cal:model_type linear -RT_chunking 60 -quality_control:models InternalCalibration_2_models.csv.tmp -quality_control:residuals InternalCalibration_2_residuals.csv.tmp > TOPP_InternalCalibration_2.stdout 2> TOPP_InternalCalibration_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InternalCalibration_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InternalCalibration_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InternalCalibration_2.stdout)";fi
+FileConverter -test -in InternalCalibration_2_lockmass.mzML.tmp -no_progress -out InternalCalibration_2_out_lockmass.dta2d.tmp -out_type dta2d > TOPP_InternalCalibration_2_convert.stdout 2> TOPP_InternalCalibration_2_convert.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InternalCalibration_2_convert failed'; >&2 echo -e "stderr:\n$(cat TOPP_InternalCalibration_2_convert.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InternalCalibration_2_convert.stdout)";fi
+ExternalCalibration -test -in ExternalCalibration_1_input.mzML -out ExternalCalibration_1_MS1_out.mzML.tmp -offset -5.5 -slope 0.0001 -ms_level 1 > TOPP_ExternalCalibration_1_MS1.stdout 2> TOPP_ExternalCalibration_1_MS1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ExternalCalibration_1_MS1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ExternalCalibration_1_MS1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ExternalCalibration_1_MS1.stdout)";fi
+ExternalCalibration -test -in ExternalCalibration_1_input.mzML -out ExternalCalibration_2_MS2_out.mzML.tmp -offset -5.5 -slope 0.0001 -ms_level 2 > TOPP_ExternalCalibration_2_MS2.stdout 2> TOPP_ExternalCalibration_2_MS2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ExternalCalibration_2_MS2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ExternalCalibration_2_MS2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ExternalCalibration_2_MS2.stdout)";fi
+TOFCalibration -test -in TOFCalibration_1_input.mzML -out TOFCalibration.tmp -ref_masses TOFCalibration_ref_masses.txt -ini TOFCalibration_parameters.ini -tof_const TOFCalibration_const.csv -ext_calibrants TOFCalibration_1_calibrants.mzML > TOPP_TOFCalibration_1.stdout 2> TOPP_TOFCalibration_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TOFCalibration_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TOFCalibration_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TOFCalibration_1.stdout)";fi
+TOFCalibration -test -in TOFCalibration_2_input.mzML -out TOFCalibration_2.tmp -ref_masses TOFCalibration_ref_masses.txt -ini TOFCalibration_parameters.ini -tof_const TOFCalibration_const.csv -ext_calibrants TOFCalibration_2_calibrants.mzML -peak_data > TOPP_TOFCalibration_2.stdout 2> TOPP_TOFCalibration_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TOFCalibration_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TOFCalibration_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TOFCalibration_2.stdout)";fi
+TextExporter -test -in TextExporter_1_input.featureXML -no_progress -out TextExporter_1_output.tmp > TOPP_TextExporter_1.stdout 2> TOPP_TextExporter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_1.stdout)";fi
+TextExporter -test -in TextExporter_2_input.consensusXML -ini TextExporter_2_parameters.ini > TOPP_TextExporter_2.stdout 2> TOPP_TextExporter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_2.stdout)";fi
+TextExporter -test -in TextExporter_3_input.idXML -no_progress -out TextExporter_3_output.tmp > TOPP_TextExporter_3.stdout 2> TOPP_TextExporter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_3.stdout)";fi
+TextExporter -test -in TextExporter_3_input.idXML -no_progress -out TextExporter_4_output.tmp -id:proteins_only > TOPP_TextExporter_4.stdout 2> TOPP_TextExporter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_4.stdout)";fi
+TextExporter -test -in TextExporter_5_input.idXML -no_progress -out TextExporter_5_output.tmp -id:peptides_only -id:first_dim_rt > TOPP_TextExporter_5.stdout 2> TOPP_TextExporter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_5.stdout)";fi
+TextExporter -test -in TextExporter_6_input.featureXML -no_progress -out TextExporter_6_output.tmp -no_ids > TOPP_TextExporter_6.stdout 2> TOPP_TextExporter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_6.stdout)";fi
+TextExporter -test -in TextExporter_7_input.consensusXML -ini TextExporter_7_parameters.ini > TOPP_TextExporter_7.stdout 2> TOPP_TextExporter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_7.stdout)";fi
+TextExporter -test -in TextExporter_1_input.featureXML -no_ids -no_progress -out TextExporter_8_output.tmp > TOPP_TextExporter_8.stdout 2> TOPP_TextExporter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_8.stdout)";fi
+TextExporter -test -in TextExporter_9_input.idXML -no_progress -out TextExporter_9_output.tmp -id:add_metavalues 0 -id:add_hit_metavalues 0 > TOPP_TextExporter_9.stdout 2> TOPP_TextExporter_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_TextExporter_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_TextExporter_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_TextExporter_9.stdout)";fi
+FeatureLinkerLabeled -test -ini FeatureLinkerLabeled_1_parameters.ini -in FeatureLinkerLabeled_1_input.featureXML -out FeatureLinkerLabeled_1_output.tmp > TOPP_FeatureLinkerLabeled_1.stdout 2> TOPP_FeatureLinkerLabeled_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerLabeled_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerLabeled_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerLabeled_1.stdout)";fi
+FeatureLinkerLabeled -test -ini FeatureLinkerLabeled_2_parameters.ini -in FeatureLinkerLabeled_2_input.featureXML -out FeatureLinkerLabeled_2_output.tmp > TOPP_FeatureLinkerLabeled_2.stdout 2> TOPP_FeatureLinkerLabeled_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerLabeled_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerLabeled_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerLabeled_2.stdout)";fi
+FeatureLinkerUnlabeled -test -ini FeatureLinkerUnlabeled_1_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeled_1_output.tmp > TOPP_FeatureLinkerUnlabeled_1.stdout 2> TOPP_FeatureLinkerUnlabeled_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeled_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeled_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeled_1.stdout)";fi
+FeatureLinkerUnlabeled -test -ini FeatureLinkerUnlabeled_2_parameters.ini -in FeatureLinkerUnlabeled_2_input1.featureXML FeatureLinkerUnlabeled_2_input2.featureXML FeatureLinkerUnlabeled_2_input3.featureXML -out FeatureLinkerUnlabeled_2_output.tmp > TOPP_FeatureLinkerUnlabeled_2.stdout 2> TOPP_FeatureLinkerUnlabeled_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeled_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeled_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeled_2.stdout)";fi
+FeatureLinkerUnlabeled -test -ini FeatureLinkerUnlabeled_3_parameters.ini -in FeatureLinkerUnlabeled_3_input1.featureXML FeatureLinkerUnlabeled_3_input2.featureXML -out FeatureLinkerUnlabeled_3_output.tmp > TOPP_FeatureLinkerUnlabeled_3.stdout 2> TOPP_FeatureLinkerUnlabeled_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeled_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeled_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeled_3.stdout)";fi
+FeatureLinkerUnlabeled -test -ini FeatureLinkerUnlabeled_4_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeled_4_output.tmp > TOPP_FeatureLinkerUnlabeled_4.stdout 2> TOPP_FeatureLinkerUnlabeled_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeled_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeled_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeled_4.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_1_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeledQT_1_output.tmp > TOPP_FeatureLinkerUnlabeledQT_1.stdout 2> TOPP_FeatureLinkerUnlabeledQT_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_1.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_2_parameters.ini -in FeatureLinkerUnlabeledQT_1_output.consensusXML FeatureLinkerUnlabeledQT_1_output.consensusXML -out FeatureLinkerUnlabeledQT_2_output.tmp > TOPP_FeatureLinkerUnlabeledQT_2.stdout 2> TOPP_FeatureLinkerUnlabeledQT_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_2.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_3_parameters.ini -in FeatureLinkerUnlabeledQT_3_input1.featureXML FeatureLinkerUnlabeledQT_3_input2.featureXML -out FeatureLinkerUnlabeledQT_3_output.tmp > TOPP_FeatureLinkerUnlabeledQT_3.stdout 2> TOPP_FeatureLinkerUnlabeledQT_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_3.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_1_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeledQT_4_output.tmp -algorithm:use_identifications > TOPP_FeatureLinkerUnlabeledQT_4.stdout 2> TOPP_FeatureLinkerUnlabeledQT_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_4.stdout)";fi
+FeatureLinkerUnlabeledQT -test -ini FeatureLinkerUnlabeledQT_1_parameters.ini -in FeatureLinkerUnlabeledQT_5_input1.featureXML FeatureLinkerUnlabeledQT_5_input2.featureXML FeatureLinkerUnlabeledQT_5_input3.featureXML -out FeatureLinkerUnlabeledQT_5_output.tmp -algorithm:distance_RT:max_difference 200 > TOPP_FeatureLinkerUnlabeledQT_5.stdout 2> TOPP_FeatureLinkerUnlabeledQT_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_5.stdout)";fi
+FeatureLinkerUnlabeledQT -test -in FeatureLinkerUnlabeledQT_5_input1.featureXML FeatureLinkerUnlabeledQT_5_input2.featureXML FeatureLinkerUnlabeledQT_5_input3.featureXML -out FeatureLinkerUnlabeledQT_6_output.tmp -algorithm:use_identifications -algorithm:distance_RT:max_difference 200 > TOPP_FeatureLinkerUnlabeledQT_6.stdout 2> TOPP_FeatureLinkerUnlabeledQT_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledQT_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledQT_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledQT_6.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_1_parameters.ini -in FeatureLinkerUnlabeled_1_input1.featureXML FeatureLinkerUnlabeled_1_input2.featureXML FeatureLinkerUnlabeled_1_input3.featureXML -out FeatureLinkerUnlabeledKD_1_output.tmp > TOPP_FeatureLinkerUnlabeledKD_1.stdout 2> TOPP_FeatureLinkerUnlabeledKD_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_1.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_2_parameters.ini -in FeatureLinkerUnlabeledKD_1_output.consensusXML FeatureLinkerUnlabeledKD_1_output.consensusXML -out FeatureLinkerUnlabeledKD_2_output.tmp > TOPP_FeatureLinkerUnlabeledKD_2.stdout 2> TOPP_FeatureLinkerUnlabeledKD_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_2.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_3_parameters.ini -in FeatureLinkerUnlabeledQT_3_input1.featureXML FeatureLinkerUnlabeledQT_3_input2.featureXML -out FeatureLinkerUnlabeledKD_3_output.tmp > TOPP_FeatureLinkerUnlabeledKD_3.stdout 2> TOPP_FeatureLinkerUnlabeledKD_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_3.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_4_parameters.ini -in FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML FeatureLinkerUnlabeledKD_dc_input3.featureXML FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML -out FeatureLinkerUnlabeledKD_4_output.tmp -algorithm:link:charge_merging Identical -algorithm:link:adduct_merging Any > TOPP_FeatureLinkerUnlabeledKD_4.stdout 2> TOPP_FeatureLinkerUnlabeledKD_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_4.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_4_parameters.ini -in FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML FeatureLinkerUnlabeledKD_dc_input3.featureXML FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML -out FeatureLinkerUnlabeledKD_5_output.tmp -algorithm:link:charge_merging With_charge_zero -algorithm:link:adduct_merging Any > TOPP_FeatureLinkerUnlabeledKD_5.stdout 2> TOPP_FeatureLinkerUnlabeledKD_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_5.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_4_parameters.ini -in FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML FeatureLinkerUnlabeledKD_dc_input3.featureXML FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML -out FeatureLinkerUnlabeledKD_6_output.tmp -algorithm:link:charge_merging Any -algorithm:link:adduct_merging With_unknown_adducts > TOPP_FeatureLinkerUnlabeledKD_6.stdout 2> TOPP_FeatureLinkerUnlabeledKD_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_6.stdout)";fi
+FeatureLinkerUnlabeledKD -test -ini FeatureLinkerUnlabeledKD_4_parameters.ini -in FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML FeatureLinkerUnlabeledKD_dc_input3.featureXML FeatureLinkerUnlabeledKD_dc_input1.featureXML FeatureLinkerUnlabeledKD_dc_input2.featureXML -out FeatureLinkerUnlabeledKD_7_output.tmp -algorithm:link:charge_merging Any -algorithm:link:adduct_merging Identical > TOPP_FeatureLinkerUnlabeledKD_7.stdout 2> TOPP_FeatureLinkerUnlabeledKD_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FeatureLinkerUnlabeledKD_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FeatureLinkerUnlabeledKD_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FeatureLinkerUnlabeledKD_7.stdout)";fi
+IDMapper -test -in IDMapper_1_input.featureXML -out IDMapper_1_output.tmp -id IDMapper_1_input.idXML -mz_measure Da -mz_tolerance 1 -ignore_charge -mz_reference precursor -feature:use_centroid_mz false > TOPP_IDMapper_1.stdout 2> TOPP_IDMapper_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_1.stdout)";fi
+IDMapper -test -in IDMapper_2_input.consensusXML -out IDMapper_2_output.tmp -id IDMapper_2_input.idXML  -mz_measure Da -mz_tolerance 1 -mz_reference precursor > TOPP_IDMapper_2.stdout 2> TOPP_IDMapper_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_2.stdout)";fi
+IDMapper -test -in IDMapper_3_input.featureXML -out IDMapper_3_output.tmp -id IDMapper_3_input.idXML  -mz_measure ppm -mz_tolerance 3 -rt_tolerance 4 -ignore_charge -mz_reference precursor > TOPP_IDMapper_3.stdout 2> TOPP_IDMapper_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_3.stdout)";fi
+IDMapper -test -in IDMapper_4_input.featureXML -out IDMapper_4_output.tmp -id IDMapper_4_input.idXML -spectra:in IDMapper_4_input.mzML -mz_measure ppm -mz_tolerance 20 -rt_tolerance 10 > TOPP_IDMapper_4.stdout 2> TOPP_IDMapper_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_4.stdout)";fi
+IDMapper -test -in IDMapper_5_input.featureXML -out IDMapper_5_output.tmp -id IDMapper_5_input.idXML -spectra:in IDMapper_5_input.mzML -mz_measure ppm -mz_tolerance 10 -rt_tolerance 20 -feature:use_centroid_mz false > TOPP_IDMapper_5.stdout 2> TOPP_IDMapper_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDMapper_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDMapper_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDMapper_5.stdout)";fi
+IDRipper -test -in IDRipper_1_input.idXML -out dummy.tmp  > TOPP_IDRipper_1.stdout 2> TOPP_IDRipper_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRipper_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRipper_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRipper_1.stdout)";fi
+IDRipper -test -in IDRipper_2_input.idXML -out_path dummy.tmp > TOPP_IDRipper_2.stdout 2> TOPP_IDRipper_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRipper_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRipper_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRipper_2.stdout)";fi
+IDMerger -test -in IDRipper_3_input1.idXML IDRipper_3_input2.idXML -out IDRipper_3_output.tmp -annotate_file_origin > TOPP_IDRipper_3_prep.stdout 2> TOPP_IDRipper_3_prep.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRipper_3_prep failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRipper_3_prep.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRipper_3_prep.stdout)";fi
+IDRipper -test -in IDRipper_3_output.idXML -out_path dummy2.tmp > TOPP_IDRipper_3.stdout 2> TOPP_IDRipper_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDRipper_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDRipper_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDRipper_3.stdout)";fi
+ConsensusID -test -in ConsensusID_1_input.idXML -out ConsensusID_1_output.tmp -algorithm PEPMatrix -PEPMatrix:matrix PAM30MS > TOPP_ConsensusID_1.stdout 2> TOPP_ConsensusID_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_1.stdout)";fi
+ConsensusID -test -in ConsensusID_2_input.featureXML -out ConsensusID_2_output.tmp -algorithm average > TOPP_ConsensusID_2.stdout 2> TOPP_ConsensusID_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_2.stdout)";fi
+ConsensusID -test -in ConsensusID_3_input.consensusXML -out ConsensusID_3_output.tmp -algorithm best > TOPP_ConsensusID_3.stdout 2> TOPP_ConsensusID_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_3.stdout)";fi
+ConsensusID -test -in ConsensusID_1_input.idXML -out ConsensusID_4_output.tmp -algorithm PEPMatrix -PEPMatrix:matrix identity -filter:considered_hits 6 > TOPP_ConsensusID_4.stdout 2> TOPP_ConsensusID_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_4.stdout)";fi
+ConsensusID -test -in ConsensusID_1_input.idXML -out ConsensusID_5_output.tmp -algorithm PEPIons > TOPP_ConsensusID_5.stdout 2> TOPP_ConsensusID_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_5.stdout)";fi
+ConsensusID -test -in ConsensusID_1_input.idXML -out ConsensusID_6_output.tmp -algorithm best -filter:min_support 0.5 > TOPP_ConsensusID_6.stdout 2> TOPP_ConsensusID_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ConsensusID_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ConsensusID_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ConsensusID_6.stdout)";fi
+PrecursorIonSelector -test -in PrecursorIonSelector_features.featureXML -sim_results PrecursorIonSelector_1_output.tmp -ini PrecursorIonSelector_1_parameters.ini -db_path PrecursorIonSelector_db.fasta -ids PrecursorIonSelector_ids.idXML > TOPP_PrecursorIonSelector_1.stdout 2> TOPP_PrecursorIonSelector_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PrecursorIonSelector_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PrecursorIonSelector_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PrecursorIonSelector_1.stdout)";fi
+PrecursorIonSelector -test -in PrecursorIonSelector_features.featureXML -out PrecursorIonSelector_2_output.tmp -ini PrecursorIonSelector_2_parameters.ini -db_path PrecursorIonSelector_db.fasta -ids PrecursorIonSelector_ids.idXML > TOPP_PrecursorIonSelector_2.stdout 2> TOPP_PrecursorIonSelector_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PrecursorIonSelector_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PrecursorIonSelector_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PrecursorIonSelector_2.stdout)";fi
+CompNovo -test -in CompNovo_1_input.mzML -ini CompNovo_1.ini -out CompNovo_1_output.tmp > TOPP_CompNovo_1.stdout 2> TOPP_CompNovo_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CompNovo_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CompNovo_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CompNovo_1.stdout)";fi
+CompNovoCID -test -in CompNovoCID_1_input.mzML -ini CompNovoCID_1.ini -out CompNovoCID_1_output.tmp > TOPP_CompNovoCID_1.stdout 2> TOPP_CompNovoCID_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CompNovoCID_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CompNovoCID_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CompNovoCID_1.stdout)";fi
+PrecursorMassCorrector -test -in PrecursorMassCorrector_1_input.mzML -ini PrecursorMassCorrector_1.ini -out PrecursorMassCorrector_1_output.tmp > TOPP_PrecursorMassCorrector_1.stdout 2> TOPP_PrecursorMassCorrector_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PrecursorMassCorrector_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PrecursorMassCorrector_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PrecursorMassCorrector_1.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_OMSSA.idXML -out FalseDiscoveryRate_output_1.tmp -PSM true -protein false > TOPP_FalseDiscoveryRate_1.stdout 2> TOPP_FalseDiscoveryRate_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_1.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_OMSSA.idXML -out FalseDiscoveryRate_output_2.tmp -algorithm:treat_runs_separately -PSM true -protein false > TOPP_FalseDiscoveryRate_2.stdout 2> TOPP_FalseDiscoveryRate_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_2.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_OMSSA.idXML -out FalseDiscoveryRate_output_3.tmp -algorithm:split_charge_variants -PSM true -protein false > TOPP_FalseDiscoveryRate_3.stdout 2> TOPP_FalseDiscoveryRate_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_3.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_OMSSA_4.idXML -out FalseDiscoveryRate_output_4.tmp -algorithm:split_charge_variants -PSM true -protein false > TOPP_FalseDiscoveryRate_4.stdout 2> TOPP_FalseDiscoveryRate_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_4.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_5_input.idXML -out FalseDiscoveryRate_5_output.tmp -PSM false -protein true -algorithm:add_decoy_proteins -force > TOPP_FalseDiscoveryRate_5.stdout 2> TOPP_FalseDiscoveryRate_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_5.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_6_input.idXML -out FalseDiscoveryRate_6_output.tmp -PSM true -protein false -FDR:PSM 0.05 > TOPP_FalseDiscoveryRate_6.stdout 2> TOPP_FalseDiscoveryRate_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_6.stdout)";fi
+FalseDiscoveryRate -test -in FalseDiscoveryRate_7_input.idXML -out FalseDiscoveryRate_7_output.tmp -PSM false -protein true -FDR:protein 0.30 -force > TOPP_FalseDiscoveryRate_7.stdout 2> TOPP_FalseDiscoveryRate_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FalseDiscoveryRate_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FalseDiscoveryRate_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FalseDiscoveryRate_7.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_Mascot_input.idXML -out 	IDPosteriorErrorProbability_output_1.tmp > TOPP_IDPosteriorErrorProbability_1.stdout 2> TOPP_IDPosteriorErrorProbability_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_1.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_XTandem_input.idXML -out IDPosteriorErrorProbability_output_2.tmp > TOPP_IDPosteriorErrorProbability_2.stdout 2> TOPP_IDPosteriorErrorProbability_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_2.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_OMSSA_input.idXML -out IDPosteriorErrorProbability_output_3.tmp > TOPP_IDPosteriorErrorProbability_3.stdout 2> TOPP_IDPosteriorErrorProbability_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_3.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_OMSSA_input2.idXML -out IDPosteriorErrorProbability_output_4.tmp -split_charge > TOPP_IDPosteriorErrorProbability_4.stdout 2> TOPP_IDPosteriorErrorProbability_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_4.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_XTandem_input2.idXML -out IDPosteriorErrorProbability_output_5.tmp -split_charge > TOPP_IDPosteriorErrorProbability_5.stdout 2> TOPP_IDPosteriorErrorProbability_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_5.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_Mascot_input2.idXML -out IDPosteriorErrorProbability_output_6.tmp -split_charge > TOPP_IDPosteriorErrorProbability_6.stdout 2> TOPP_IDPosteriorErrorProbability_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_6.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_bad_data.idXML -out IDPosteriorErrorProbability_bad_data_output.tmp -ignore_bad_data > TOPP_IDPosteriorErrorProbability_7.stdout 2> TOPP_IDPosteriorErrorProbability_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_7.stdout)";fi
+IDPosteriorErrorProbability -test -in IDPosteriorErrorProbability_OMSSA_input.idXML -out IDPosteriorErrorProbability_output_8.tmp -prob_correct > TOPP_IDPosteriorErrorProbability_8.stdout 2> TOPP_IDPosteriorErrorProbability_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_IDPosteriorErrorProbability_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_IDPosteriorErrorProbability_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_IDPosteriorErrorProbability_8.stdout)";fi
+ProteinResolver -test -in ProteinResolver_1_input.consensusXML -fasta ProteinResolver_1_input.fasta -protein_groups ProteinResolver_1_output1.tmp -peptide_table ProteinResolver_1_output2.tmp -protein_table ProteinResolver_1_output3.tmp > TOPP_ProteinResolver_1.stdout 2> TOPP_ProteinResolver_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinResolver_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinResolver_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinResolver_1.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.featureXML -out ProteinQuantifier_1_output1.tmp -peptide_out ProteinQuantifier_1_output2.tmp > TOPP_ProteinQuantifier_1.stdout 2> TOPP_ProteinQuantifier_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_1.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.featureXML -out ProteinQuantifier_2_output1.tmp -peptide_out ProteinQuantifier_2_output2.tmp -top 2 -include_all -best_charge_and_fraction -average sum > TOPP_ProteinQuantifier_2.stdout 2> TOPP_ProteinQuantifier_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_2.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_3_input.featureXML -out ProteinQuantifier_3_output1.tmp -peptide_out ProteinQuantifier_3_output2.tmp -top 2 -include_all -average mean > TOPP_ProteinQuantifier_3.stdout 2> TOPP_ProteinQuantifier_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_3.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_4_output.tmp -top 0 -average sum > TOPP_ProteinQuantifier_4.stdout 2> TOPP_ProteinQuantifier_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_4.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_5_output.tmp -top 3 -average sum > TOPP_ProteinQuantifier_5.stdout 2> TOPP_ProteinQuantifier_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_5.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_6_output.tmp -top 3 -include_all -average sum > TOPP_ProteinQuantifier_6.stdout 2> TOPP_ProteinQuantifier_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_6.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_7_output.tmp -top 0 -consensus:fix_peptides -average sum > TOPP_ProteinQuantifier_7.stdout 2> TOPP_ProteinQuantifier_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_7.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_8_output.tmp -top 3 -consensus:fix_peptides -average sum > TOPP_ProteinQuantifier_8.stdout 2> TOPP_ProteinQuantifier_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_8.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_9_output.tmp -top 3 -include_all -consensus:fix_peptides -average sum > TOPP_ProteinQuantifier_9.stdout 2> TOPP_ProteinQuantifier_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_9.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_12_output.tmp -top 3 -include_all -consensus:fix_peptides -average sum -ratios > TOPP_ProteinQuantifier_12.stdout 2> TOPP_ProteinQuantifier_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_12.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.consensusXML -out ProteinQuantifier_13_output.tmp -top 3 -include_all -consensus:fix_peptides -average sum -ratiosSILAC > TOPP_ProteinQuantifier_13.stdout 2> TOPP_ProteinQuantifier_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_13.stdout)";fi
+ProteinQuantifier -test -in ProteinQuantifier_input.idXML -out ProteinQuantifier_14_output1.tmp -peptide_out ProteinQuantifier_14_output2.tmp -top 0 -average sum > TOPP_ProteinQuantifier_14.stdout 2> TOPP_ProteinQuantifier_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_ProteinQuantifier_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_ProteinQuantifier_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_ProteinQuantifier_14.stdout)";fi
+InclusionExclusionListCreator -test -include InclusionExclusionListCreator.featureXML -out InclusionExclusionListCreator_1_output.tmp > TOPP_InclusionExclusionListCreator_1.stdout 2> TOPP_InclusionExclusionListCreator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_1.stdout)";fi
+InclusionExclusionListCreator -test -exclude InclusionExclusionListCreator.featureXML -out InclusionExclusionListCreator_2_output.tmp -ini InclusionExclusionListCreator_2.ini > TOPP_InclusionExclusionListCreator_2.stdout 2> TOPP_InclusionExclusionListCreator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_2.stdout)";fi
+InclusionExclusionListCreator -test -include InclusionExclusionListCreator.fasta -out InclusionExclusionListCreator_3_output.tmp -inclusion_charges 1 2 -rt_model InclusionExclusionListCreator_rt.model > TOPP_InclusionExclusionListCreator_3.stdout 2> TOPP_InclusionExclusionListCreator_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_3.stdout)";fi
+InclusionExclusionListCreator -test -exclude InclusionExclusionListCreator.fasta -out InclusionExclusionListCreator_4_output.tmp -exclusion_charges 1 2 -rt_model InclusionExclusionListCreator_rt.model  -ini InclusionExclusionListCreator_4.ini > TOPP_InclusionExclusionListCreator_4.stdout 2> TOPP_InclusionExclusionListCreator_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_4.stdout)";fi
+InclusionExclusionListCreator -test -exclude InclusionExclusionListCreator.idXML -out InclusionExclusionListCreator_5_output.tmp -exclusion_charges 1 2 -rt_model InclusionExclusionListCreator_rt.model > TOPP_InclusionExclusionListCreator_5.stdout 2> TOPP_InclusionExclusionListCreator_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_5.stdout)";fi
+InclusionExclusionListCreator -test -exclude InclusionExclusionListCreator.idXML -out InclusionExclusionListCreator_6_output.tmp -exclusion_charges 1 2 -rt_model InclusionExclusionListCreator_rt.model  -ini InclusionExclusionListCreator_6.ini > TOPP_InclusionExclusionListCreator_6.stdout 2> TOPP_InclusionExclusionListCreator_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_InclusionExclusionListCreator_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_InclusionExclusionListCreator_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_InclusionExclusionListCreator_6.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_1_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_1.stdout 2> TOPP_PeptideIndexer_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_1.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_2_out.tmp.idXML -allow_unmatched -write_protein_sequence -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_2.stdout 2> TOPP_PeptideIndexer_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_2.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_3_out.tmp.idXML -allow_unmatched -keep_unreferenced_proteins -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_3.stdout 2> TOPP_PeptideIndexer_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_3.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_4_out.tmp.idXML -allow_unmatched -aaa_max 0 -write_protein_sequence -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_4.stdout 2> TOPP_PeptideIndexer_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_4.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_5_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_5.stdout 2> TOPP_PeptideIndexer_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_5.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_2.idXML -out PeptideIndexer_6_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 3 > TOPP_PeptideIndexer_6.stdout 2> TOPP_PeptideIndexer_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_6.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_3.idXML -out PeptideIndexer_7_out.tmp.idXML -allow_unmatched -aaa_max 4 -decoy_string DECOY_ > TOPP_PeptideIndexer_7.stdout 2> TOPP_PeptideIndexer_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_7.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_3.idXML -out PeptideIndexer_8_out.tmp.idXML -allow_unmatched -enzyme:specificity semi -aaa_max 4 > TOPP_PeptideIndexer_8.stdout 2> TOPP_PeptideIndexer_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_8.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_3.idXML -out PeptideIndexer_9_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_9.stdout 2> TOPP_PeptideIndexer_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_9 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_9.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_10_input.fasta -in PeptideIndexer_10_input.idXML -out PeptideIndexer_10_output.tmp.idXML -IL_equivalent -aaa_max 3 -write_protein_sequence > TOPP_PeptideIndexer_10.stdout 2> TOPP_PeptideIndexer_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_10 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_10.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in PeptideIndexer_1.idXML -out PeptideIndexer_12_out.tmp.idXML -allow_unmatched -enzyme:specificity none -aaa_max 4 > TOPP_PeptideIndexer_12.stdout 2> TOPP_PeptideIndexer_12.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_12 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_12.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_12.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_1.fasta -in empty.idXML -out PeptideIndexer_13_out.tmp.idXML -aaa_max 4 > TOPP_PeptideIndexer_13.stdout 2> TOPP_PeptideIndexer_13.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_13 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_13.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_13.stdout)";fi
+PeptideIndexer -test -fasta PeptideIndexer_2.fasta -in PeptideIndexer_14.idXML -out PeptideIndexer_14_out.tmp.idXML -enzyme:specificity none -aaa_max 4 -write_protein_sequence > TOPP_PeptideIndexer_14.stdout 2> TOPP_PeptideIndexer_14.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PeptideIndexer_14 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PeptideIndexer_14.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PeptideIndexer_14.stdout)";fi
+MzTabExporter -test -in MzTabExporter_1_input.consensusXML -out MzTabExporter_1_output.tmp > TOPP_MzTabExporter_1.stdout 2> TOPP_MzTabExporter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MzTabExporter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MzTabExporter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MzTabExporter_1.stdout)";fi
+MzTabExporter -test -in MzTabExporter_2_input.idXML -out MzTabExporter_2_output.tmp > TOPP_MzTabExporter_2.stdout 2> TOPP_MzTabExporter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MzTabExporter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MzTabExporter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MzTabExporter_2.stdout)";fi
+MzTabExporter -test -in MzTabExporter_3_input.featureXML -out MzTabExporter_3_output.tmp > TOPP_MzTabExporter_3.stdout 2> TOPP_MzTabExporter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MzTabExporter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MzTabExporter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MzTabExporter_3.stdout)";fi
+OpenPepXL -test -decoy_string "decoy" -in OpenPepXL_input.mzML -consensus OpenPepXL_input.consensusXML -database OpenPepXL_input.fasta -out_xquestxml OpenPepXL_output.xquest.xml.tmp -out_xquest_specxml OpenPepXL_output.spec.xml.tmp -out_mzIdentML OpenPepXL_output.mzid.tmp -out_idXML OpenPepXL_output.idXML.tmp > TOPP_OpenPepXL_1.stdout 2> TOPP_OpenPepXL_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenPepXL_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenPepXL_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenPepXL_1.stdout)";fi
+OpenPepXLLF -test -decoy_string "decoy" -in OpenPepXLLF_input.mzML -database OpenPepXLLF_input.fasta -out_xquestxml OpenPepXLLF_output.xquest.xml.tmp -out_xquest_specxml OpenPepXLLF_output.spec.xml.tmp -out_mzIdentML OpenPepXLLF_output.mzid.tmp -out_idXML OpenPepXLLF_output.idXML.tmp > TOPP_OpenPepXLLF_1.stdout 2> TOPP_OpenPepXLLF_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenPepXLLF_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenPepXLLF_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenPepXLLF_1.stdout)";fi
+OpenPepXLLF -test -ini OpenPepXLLF_input2.ini -in OpenPepXLLF_input2.mzML -database OpenPepXLLF_input2.fasta -out_idXML OpenPepXLLF_output2.idXML.tmp > TOPP_OpenPepXLLF_2.stdout 2> TOPP_OpenPepXLLF_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OpenPepXLLF_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OpenPepXLLF_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OpenPepXLLF_2.stdout)";fi
+XFDR -test -binsize 0.1 -in XFDR_test_in1.idXML -out_idXML XFDR_test_out1_temp.idXML -out_mzIdentML XFDR_test_out1_temp.mzid -out_xquest XFDR_test_out1_temp.xquest.xml > TOPP_XFDR_1.stdout 2> TOPP_XFDR_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_1.stdout)";fi
+XFDR -test -binsize 0.1 -in XFDR_test_in1.idXML -uniquexl -no_qvalues -out_idXML XFDR_test_out2_temp.idXML -out_mzIdentML XFDR_test_out2_temp.mzid -out_xquest XFDR_test_out2_temp.xquest.xml > TOPP_XFDR_2.stdout 2> TOPP_XFDR_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_2.stdout)";fi
+XFDR -test -binsize 0.1 -minscore 0.0 -in XFDR_test_in2.xquest.xml -out_idXML XFDR_test_out3_temp.idXML -out_mzIdentML XFDR_test_out3_temp.mzid -out_xquest XFDR_test_out3_temp.xquest.xml > TOPP_XFDR_3.stdout 2> TOPP_XFDR_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_3.stdout)";fi
+XFDR -test -binsize 0.1 -minborder -3 -maxborder 3 -in XFDR_test_in2.xquest.xml -out_idXML XFDR_test_out4_temp.idXML -out_mzIdentML XFDR_test_out4_temp.mzid -out_xquest XFDR_test_out4_temp.xquest.xml > TOPP_XFDR_4.stdout 2> TOPP_XFDR_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_4.stdout)";fi
+XFDR -test -binsize 0.1 -minborder -3 -maxborder 3 -in XFDR_test_in3.xquest.xml -out_idXML XFDR_test_out5_temp.idXML -out_mzIdentML XFDR_test_out5_temp.mzid -out_xquest XFDR_test_out5_temp.xquest.xml > TOPP_XFDR_5.stdout 2> TOPP_XFDR_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_5.stdout)";fi
+XFDR -test -binsize 0.1 -in XFDR_test_in4.idXML -out_idXML XFDR_test_out6_temp.idXML > TOPP_XFDR_6.stdout 2> TOPP_XFDR_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_6.stdout)";fi
+XFDR -test -uniquexl -binsize 0.1 -minscore 0.0 -in XFDR_test_in2.xquest.xml -out_idXML XFDR_test_out7_temp.idXML -out_mzIdentML XFDR_test_out7_temp.mzid -out_xquest XFDR_test_out7_temp.xquest.xml > TOPP_XFDR_7.stdout 2> TOPP_XFDR_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XFDR_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XFDR_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XFDR_7.stdout)";fi
+QualityControl -test -in_raw QualityControl_1_in1.mzML.gz QualityControl_1_in2.mzML.gz QualityControl_1_in3.mzML.gz -in_postFDR QualityControl_1_in1.featureXML QualityControl_1_in2.featureXML QualityControl_1_in3.featureXML -in_trafo QualityControl_1_in1.trafoXML QualityControl_1_in2.trafoXML QualityControl_1_in3.trafoXML  -in_contaminants QualityControl_1.fasta -in_cm QualityControl_1_in.consensusXML -out_cm QualityControl_1_out.consensusXML.tmp -out QualityControl_1_out.mzTab.tmp > TOPP_QualityControl_1.stdout 2> TOPP_QualityControl_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_QualityControl_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_QualityControl_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_QualityControl_1.stdout)";fi
+AccurateMassSearch -test -in ConsensusMapNormalizer_input.consensusXML -out AccurateMassSearch_1_output.tmp.mzTab > UTILS_AccurateMassSearch_1.stdout 2> UTILS_AccurateMassSearch_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AccurateMassSearch_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AccurateMassSearch_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AccurateMassSearch_1.stdout)";fi
+AccurateMassSearch -test -in AccurateMassSearch_2_input.featureXML -out AccurateMassSearch_2_output.tmp.mzTab -out_annotation AccurateMassSearch_2_output.tmp.featureXML -db:mapping AMS_test_Mapping.tsv -db:struct AMS_test_Struct.tsv -positive_adducts AMS_PositiveAdducts.tsv -negative_adducts AMS_NegativeAdducts.tsv -algorithm:mzTab:exportIsotopeIntensities true > UTILS_AccurateMassSearch_2.stdout 2> UTILS_AccurateMassSearch_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AccurateMassSearch_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AccurateMassSearch_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AccurateMassSearch_2.stdout)";fi
+AccurateMassSearch -test -in AccurateMassSearch_2_input.featureXML -out AccurateMassSearch_3_output.tmp.mzTab -out_annotation AccurateMassSearch_2_output.tmp.featureXML -db:mapping AMS_test_Mapping.tsv -db:struct AMS_test_Struct.tsv -positive_adducts AMS_PositiveAdducts.tsv -negative_adducts AMS_NegativeAdducts.tsv > UTILS_AccurateMassSearch_3.stdout 2> UTILS_AccurateMassSearch_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AccurateMassSearch_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AccurateMassSearch_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AccurateMassSearch_3.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ffm_input.featureXML -out AssayGeneratorMetabo_ffm_output.tmp.tsv -min_transitions 1 > UTILS_AssayGeneratorMetabo_1.stdout 2> UTILS_AssayGeneratorMetabo_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_1.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_output.tmp.tsv -min_transitions 1 > UTILS_AssayGeneratorMetabo_2.stdout 2> UTILS_AssayGeneratorMetabo_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_2.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ffm_input.featureXML -out AssayGeneratorMetabo_ffm_output_consensus.tmp.tsv -method consensus_spectrum -min_transitions 1 > UTILS_AssayGeneratorMetabo_3.stdout 2> UTILS_AssayGeneratorMetabo_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_3.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_output_consensus.tmp.tsv -method consensus_spectrum -min_transitions 1 > UTILS_AssayGeneratorMetabo_4.stdout 2> UTILS_AssayGeneratorMetabo_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_4.stdout)";fi
+AssayGeneratorMetabo -test -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_uku_output_consensus.tmp.tsv -method consensus_spectrum -use_known_unknowns -min_transitions 1 > UTILS_AssayGeneratorMetabo_5.stdout 2> UTILS_AssayGeneratorMetabo_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_5 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_5.stdout)";fi
+TargetedFileConverter -test -in AssayGeneratorMetabo_ams_uku_output_consensus.tsv  -out AssayGeneratorMetabo_ams_uku_output_consensus_traml.tmp.TraML > UTILS_AssayGeneratorMetabo_6.stdout 2> UTILS_AssayGeneratorMetabo_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_6 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_6.stdout)";fi
+ImageCreator -test -in ImageCreator_1_input.mzML -out ImageCreator1.bmp -width 20 -height 15 > UTILS_ImageCreator_1.stdout 2> UTILS_ImageCreator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_ImageCreator_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_ImageCreator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_ImageCreator_1.stdout)";fi
+ImageCreator -test -in ImageCreator_2_input.mzML -out ImageCreator2.png -out_type bmp -width 20 -height 15 -precursors -precursor_size 3 -precursor_color green -log_intensity > UTILS_ImageCreator_2.stdout 2> UTILS_ImageCreator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_ImageCreator_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_ImageCreator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_ImageCreator_2.stdout)";fi
+IDScoreSwitcher -test -in IDFileConverter_12_output.idXML -out IDScoreSwitcher_1_output.tmp -new_score Percolator_PEP -new_score_type "Posterior Error Probability" -new_score_orientation lower_better -old_score Percolator_qvalue > UTILS_IDScoreSwitcher_1.stdout 2> UTILS_IDScoreSwitcher_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_IDScoreSwitcher_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_IDScoreSwitcher_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_IDScoreSwitcher_1.stdout)";fi
+IDScoreSwitcher -test -in IDScoreSwitcher_2_input.idXML -out IDScoreSwitcher_2_output.tmp -new_score "Posterior Probability_score" -new_score_type "Posterior Probability" -new_score_orientation higher_better -proteins > UTILS_IDScoreSwitcher_2.stdout 2> UTILS_IDScoreSwitcher_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_IDScoreSwitcher_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_IDScoreSwitcher_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_IDScoreSwitcher_2.stdout)";fi
+IDSplitter -test -in IDMapper_1_output.featureXML -out IDSplitter_1_output1.tmp -id_out IDSplitter_1_output2.tmp > UTILS_IDSplitter_1.stdout 2> UTILS_IDSplitter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_IDSplitter_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_IDSplitter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_IDSplitter_1.stdout)";fi
+MassCalculator -test -in MassCalculator_1_input.txt -out MassCalculator_1_output.tmp -charge 0 1 -format table -separator , > UTILS_MassCalculator_1.stdout 2> UTILS_MassCalculator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MassCalculator_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MassCalculator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MassCalculator_1.stdout)";fi
+MassCalculator -test -in_seq "LDQWLC(Carbamidomethyl)EKL" "(Glu->pyro-Glu)EAM(Oxidation)APKHK" "RANVM(Oxidation)DYR" "FGVEQDVDMVFASFIR" -out MassCalculator_2_output.tmp -charge 1 2 3 > UTILS_MassCalculator_2.stdout 2> UTILS_MassCalculator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MassCalculator_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MassCalculator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MassCalculator_2.stdout)";fi
+MultiplexResolver -test -in MultiplexResolver_1_input.consensusXML -ini MultiplexResolver_1_parameters.ini -out MultiplexResolver_1.tmp -out_conflicts MultiplexResolver_1_conflicts.tmp > UTILS_MultiplexResolver_1.stdout 2> UTILS_MultiplexResolver_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MultiplexResolver_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MultiplexResolver_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MultiplexResolver_1.stdout)";fi
+MultiplexResolver -test -in MultiplexResolver_2_input.consensusXML -ini MultiplexResolver_2_parameters.ini -out MultiplexResolver_2.tmp -out_conflicts MultiplexResolver_2_conflicts.tmp > UTILS_MultiplexResolver_2.stdout 2> UTILS_MultiplexResolver_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MultiplexResolver_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MultiplexResolver_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MultiplexResolver_2.stdout)";fi
+MultiplexResolver -test -in MultiplexResolver_3_input.consensusXML -ini MultiplexResolver_3_parameters.ini -out MultiplexResolver_3.tmp -out_conflicts MultiplexResolver_3_conflicts.tmp > UTILS_MultiplexResolver_3.stdout 2> UTILS_MultiplexResolver_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MultiplexResolver_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MultiplexResolver_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MultiplexResolver_3.stdout)";fi
+MultiplexResolver -test -in MultiplexResolver_4_input.consensusXML -in_blacklist MultiplexResolver_4_input.mzML -ini MultiplexResolver_4_parameters.ini -out MultiplexResolver_4.tmp -out_conflicts MultiplexResolver_4_conflicts.tmp > UTILS_MultiplexResolver_4.stdout 2> UTILS_MultiplexResolver_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MultiplexResolver_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MultiplexResolver_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MultiplexResolver_4.stdout)";fi
+INIUpdater -test -in INIUpdater_1_noupdate.toppas -out INIUpdater_1_noupdate.toppas.tmp > UTILS_INIUpdater_1.stdout 2> UTILS_INIUpdater_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_INIUpdater_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_INIUpdater_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_INIUpdater_1.stdout)";fi
+INIUpdater -test -in INIUpdater_3_old.toppas -out INIUpdater_3_old.toppas.tmp > UTILS_INIUpdater_3.stdout 2> UTILS_INIUpdater_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_INIUpdater_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_INIUpdater_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_INIUpdater_3.stdout)";fi
+DatabaseFilter -test -in DatabaseFilter_1.fasta -id DatabaseFilter_1.idXML -out DatabaseFilter_1_out.fasta.tmp > UTILS_DatabaseFilter_1.stdout 2> UTILS_DatabaseFilter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DatabaseFilter_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DatabaseFilter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DatabaseFilter_1.stdout)";fi
+DatabaseFilter -test -in DatabaseFilter_1.fasta -id DatabaseFilter_1.idXML -out DatabaseFilter_2_out.fasta.tmp -method blacklist > UTILS_DatabaseFilter_2.stdout 2> UTILS_DatabaseFilter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DatabaseFilter_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DatabaseFilter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DatabaseFilter_2.stdout)";fi
+DatabaseFilter -test -in DatabaseFilter_3.fasta -id DatabaseFilter_3.mzid -out DatabaseFilter_3_out.fasta.tmp > UTILS_DatabaseFilter_3.stdout 2> UTILS_DatabaseFilter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DatabaseFilter_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DatabaseFilter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DatabaseFilter_3.stdout)";fi
+DatabaseFilter -test -in DatabaseFilter_3.fasta -id DatabaseFilter_3.mzid -out DatabaseFilter_4_out.fasta.tmp -method blacklist > UTILS_DatabaseFilter_4.stdout 2> UTILS_DatabaseFilter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DatabaseFilter_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DatabaseFilter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DatabaseFilter_4.stdout)";fi
+DecoyDatabase -test -in DecoyDatabase_1.fasta -out DecoyDatabase_1.fasta.tmp -only_decoy > UTILS_DecoyDatabase_1.stdout 2> UTILS_DecoyDatabase_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DecoyDatabase_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DecoyDatabase_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DecoyDatabase_1.stdout)";fi
+DecoyDatabase -test -in DecoyDatabase_1.fasta -out DecoyDatabase_2.fasta.tmp -decoy_string "blabla" -decoy_string_position "prefix" -method shuffle -Decoy:non_shuffle_pattern "KRP" -seed 42 > UTILS_DecoyDatabase_2.stdout 2> UTILS_DecoyDatabase_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DecoyDatabase_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DecoyDatabase_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DecoyDatabase_2.stdout)";fi
+DecoyDatabase -test -in DecoyDatabase_1.fasta -out DecoyDatabase_3.fasta.tmp -decoy_string "blabla" -decoy_string_position "prefix" -method shuffle -Decoy:non_shuffle_pattern "KR" -seed 42 -enzyme "Chymotrypsin" > UTILS_DecoyDatabase_3.stdout 2> UTILS_DecoyDatabase_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DecoyDatabase_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DecoyDatabase_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DecoyDatabase_3.stdout)";fi
+DecoyDatabase -test -type RNA -in DecoyDatabase_4.fasta -out DecoyDatabase_4.fasta.tmp -decoy_string "blabla" -decoy_string_position "prefix" -method reverse -seed 42  > UTILS_DecoyDatabase_4.stdout 2> UTILS_DecoyDatabase_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_DecoyDatabase_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_DecoyDatabase_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_DecoyDatabase_4.stdout)";fi
+SimpleSearchEngine -test -ini SimpleSearchEngine_1.ini -in SimpleSearchEngine_1.mzML -out SimpleSearchEngine_1_out.tmp -database SimpleSearchEngine_1.fasta > UTILS_SimpleSearchEngine_1.stdout 2> UTILS_SimpleSearchEngine_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_SimpleSearchEngine_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_SimpleSearchEngine_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_SimpleSearchEngine_1.stdout)";fi
+FeatureFinderMetaboIdent -test -in FeatureFinderMetaboIdent_1_input.mzML -id FeatureFinderMetaboIdent_1_input.tsv -out FeatureFinderMetaboIdent_1_output.tmp -extract:mz_window 5 -extract:rt_window 20 -detect:peak_width 3 > UTILS_FeatureFinderMetaboIdent_1.stdout 2> UTILS_FeatureFinderMetaboIdent_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_FeatureFinderMetaboIdent_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_FeatureFinderMetaboIdent_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_FeatureFinderMetaboIdent_1.stdout)";fi
+FeatureFinderSuperHirn -test -in FeatureFinderSuperHirn_input_1.mzML -out FeatureFinderSuperHirn_1_output.featureXML.tmp -ini FeatureFinderSuperHirn_1_parameters.ini > UTILS_FeatureFinderSuperHirn_1.stdout 2> UTILS_FeatureFinderSuperHirn_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_FeatureFinderSuperHirn_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_FeatureFinderSuperHirn_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_FeatureFinderSuperHirn_1.stdout)";fi
+FeatureFinderSuperHirn -test -in FeatureFinderSuperHirn_input_2.mzML -out FeatureFinderSuperHirn_2_output.featureXML.tmp -ini FeatureFinderSuperHirn_2_parameters.ini > UTILS_FeatureFinderSuperHirn_2.stdout 2> UTILS_FeatureFinderSuperHirn_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_FeatureFinderSuperHirn_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_FeatureFinderSuperHirn_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_FeatureFinderSuperHirn_2.stdout)";fi
+MzMLSplitter -test -in FileFilter_1_input.mzML -out MzMLSplitter_1_output -parts 2 > UTILS_MzMLSplitter_1.stdout 2> UTILS_MzMLSplitter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MzMLSplitter_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MzMLSplitter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MzMLSplitter_1.stdout)";fi
+MzMLSplitter -test -in FileFilter_1_input.mzML -out MzMLSplitter_2_output -size 40 -unit KB > UTILS_MzMLSplitter_2.stdout 2> UTILS_MzMLSplitter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_MzMLSplitter_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_MzMLSplitter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_MzMLSplitter_2.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method regular > UTILS_TICCalculator_1.stdout 2> UTILS_TICCalculator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_1.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method streaming -loadData true > UTILS_TICCalculator_2.stdout 2> UTILS_TICCalculator_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_2 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_2.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method streaming -loadData false > UTILS_TICCalculator_3.stdout 2> UTILS_TICCalculator_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_3 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_3.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method indexed > UTILS_TICCalculator_4.stdout 2> UTILS_TICCalculator_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_4 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_4.stdout)";fi
+TICCalculator -test -in MapNormalizer_output.mzML -read_method indexed_parallel > UTILS_TICCalculator_5.stdout 2> UTILS_TICCalculator_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_TICCalculator_5 failed'; >&2 echo -e "stderr:\n$(cat UTILS_TICCalculator_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_TICCalculator_5.stdout)";fi
+ProteomicsLFQ -in examples/FRACTIONS/BSA1_F1.mzML examples/FRACTIONS/BSA1_F2.mzML examples/FRACTIONS/BSA2_F1.mzML examples/FRACTIONS/BSA2_F2.mzML examples/FRACTIONS/BSA3_F1.mzML examples/FRACTIONS/BSA3_F2.mzML -ids examples/FRACTIONS/BSA1_F1.idXML examples/FRACTIONS/BSA1_F2.idXML examples/FRACTIONS/BSA2_F1.idXML examples/FRACTIONS/BSA2_F2.idXML examples/FRACTIONS/BSA3_F1.idXML examples/FRACTIONS/BSA3_F2.idXML -design examples/FRACTIONS/BSA_design.tsv -Alignment:max_rt_shift 0 -fasta examples/TOPPAS/data/BSA_Identification/18Protein_SoCe_Tr_detergents_trace_target_decoy.fasta -targeted_only true -transfer_ids false -mass_recalibration false -out_cxml BSA.consensusXML.tmp -out_msstats BSA.csv.tmp -out BSA.mzTab.tmp -threads 4 -proteinFDR 0.3 -test  > UTILS_ProteomicsLFQ_1.stdout 2> UTILS_ProteomicsLFQ_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_ProteomicsLFQ_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_ProteomicsLFQ_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_ProteomicsLFQ_1.stdout)";fi
+NucleicAcidSearchEngine -test -ini NucleicAcidSearchEngine_1.ini -in NucleicAcidSearchEngine_1.mzML -id_out NucleicAcidSearchEngine_11_out.tmp -out NucleicAcidSearchEngine_12_out.tmp -database NucleicAcidSearchEngine_1.fasta > UTILS_NucleicAcidSearchEngine_1.stdout 2> UTILS_NucleicAcidSearchEngine_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_NucleicAcidSearchEngine_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_NucleicAcidSearchEngine_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_NucleicAcidSearchEngine_1.stdout)";fi
+RNAMassCalculator -test -in_seq "AUCGGC" -charge -1 -2 -out RNAMassCalculator.tmp > UTILS_RNAMassCalculator_1.stdout 2> UTILS_RNAMassCalculator_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_RNAMassCalculator_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_RNAMassCalculator_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_RNAMassCalculator_1.stdout)";fi
+Epifany -test -in FidoAdapter_1_input.idXML -algorithm:model_parameters:prot_prior 0.7 -algorithm:model_parameters:pep_spurious_emission 0.001 -algorithm:model_parameters:pep_emission 0.1 -out Epifany_1_out.tmp > UTILS_Epifany_1.stdout 2> UTILS_Epifany_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_Epifany_1 failed'; >&2 echo -e "stderr:\n$(cat UTILS_Epifany_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_Epifany_1.stdout)";fi
+OMSSAAdapter -test -ini OMSSAAdapter_1.ini -database proteins.fasta -in spectra.mzML -out OMSSAAdapter_1_out.tmp -omssa_executable "${OMSSA_BINARY}" > TOPP_OMSSAAdapter_1.stdout 2> TOPP_OMSSAAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_OMSSAAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_OMSSAAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_OMSSAAdapter_1.stdout)";fi
+XTandemAdapter -test -ini XTandemAdapter_1.ini -database proteins.fasta -in spectra.mzML -out XTandemAdapter_1_out.tmp -xtandem_executable "${XTANDEM_BINARY}" > TOPP_XTandemAdapter_1.stdout 2> TOPP_XTandemAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XTandemAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XTandemAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XTandemAdapter_1.stdout)";fi
+XTandemAdapter -test -ini XTandemAdapter_1.ini -database proteins.fasta -in spectra.mzML -out XTandemAdapter_2_out.tmp -output_results valid -xtandem_executable "${XTANDEM_BINARY}" -max_valid_expect 1e-14 > TOPP_XTandemAdapter_2.stdout 2> TOPP_XTandemAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_XTandemAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_XTandemAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_XTandemAdapter_2.stdout)";fi
+MyriMatchAdapter -test -ini MyriMatchAdapter_1.ini -database proteins.fasta -in spectra.mzML -out MyriMatchAdapter_1_out.tmp -myrimatch_executable "${MYRIMATCH_BINARY}" > TOPP_MyriMatchAdapter_1.stdout 2> TOPP_MyriMatchAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MyriMatchAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MyriMatchAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MyriMatchAdapter_1.stdout)";fi
+MSGFPlusAdapter -test -ini MSGFPlusAdapter_1.ini -database proteins.fasta -in spectra.mzML -out MSGFPlusAdapter_1_out1.tmp -mzid_out MSGFPlusAdapter_1_out2.tmp.mzid -executable "${MSGFPLUS_BINARY}" > TOPP_MSGFPlusAdapter_1.stdout 2> TOPP_MSGFPlusAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSGFPlusAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSGFPlusAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSGFPlusAdapter_1.stdout)";fi
+CruxAdapter -test -ini CruxAdapter_1.ini -database proteins.fasta -in spectra_comet.mzML -out CruxAdapter_1_out1.tmp -crux_executable "${CRUX_BINARY}" -run_percolator false -decoy-format peptide-reverse > TOPP_CruxAdapter_1.stdout 2> TOPP_CruxAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CruxAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CruxAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CruxAdapter_1.stdout)";fi
+CometAdapter -test -ini CometAdapter_1.ini -database proteins.fasta -in spectra_comet.mzML -out CometAdapter_1_out1.tmp -pin_out CometAdapter_1_out2.tmp.tsv -comet_executable "${COMET_BINARY}" > TOPP_CometAdapter_1.stdout 2> TOPP_CometAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CometAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CometAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CometAdapter_1.stdout)";fi
+FileConverter -test -in CometAdapter_2_in.mzML -out CometAdapter_2_prepared.mzML -force_TPP_compatibility > TOPP_CometAdapter_2_prepare.stdout 2> TOPP_CometAdapter_2_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CometAdapter_2_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_CometAdapter_2_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CometAdapter_2_prepare.stdout)";fi
+CometAdapter -test -database CometAdapter_2_in.fasta -in CometAdapter_2_prepared.mzML -out CometAdapter_2_out1.tmp -pin_out CometAdapter_2_out2.tmp.tsv -comet_executable "${COMET_BINARY}" -precursor_mass_tolerance 3 -precursor_error_units Da -ini CometAdapter_1.ini > TOPP_CometAdapter_2.stdout 2> TOPP_CometAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CometAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CometAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CometAdapter_2.stdout)";fi
+CometAdapter -test -ini CometAdapter_3.ini -database CometAdapter_3.fasta -in CometAdapter_3.mzML -out CometAdapter_3_out1.tmp -pin_out CometAdapter_3_out2.tmp.tsv -comet_executable "${COMET_BINARY}" > TOPP_CometAdapter_3.stdout 2> TOPP_CometAdapter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_CometAdapter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_CometAdapter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_CometAdapter_3.stdout)";fi
+MaRaClusterAdapter -test -ini MaRaClusterAdapter_1.ini -in MaRaClusterAdapter_1_in_1.mzML MaRaClusterAdapter_1_in_2.mzML -consensus_out MaRaClusterAdapter_1_out_1.tmp.mzML -maracluster_executable "${MARACLUSTER_BINARY}" > TOPP_MaRaClusterAdapter_1.stdout 2> TOPP_MaRaClusterAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MaRaClusterAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MaRaClusterAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MaRaClusterAdapter_1.stdout)";fi
+MaRaClusterAdapter -test -ini MaRaClusterAdapter_2.ini -in MaRaClusterAdapter_1_in_1.mzML MaRaClusterAdapter_1_in_2.mzML -id_in MaRaClusterAdapter_1_in_3.idXML -out MaRaClusterAdapter_2_out_1.tmp.idXML -maracluster_executable "${MARACLUSTER_BINARY}" > TOPP_MaRaClusterAdapter_2.stdout 2> TOPP_MaRaClusterAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MaRaClusterAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MaRaClusterAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MaRaClusterAdapter_2.stdout)";fi
+PercolatorAdapter -test -ini PercolatorAdapter_1.ini -in PercolatorAdapter_1.idXML -out PercolatorAdapter_1_out1.tmp -out_type idXML -percolator_executable "${PERCOLATOR_BINARY}" > TOPP_PercolatorAdapter_1.stdout 2> TOPP_PercolatorAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_1.stdout)";fi
+PercolatorAdapter -test -osw_level ms1 -in_osw PercolatorAdapter_2.osw -out PercolatorAdapter_2_out1.osw -out_type osw -percolator_executable "${PERCOLATOR_BINARY}" > TOPP_PercolatorAdapter_2.stdout 2> TOPP_PercolatorAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_2.stdout)";fi
+PercolatorAdapter -test -osw_level ms2 -in_osw PercolatorAdapter_2_out1.osw -out PercolatorAdapter_3_out1.osw -out_type osw -percolator_executable "${PERCOLATOR_BINARY}" > TOPP_PercolatorAdapter_3.stdout 2> TOPP_PercolatorAdapter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_3.stdout)";fi
+PercolatorAdapter -test -osw_level transition -in_osw PercolatorAdapter_3_out1.osw -out PercolatorAdapter_4_out1.osw -out_type osw -percolator_executable "${PERCOLATOR_BINARY}" > TOPP_PercolatorAdapter_4.stdout 2> TOPP_PercolatorAdapter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_4.stdout)";fi
+PercolatorAdapter -test -ini PercolatorAdapter_1.ini -in PercolatorAdapter_1.idXML -out PercolatorAdapter_1_out1.tmp -out_type idXML -percolator_executable "${PERCOLATOR_BINARY}" -out_pin PercolatorAdapter_1_out1.tsv  > TOPP_PercolatorAdapter_5.stdout 2> TOPP_PercolatorAdapter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_PercolatorAdapter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_PercolatorAdapter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_PercolatorAdapter_5.stdout)";fi
+MascotAdapterOnline -test -ini MascotAdapterOnline_1.ini -Mascot_parameters:database SwissProt -in spectra_comet.mzML -out MascotAdapterOnline_1_out1.tmp > TOPP_MascotAdapterOnline_1.stdout 2> TOPP_MascotAdapterOnline_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MascotAdapterOnline_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MascotAdapterOnline_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MascotAdapterOnline_1.stdout)";fi
+FidoAdapter -test -in FidoAdapter_1_input.idXML -out FidoAdapter_1_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" > TOPP_FidoAdapter_1.stdout 2> TOPP_FidoAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_1.stdout)";fi
+FidoAdapter -test -in FidoAdapter_1_input.idXML -out FidoAdapter_2_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" -separate_runs > TOPP_FidoAdapter_2.stdout 2> TOPP_FidoAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_2.stdout)";fi
+FidoAdapter -test -in FidoAdapter_1_input.idXML -out FidoAdapter_3_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" -group_level -all_PSMs > TOPP_FidoAdapter_3.stdout 2> TOPP_FidoAdapter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_3.stdout)";fi
+FidoAdapter -test -in FidoAdapter_4_input.idXML -out FidoAdapter_4_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" > TOPP_FidoAdapter_4.stdout 2> TOPP_FidoAdapter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_4.stdout)";fi
+FidoAdapter -test -greedy_group_resolution -in FidoAdapter_5_input.idXML -out FidoAdapter_5_output.tmp -fidocp_executable "${FIDOCHOOSEPARAMS_BINARY}" > TOPP_FidoAdapter_5.stdout 2> TOPP_FidoAdapter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_5.stdout)";fi
+FidoAdapter -test -in FidoAdapter_1_input.idXML -out FidoAdapter_6_output.tmp -fido_executable "${FIDO_BINARY}" -prob:protein 0.9 -prob:peptide 0.01 -prob:spurious 0.0 > TOPP_FidoAdapter_6.stdout 2> TOPP_FidoAdapter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_FidoAdapter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_FidoAdapter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_FidoAdapter_6.stdout)";fi
+MSFraggerAdapter -test -java_heapmemory 2600  -in spectra.mzML -executable "${MSFRAGGER_BINARY}" -database proteins.fasta -out MSFraggerAdapter_7_out_tmp.idXML -opt_out MSFraggerAdapter_7_opt_out_tmp.pepXML -varmod:enable_common -digest:num_enzyme_termini semi > TOPP_MSFraggerAdapter_7.stdout 2> TOPP_MSFraggerAdapter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSFraggerAdapter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSFraggerAdapter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSFraggerAdapter_7.stdout)";fi
+MSFraggerAdapter -test -java_heapmemory 2600 -in spectra_comet.mzML -executable "${MSFRAGGER_BINARY}" -database proteins.fasta -out MSFraggerAdapter_8_out_tmp.idXML -varmod:enable_common -digest:num_enzyme_termini semi > TOPP_MSFraggerAdapter_8.stdout 2> TOPP_MSFraggerAdapter_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_MSFraggerAdapter_8 failed'; >&2 echo -e "stderr:\n$(cat TOPP_MSFraggerAdapter_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_MSFraggerAdapter_8.stdout)";fi
+FileConverter -test -in ginkgotoxin-ms-switching.raw -ThermoRaw_executable "${THERMORAWFILEPARSER_BINARY}" -out ginkgotoxin-ms-switching_out_tmp.mzML > TOPP_THERMORAWFILEPARSER_1.stdout 2> TOPP_THERMORAWFILEPARSER_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_THERMORAWFILEPARSER_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_THERMORAWFILEPARSER_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_THERMORAWFILEPARSER_1.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_1_input.mzML -out_sirius SiriusAdapter_1_output.tmp -sirius:auto_charge -sirius:profile qtof -sirius:database all -sirius:cores 1 > TOPP_SiriusAdapter_1.stdout 2> TOPP_SiriusAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_1.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_2_input.mzML -in_featureinfo SiriusAdapter_2_input.featureXML -out_sirius SiriusAdapter_2_output.tmp -preprocessing:feature_only -preprocessing:filter_by_num_masstraces 3 -sirius:auto_charge -sirius:profile qtof -sirius:database all -sirius:cores 1 > TOPP_SiriusAdapter_2.stdout 2> TOPP_SiriusAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_2.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_3_input.mzML -in_featureinfo SiriusAdapter_3_input.featureXML -out_sirius SiriusAdapter_3_output.tmp -preprocessing:filter_by_num_masstraces 3 -sirius:auto_charge -sirius:profile qtof -sirius:database all -sirius:cores 1 > TOPP_SiriusAdapter_3.stdout 2> TOPP_SiriusAdapter_3.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_3 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_3.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_3.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_3_input.mzML -in_featureinfo SiriusAdapter_3_input.featureXML -out_ms SiriusAdapter_5_output.tmp -converter_mode > TOPP_SiriusAdapter_5.stdout 2> TOPP_SiriusAdapter_5.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_5 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_5.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_5.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_4_input.mzML -in_featureinfo SiriusAdapter_4_input.featureXML -out_ms SiriusAdapter_6_output.tmp -converter_mode > TOPP_SiriusAdapter_6.stdout 2> TOPP_SiriusAdapter_6.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_6 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_6.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_6.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_4_input.mzML -in_featureinfo SiriusAdapter_4_input.featureXML -out_sirius SiriusAdapter_7_output.tmp -preprocessing:feature_only -sirius:profile qtof -sirius:database all -sirius:cores 1 > TOPP_SiriusAdapter_7.stdout 2> TOPP_SiriusAdapter_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_7 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_7.stdout)";fi
+AssayGeneratorMetabo -test -executable "${SIRIUS_BINARY}" -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100 > UTILS_AssayGeneratorMetabo_7.stdout 2> UTILS_AssayGeneratorMetabo_7.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_7 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_7.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_7.stdout)";fi
+AssayGeneratorMetabo -test -executable "${SIRIUS_BINARY}" -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_ukn_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100 -use_known_unknowns > UTILS_AssayGeneratorMetabo_8.stdout 2> UTILS_AssayGeneratorMetabo_8.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_8 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_8.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_8.stdout)";fi
+AssayGeneratorMetabo -test -executable "${SIRIUS_BINARY}" -in AssayGeneratorMetabo_intsort_input.mzML -in_id AssayGeneratorMetabo_intsort_input.featureXML -out AssayGeneratorMetabo_ams_sirius_intsort_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100 > UTILS_AssayGeneratorMetabo_9.stdout 2> UTILS_AssayGeneratorMetabo_9.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_9 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_9.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_9.stdout)";fi
+AssayGeneratorMetabo -test -executable "${SIRIUS_BINARY}" -in AssayGeneratorMetabo_input.mzML -in_id AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_restrict_output.tmp.tsv  -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -min_fragment_mz 100 -max_fragment_mz 900 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100 > UTILS_AssayGeneratorMetabo_10.stdout 2> UTILS_AssayGeneratorMetabo_10.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'UTILS_AssayGeneratorMetabo_10 failed'; >&2 echo -e "stderr:\n$(cat UTILS_AssayGeneratorMetabo_10.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat UTILS_AssayGeneratorMetabo_10.stdout)";fi
+SiriusAdapter -test -executable "${SIRIUS_BINARY}" -in SiriusAdapter_2_input.mzML -in_featureinfo SiriusAdapter_2_input.featureXML  -out_sirius SiriusAdapter_4_output.tmp -out_fingerid SiriusAdapter_4_foutput.tmp -sirius:auto_charge -sirius:profile qtof -sirius:database all > TOPP_SiriusAdapter_4.stdout 2> TOPP_SiriusAdapter_4.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SiriusAdapter_4 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SiriusAdapter_4.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SiriusAdapter_4.stdout)";fi
+NovorAdapter -test -java_memory 512 -executable "${NOVOR_BINARY}" -in NovorAdapter_in.mzML -out NovorAdapter_1_out.tmp -variable_modifications "Acetyl (K)" -fixed_modifications "Carbamidomethyl (C)" -forbiddenResidues "I" > TOPP_NovorAdapter_1.stdout 2> TOPP_NovorAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_NovorAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_NovorAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_NovorAdapter_1.stdout)";fi
+FileConverter -test -force_TPP_compatibility -in spectra_spectrast.mzXML -out SpectrastAdapter_1_hack.mzML > TOPP_SpectrastSearchAdapter_0_prepare.stdout 2> TOPP_SpectrastSearchAdapter_0_prepare.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectrastSearchAdapter_0_prepare failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectrastSearchAdapter_0_prepare.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectrastSearchAdapter_0_prepare.stdout)";fi
+SpectraSTSearchAdapter -test -library_file testLib.splib -spectra_files SpectrastAdapter_1_hack.mzML -output_files SpectrastAdapter_1_out1.tmp.pep.xml -executable "${SPECTRAST_BINARY}" > TOPP_SpectrastSearchAdapter_1.stdout 2> TOPP_SpectrastSearchAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectrastSearchAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectrastSearchAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectrastSearchAdapter_1.stdout)";fi
+SpectraSTSearchAdapter -test -library_file testLib.splib -spectra_files SpectrastAdapter_1_hack.mzML -output_files SpectrastAdapter_1_out1.tmp.pep.tsv -executable "${SPECTRAST_BINARY}" > TOPP_SpectrastSearchAdapter_2.stdout 2> TOPP_SpectrastSearchAdapter_2.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_SpectrastSearchAdapter_2 failed'; >&2 echo -e "stderr:\n$(cat TOPP_SpectrastSearchAdapter_2.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_SpectrastSearchAdapter_2.stdout)";fi
+LuciphorAdapter -test -in LuciphorAdapter_1_input.mzML  -java_memory 1024 -id LuciphorAdapter_1_input.idXML -out LuciphorAdapter_1_output.tmp  -executable "${LUCIPHOR_BINARY}" -min_num_psms_model 1 > TOPP_LuciphorAdapter_1.stdout 2> TOPP_LuciphorAdapter_1.stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TOPP_LuciphorAdapter_1 failed'; >&2 echo -e "stderr:\n$(cat TOPP_LuciphorAdapter_1.stderr | sed 's/^/    /')"; echo -e "stdout:\n$(cat TOPP_LuciphorAdapter_1.stdout)";fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/prepare_test_data_manual.sh	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,155 @@
+MSSimulator -test -in DecoyDatabase_1.fasta -out MSsimulator.mzml -algorithm:RandomNumberGenerators:biological reproducible -algorithm:RandomNumberGenerators:technical reproducible > MSSimulator_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MSSimulator_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MSSimulator -test -in DecoyDatabase_1.fasta -out MSsimulator_MALDI.mzml -algorithm:RandomNumberGenerators:biological reproducible -algorithm:RandomNumberGenerators:technical reproducible -algorithm:MSSim:Global:ionization_type MALDI > MSSimulator_2.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MSSimulator_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+ClusterMassTracesByPrecursor -test -in_ms1 ConsensusMapNormalizer_input.consensusXML -in_swath ConsensusMapNormalizer_input.consensusXML -out ClusterMassTracesByPrecursor.mzml > ClusterMassTracesByPrecursor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'ClusterMassTracesByPrecursor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+ClusterMassTraces -test -in ConsensusMapNormalizer_input.consensusXML -out ClusterMassTraces.mzml > ClusterMassTraces.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'ClusterMassTraces failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+CVInspector -test -cv_files CHEMISTRY/XLMOD.obo -cv_names XLMOD -mapping_file MAPPING/ms-mapping.xml -html CVInspector.html > CVInspector.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'CVInspector failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+DeMeanderize -test -in MSsimulator_MALDI.mzml -out DeMeanderize.mzml > DeMeanderize.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'DeMeanderize failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO DigestorMotif
+
+Digestor -test -in random.fa -out Digestor.fasta -out_type fasta > Digestor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'Digestor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+EICExtractor -test -in spectra.mzML -pos FileConverter_10_input.edta -out EICExtractor.csv > EICExtractor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'EICExtractor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+#TODO ERPairFinder
+
+FeatureFinderIsotopeWavelet -test -in FeatureFinderCentroided_1_input.mzML -out  FeatureFinderIsotopeWavelet.featureXML > FeatureFinderIsotopeWavelet.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'FeatureFinderIsotopeWavelet failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+
+FFEval -test -in  FeatureFinderCentroided_1_output.featureXML -truth  FeatureFinderCentroided_1_output.featureXML -out  FFEval.featureXML -out_roc FFEval_roc.csv  > FFEval.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'FFEval failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO? deprecated IDDecoyProbability
+
+IDExtractor -test -in MSGFPlusAdapter_1_out.idXML -best_hits -number_of_peptides  1 -out  IDExtractor.idXML   > IDExtractor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'IDExtractor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+LabeledEval -test -in  FeatureLinkerLabeled_1_input.featureXML -truth  FeatureLinkerLabeled_1_output.consensusXML> LabeledEval.txt > LabeledEval.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'LabeledEval failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MapStatistics -test -in SiriusAdapter_3_input.featureXML -out MapStatistics.txt > MapStatistics_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MapStatistics_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MapStatistics -test -in ConsensusXMLFile_1.consensusXML -out MapStatistics2.txt > MapStatistics_2.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MapStatistics_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MetaboliteAdductDecharger -test -in Decharger_input.featureXML -out_cm MetaboliteAdductDecharger_cm.consensusXML -out_fm MetaboliteAdductDecharger_fm.featureXML -outpairs MetaboliteAdductDecharger_pairs.consensusXML > MetaboliteAdductDecharger.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MetaboliteAdductDecharger failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+MetaboliteSpectralMatcher -test -in spectra.mzML -database MetaboliteSpectralDB.mzML -out MetaboliteSpectralMatcher.mzTab > MetaboliteSpectralMatcher.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'MetaboliteSpectralMatcher failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO MRMPairFinder
+
+# TODO OpenSwathDIAPreScoring
+
+OpenSwathRewriteToFeatureXML -featureXML OpenSwathFeatureXMLToTSV_input.featureXML -out OpenSwathRewriteToFeatureXML.featureXML > OpenSwathRewriteToFeatureXML.stdout 2> stderr
+# if [[ "$?" -ne "0" ]]; then >&2 echo 'OpenSwathRewriteToFeatureXML failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# adapted from the commented tests in OpenMS TODO may be removed later https://github.com/OpenMS/OpenMS/issues/4719
+FileConverter -in PepNovo.mzXML -out PepNovo_1.mzML > /dev/null 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'FileConverter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+PepNovoAdapter -ini PepNovoAdapter_1_parameters.ini -in PepNovo_1.mzML -out PepNovoAdapter_3_output.idXML -model_directory pepnovo_models/ -pepnovo_executable pepnovo > PepNovo_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PhosphoScoring failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+FileConverter -in PepNovo.mzData -out PepNovo_4.mzML > /dev/null 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'FileConverter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+PepNovoAdapter -ini PepNovoAdapter_1_parameters.ini -in PepNovo_4.mzML -out PepNovoAdapter_4_output.idXML -model_directory pepnovo_models/ -pepnovo_executable pepnovo > PepNovo_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PhosphoScoring failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+#PepNovoAdapter -ini PepNovoAdapter_5_parameters.ini -in PepNovoAdapter_5_output.pepnovo_out -out PepNovoAdapter_5_output.idXML -model_directory pepnovo_models/ 
+
+# TODO PhosphoScoring 
+PhosphoScoring -in spectra.mzML -id MSGFPlusAdapter_1_out1.tmp -out PhosphoScoring.idxml > PhosphoScoring.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PhosphoScoring failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+PSMFeatureExtractor -test -in MSGFPlusAdapter_1_out.idXML XTandemAdapter_1_out.idXML -multiple_search_engines -skip_db_check -out PSMFeatureExtractor.idxml > PSMFeatureExtractor_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PSMFeatureExtractor_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+PSMFeatureExtractor -test -in MSGFPlusAdapter_1_out.idXML XTandemAdapter_1_out.idXML -multiple_search_engines -skip_db_check -out PSMFeatureExtractor.mzid > PSMFeatureExtractor_2.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'PSMFeatureExtractor_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+QCCalculator -test -in OpenPepXL_input.mzML -out QCCalculator1.qcML > QCCalculator_1.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCCalculator_1 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+QCCalculator -test -in OpenPepXL_input.mzML -id OpenPepXL_output.idXML -consensus OpenPepXL_input.consensusXML -out QCCalculator2.qcML > QCCalculator_2.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCCalculator_2 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+QCCalculator -test -in IDMapper_4_input.mzML -id IDMapper_4_input.idXML -feature IDMapper_4_input.featureXML -out QCCalculator3.qcML > QCCalculator_3.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCCalculator_3 failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO QCEmbedder
+# TODO QCExporter
+# TODO QCExtractor
+# TODO QCImporter
+
+QCMerger -test -in QCCalculator1.qcML QCCalculator3.qcML -out QCMerger.qcML > QCMerger.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCMerger failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+QCShrinker -test -in QCCalculator1.qcML -out QCShrinker.qcML > QCShrinker.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'QCShrinker failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+RNADigestor -test -in random_RNA.fa -out RNADigestor.fasta > RNADigestor.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'RNADigestor failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+RNPxlXICFilter -test -control FileFilter_1_input.mzML -treatment FileFilter_1_input.mzML -out RNPxlXICFilter.mzML > RNPxlXICFilter.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'RNPxlXICFilter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO out should be tsv, but needs https://github.com/OpenMS/OpenMS/pull/4533
+RTEvaluation -in PeptideIndexer_1.idXML -out RTEvaluation.csv > RTEvaluation.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'RTEvaluation failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+ln -fs RTEvaluation.csv RTEvaluation.tsv > .stdout 2> stderr
+
+SemanticValidator -test -in FileFilter_1_input.mzML -mapping_file MAPPING/ms-mapping.xml > SemanticValidator.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SemanticValidator failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+IDFilter -in PeptideIndexer_1.idXML -best:strict -out SequenceCoverageCalculator_1.idXML > IDFilter.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'IDFilter failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+SequenceCoverageCalculator -test -in_database  PeptideIndexer_1.fasta -in_peptides  SequenceCoverageCalculator_1.idXML  -out  SequenceCoverageCalculator.txt > SequenceCoverageCalculator.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SequenceCoverageCalculator failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO SpecLibCreator
+
+SpectraFilterBernNorm -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterBernNorm.mzML > SpectraFilterBernNorm.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterBernNorm failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterMarkerMower -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterMarkerMower.mzML > SpectraFilterMarkerMower.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterMarkerMower failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterNLargest -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterNLargest.mzML > SpectraFilterNLargest.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterNLargest failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterNormalizer -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterNormalizer.mzML > SpectraFilterNormalizer.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterNormalizer failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterParentPeakMower -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterParentPeakMower.mzML > SpectraFilterParentPeakMower.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterParentPeakMower failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterScaler -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterScaler.mzML > SpectraFilterScaler.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterScaler failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraFilterThresholdMower -test -in  SpectraFilterSqrtMower_1_input.mzML -out  SpectraFilterThresholdMower.mzML > SpectraFilterThresholdMower.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraFilterThresholdMower failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+SpectraMerger -test -in NovorAdapter_in.mzML -out SpectraMerger_1.mzML > SpectraMerger.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'SpectraMerger failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+# TODO SvmTheoreticalSpectrumGeneratorTrainer
+
+TransformationEvaluation -test -in FileInfo_16_input.trafoXML -out TransformationEvaluation.trafoXML > TransformationEvaluation.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'TransformationEvaluation failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
+
+XMLValidator -test -in FileFilter_1_input.mzML > XMLValidator.stdout 2> stderr
+if [[ "$?" -ne "0" ]]; then >&2 echo 'XMLValidator failed'; >&2 echo -e "stderr:\n$(cat stderr | sed 's/^/    /')"; fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/readme.md	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,153 @@
+Galaxy wrapper for OpenMS
+=========================
+
+OpenMS is an open-source software C++ library for LC/MS data management and analyses.
+It offers an infrastructure for the rapid development of mass spectrometry related software.
+OpenMS is free software available under the three clause BSD license and runs under Windows, MacOSX and Linux.
+
+More informations are available at:
+
+ * https://github.com/OpenMS/OpenMS
+ * https://www.openms.de/
+
+The wrappers for these tools and most of their tests are automatically
+generated using the `generate.sh` script. The generation of the tools is
+based on the CTDConverter (https://github.com/WorkflowConversion/CTDConverter)
+which can be fine tuned via the `hardcoded_params.json` file. This file allows
+to blacklist and hardcode parameters and to modify or set arbitrary
+CTD/XML attributes.
+
+Note that, due to its size, the test data is excluded from this repository. In
+order to generate the test data on call `test-data.sh`.
+
+Manual updates should only be done to
+
+- the `@GALAXY_VERSION@"` token in `macros.xml`
+- and the manually contributed tests in `macros_test.xml` (The goal is that all
+  tools that do not have an automatically generated test are covered here)
+- the `hardcoded_params.json` files
+
+In a few cases patches may be acceptable.
+
+Installation
+============
+
+The Galaxy OpenMS tools can be installed from the toolshed. While most tools
+will work out of the box some need attention since requirements can not be
+fulfilled via Conda:
+
+Not yet in Conda are:
+
+- SpectraST (http://tools.proteomecenter.org/wiki/index.php?title=SpectraST)
+- MaRaCluster (https://github.com/statisticalbiotechnology/maracluster)
+
+Binaries for these tools can easily be obtained via: 
+
+```
+VERSION=....
+git git clone -b release/$VERSION.0 https://github.com/OpenMS/OpenMS.git OpenMS$VERSION.0-git
+git submodule init OpenMS$VERSION.0-git
+git submodule update OpenMS$VERSION.0-git
+```
+
+They are located in `OpenMS$VERSION-git/THIRDPARTY/`. 
+
+Not in Conda due to licencing restrictions:
+
+- Mascot http://www.matrixscience.com/
+- MSFragger https://github.com/Nesvilab/MSFragger
+- Novor http://www.rapidnovor.org/novor
+
+There are multiple ways to enable the Galaxy tools to use these binaries. 
+
+- Just copy them to the `bin` path within Galaxy's conda environment
+- Put them in any other path that that is included in PATH
+- Edit the corresponding tools: In the command line part search for the parameters `-executable`, `-maracluster_executable`, or `-mascot_directory` and edit them appropriately.
+
+Working
+=======
+
+The tools work by:
+
+Preprocessing:
+
+- For each input / output data set parameter a directory is crated (named by
+  the parameter)
+- For input data set parameters the links to the actual location of the data
+  sets are created
+
+Main:
+
+- The galaxy wrapper create two json config files: one containing the
+  parameters and the values chosen by the user and the other the values of
+  hardcoded parameters.
+- With `OpenMSTool -write_ctd ./` a CTD (names OpenMSTool.ctd) file is
+  generated that contains the default values.
+- A call to `fill_ctd.py` fills in the values from the json config files into
+  the CTD file
+- The actual tool is called `OpenMSTool -ini OpenMSTool.ctd` and also all input
+  and output parameters are given on the command line.
+
+Postprocessing:
+
+- output data sets are moved to the final locations
+
+Note: The reason for handling data sets on the command line (and not specifying
+them in the CTD file) is mainly that all files in Galaxy have the extension
+`.dat` and OpenMS tools require an appropriate extension. But this may change
+in the future.
+
+Generating OpenMS wrappers
+==========================
+
+1. remove old test data: `rm -rf $(ls -d test-data/* | egrep -v "random|\.loc")`
+2. `./generate.sh`
+
+Whats happening:
+
+1. The binaries of the OpenMS package can generate a CTD file that describes
+   the parameters. These CTD files are converted to xml Galaxy tool descriptions
+   using the `CTDConverter`.
+
+2. The CI testing framework of OpenMS contains command lines and test data 
+   (https://github.com/OpenMS/OpenMS/tree/develop/src/tests/topp). These tests
+   are described in two CMake files.
+
+   - From these CMake files Galaxy tests are auto generated and stored in `macros_autotest.xml`
+   - The command lines are stored in `prepare_test_data.sh` for regeneration of test data
+
+More details can be found in the comments of the shell script.
+
+Open problems
+=============
+
+Some tools stall in CI testing using `--biocontainers` which is why the OpenMS
+tools are currently listed in `.tt_biocontainer_skip`. This is
+
+- AssayGeneratorMetabo and SiriusAdapter (both depend on sirius)
+- OMSSAAdapter
+
+Using `docker -t` seems to solve the problem (see
+https://github.com/galaxyproject/galaxy/issues/10153).
+
+Licence (MIT)
+=============
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data.sh	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,255 @@
+#!/usr/bin/env bash
+
+VERSION=2.5
+FILETYPES="filetypes.txt"
+CONDAPKG="https://anaconda.org/bioconda/openms/2.5.0/download/linux-64/openms-2.5.0-h463af6b_1.tar.bz2"
+
+# import the magic
+. ./generate-foo.sh
+
+# install conda
+if [ -z "$tmp" ]; then
+	tmp=$(mktemp -d)
+	created="yes"
+fi
+
+export OPENMSGIT="$tmp/OpenMS$VERSION.0-git"
+export OPENMSPKG="$tmp/OpenMS$VERSION-pkg/"
+export OPENMSENV="$tmp/OpenMS$VERSION-env"
+export CTDCONVERTER="$tmp/CTDConverter"
+
+
+if type conda > /dev/null; then  
+	true
+else
+	wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
+	bash Miniconda3-latest-Linux-x86_64.sh -b -p "$tmp/miniconda"
+	source "$tmp/miniconda/bin/activate"
+fi
+eval "$(conda shell.bash hook)"
+
+if [[ -z "$1" ]]; then
+	autotests="/dev/null"
+else
+	autotests="$1"
+fi
+
+###############################################################################
+## get 
+## - conda environment (for executing the binaries) and 
+## - the git clone of OpenMS (for generating the tests)
+###############################################################################
+
+echo "Clone OpenMS $VERSION sources"
+if [[ ! -d $OPENMSGIT ]]; then
+	git clone -b release/$VERSION.0 https://github.com/OpenMS/OpenMS.git $OPENMSGIT
+	cd $OPENMSGIT
+	git submodule init
+	git submodule update
+	cd -
+else
+	cd $OPENMSGIT
+		git pull origin release/$VERSION.0
+	cd -
+fi
+
+echo "Create OpenMS $VERSION conda env"
+# TODO currently add lxml (needed by CTDConverter)
+# TODO for some reason a to recent openjdk is used
+if conda env list | grep "$OPENMSENV"; then
+	true
+else
+	conda create -y --quiet --override-channels --channel iuc --channel conda-forge --channel bioconda --channel defaults -p $OPENMSENV openms=$VERSION openms-thirdparty=$VERSION openjdk=8.0.192 ctdopts=1.4 lxml
+# chmod -R u-w $OPENMSENV 
+fi
+###############################################################################
+## get the 
+## - conda package (for easy access and listing of the OpenMS binaries), 
+###############################################################################
+echo "Download OpenMS $VERSION package $CONDAPKG"
+
+if [[ ! -d $OPENMSPKG ]]; then
+	mkdir $OPENMSPKG
+	wget -q -P $OPENMSPKG/ "$CONDAPKG"
+	tar -xf $OPENMSPKG/"$(basename $CONDAPKG)" -C $OPENMSPKG/
+	rm $OPENMSPKG/"$(basename $CONDAPKG)"
+fi
+
+###############################################################################
+## Get python libaries for CTD -> Galaxy conversion
+## TODO fix to main repo OR conda packkage if PRs are merged 
+###############################################################################
+echo "Clone CTDConverter"
+if [[ ! -d $CTDCONVERTER ]]; then
+	#git clone https://github.com/WorkflowConversion/CTDConverter.git CTDConverter
+	git clone -b topic/cdata https://github.com/bernt-matthias/CTDConverter.git $CTDCONVERTER
+else
+	cd $CTDCONVERTER
+	git pull origin topic/cdata
+	cd -
+fi
+export PYTHONPATH=$(pwd)/CTDopts
+
+###############################################################################
+## copy all the test data files to test-data
+## most of it (outputs) will be overwritten later, but its needed for
+## prepare_test_data
+###############################################################################
+echo "Get test data"
+cp $(find $OPENMSGIT/src/tests/topp/ -type f | grep -Ev "third_party_tests.cmake|CMakeLists.txt|check_ini") test-data/
+cp -r $OPENMSGIT/share/OpenMS/MAPPING/ test-data/
+cp -r $OPENMSGIT/share/OpenMS/CHEMISTRY test-data/
+cp -r $OPENMSGIT/share/OpenMS/examples/ test-data/
+if [[ ! -f test-data/MetaboliteSpectralDB.mzML ]]; then 
+	wget -q https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Tutorials/Data/latest/Example_Data/Metabolomics/databases/MetaboliteSpectralDB.mzML && mv MetaboliteSpectralDB.mzML test-data/
+fi
+ln -fs TOFCalibration_ref_masses test-data/TOFCalibration_ref_masses.txt
+ln -fs TOFCalibration_const test-data/TOFCalibration_const.csv
+
+if [ ! -d test-data/pepnovo_models/ ]; then
+	wget http://proteomics.ucsd.edu/Software/PepNovo/PepNovo.20120423.zip
+	unzip -e PepNovo.20120423.zip -d /tmp/
+	mv /tmp/Models test-data/pepnovo_models/
+fi
+###############################################################################
+## generate ctd files using the binaries in the conda package 
+###############################################################################
+echo "Create CTD files"
+conda activate $OPENMSENV
+mkdir -p ctd
+
+# TODO because of https://github.com/OpenMS/OpenMS/issues/4641
+# this needs to be done from within test-data
+cd test-data
+for i in $OPENMSPKG/bin/*
+do
+	b=$(basename $i)
+	echo $b
+	$b -write_ctd ../ctd/
+	sed -i -e 's/²/^2/' ../ctd/$b.ctd
+done
+cd -
+###############################################################################
+## fix ini files: OpenMS test data contains ini files with outdated ini files.
+## e.g. variables might be in different nodes, outdated variables present, new
+## variables missing, ...
+## OpenMS tools fix this on the fly (so its no problem for the OpenMS tests)
+## but it is for the generation of the tests
+## see https://github.com/OpenMS/OpenMS/issues/4462
+###############################################################################
+echo "Update test INI files"
+for ini in test-data/*ini
+do
+	tool=$(cat $ini | grep 'NODE name="' | head -n 1 | sed 's/.*name="\([^"]\+\)".*/\1/')
+	bin=$(which $tool)
+	if [[ -z $bin ]]; then
+          >&2 echo "missing binary to convert $ini"
+		  continue
+	fi
+	cp $ini $ini.backup
+	$bin -ini $ini -write_ini $ini > $ini.stdout 2> $ini.stderr
+	if [[ "$?" -ne "0" ]]; then
+		>&2 echo "could not convert $ini"
+	fi
+done
+
+###############################################################################
+## create script to create results for the tests and run it
+###############################################################################
+echo "Create test shell script"
+
+echo -n "" > prepare_test_data.sh
+echo 'export COMET_BINARY="comet"' >> prepare_test_data.sh
+echo 'export CRUX_BINARY="crux"' >> prepare_test_data.sh
+echo 'export FIDOCHOOSEPARAMS_BINARY="FidoChooseParameters"' >> prepare_test_data.sh
+echo 'export FIDO_BINARY="Fido"' >> prepare_test_data.sh
+echo 'export LUCIPHOR_BINARY="$(dirname $(realpath $(which luciphor2)))/luciphor2.jar"' >> prepare_test_data.sh
+
+echo 'export MARACLUSTER_BINARY="'"$OPENMSGIT"'/THIRDPARTY/Linux/64bit/MaRaCluster/maracluster"'>> prepare_test_data.sh
+echo 'export MSFRAGGER_BINARY="/home/berntm/Downloads/MSFragger-20171106/MSFragger-20171106.jar"'>> prepare_test_data.sh
+echo 'export MSGFPLUS_BINARY="$(msgf_plus -get_jar_path)"' >> prepare_test_data.sh
+echo 'export MYRIMATCH_BINARY="myrimatch"'>> prepare_test_data.sh
+echo 'export NOVOR_BINARY="/home/berntm/Downloads/novor/lib/novor.jar"' >> prepare_test_data.sh
+echo 'export OMSSA_BINARY="$(dirname $(realpath $(which omssacl)))/omssacl"'>> prepare_test_data.sh
+echo 'export PERCOLATOR_BINARY="percolator"'>> prepare_test_data.sh
+echo 'export SIRIUS_BINARY="$(which sirius)"' >> prepare_test_data.sh
+echo 'export SPECTRAST_BINARY="spectrast"' >> prepare_test_data.sh
+echo 'export XTANDEM_BINARY="xtandem"' >> prepare_test_data.sh
+echo 'export THERMORAWFILEPARSER_BINARY="ThermoRawFileParser.exe"' >> prepare_test_data.sh
+
+prepare_test_data >> prepare_test_data.sh #tmp_test_data.sh
+
+# prepare_test_data > tmp_test_data.sh
+# # remove calls not needed for the tools listed in any .list file
+# echo LIST $LIST
+# if [ ! -z "$LIST" ]; then
+# 	REX=$(echo $LIST | sed 's/ /\n/g' | sed 's@.*/\([^/]\+\).xml$@\1@' | tr '\n' '|' | sed 's/|$//')
+# else
+# 	REX=".*"
+# fi
+# echo REX $REX
+# cat tmp_test_data.sh | egrep "($REX)" >> prepare_test_data.sh
+# rm tmp_test_data.sh
+
+echo "Execute test shell script"
+chmod u+x prepare_test_data.sh
+cd ./test-data || exit
+../prepare_test_data.sh
+cd - || exit
+
+
+###############################################################################
+## create/update test data for the manually generated tests
+## - run convert once with the manual tests only and 
+## - update test-data (needs to run 2x)
+###############################################################################
+echo "Execute test shell script for manually curated tests"
+chmod u+x prepare_test_data_manual.sh
+
+cd ./test-data || exit
+../prepare_test_data_manual.sh
+cd - || exit
+
+
+# # # exit
+
+###############################################################################
+## auto generate tests
+###############################################################################
+
+echo "Write test macros to "$autotests
+echo "<macros>" > $autotests
+for i in $(ls *xml |grep -v macros)
+do
+	b=$(basename "$i" .xml)
+	get_tests2 "$b" >> $autotests 
+done
+echo "</macros>" >> $autotests
+
+echo "Create test data links"
+link_tmp_files
+
+# tests for tools using output_prefix parameters can not be auto generated
+# hence we output the tests for manual curation in macros_test.xml
+# and remove them from the autotests
+if [[ ! -z "$1" ]]; then
+	echo "" > macros_discarded_auto.xml
+	for i in OpenSwathFileSplitter IDRipper MzMLSplitter
+	do
+		echo "<xml name=\"manutest_$i\">" >>  macros_discarded_auto.xml
+		xmlstarlet sel -t -c "/macros/xml[@name='autotest_$i']/test" macros_autotest.xml >>  macros_discarded_auto.xml
+		echo "</xml>"  >>  macros_discarded_auto.xml
+		xmlstarlet ed -d "/macros/xml[@name='autotest_$i']/test" macros_autotest.xml > tmp
+		mv tmp macros_autotest.xml
+	done
+	>&2 "discarded autogenerated macros for curation in macros_discarded_auto.xml"
+fi
+conda deactivate
+
+## remove broken symlinks in test-data
+find test-data/ -xtype l -delete
+
+# if [ ! -z "$created" ]; then
+# 	echo "Removing temporary directory"
+# 	rm -rf "$tmp"
+# fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/pepnovo_models.loc.sample	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,23 @@
+# This is a sample file distributed with Galaxy that enables tools
+# to use pepnovo models
+# The file has three tab separated columns: name, value, and path.
+# The idea is that there are a number of models in a directory:
+# - each model directory has a unique name (columns 2 and 0)
+# - each model can contain a set of models (column 1)
+#
+# The following example works fo the default models from 
+# http://proteomics.ucsd.edu/Software/PepNovo.html (just remove the comment
+# chars and replace DIR_TO_PEPNOVO_MODELS)
+
+#default_models	CID_IT_TRYP	DIR_TO_PEPNOVO_MODELS
+#default_models	LTQ_COMP	DIR_TO_PEPNOVO_MODELS
+#default_models	DBC4_PEAK	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_TAG5	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_TAG6	DIR_TO_PEPNOVO_MODELS
+#default_models	ITDNV_PEAK	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_SCORE	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_TAG3	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_DNVPART	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_TAG4	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_DB	DIR_TO_PEPNOVO_MODELS
+#default_models	CID_IT_TRYP_CSP	DIR_TO_PEPNOVO_MODELS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Locations of pepnovo models -->
+    <table name="pepnovo_models" comment_char="#" allow_duplicate_entries="False">
+        <columns>name,value,path</columns>
+        <file path="tool-data/pepnovo_models.loc" />
+    </table>
+</tables>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.test	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Locations of all eggnog_mapper data -->
+    <table name="pepnovo_models" comment_char="#">
+        <columns>name,value,path</columns>
+        <file path="${__HERE__}/test-data/pepnovo_models.loc" />
+    </table>
+</tables>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools_blacklist.txt	Wed Sep 09 20:05:38 2020 +0000
@@ -0,0 +1,24 @@
+# seems not possible for 2.5 https://github.com/OpenMS/OpenMS/issues/4426
+DigestorMotif
+
+# deprecated https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/latest/html/UTILS_IDDecoyProbability.html
+# https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/latest/html/a16242.html
+IDDecoyProbability
+
+# personal communication with author V. Bafna: 
+# "InsPect is no longer maintained as there are many better tools including MS-GF+"
+InspectAdapter
+
+# licence? see https://github.com/bioconda/bioconda-recipes/issues/18953
+#MSFraggerAdapter
+
+# seems currently unusable https://github.com/OpenMS/OpenMS/pull/4443
+OpenSwathDIAPreScoring
+
+# https://github.com/OpenMS/OpenMS/issues/4550#issuecomment-594065727
+ProteomicsLFQ
+
+# https://github.com/OpenMS/OpenMS/issues/4401
+InclusionExclusionListCreator
+RTPredict
+PTPredict