diff macros_autotest.xml @ 10:18ee86db4af2 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:10:31 +0000
parents
children 73d288112aef
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros_autotest.xml	Wed Sep 09 20:10:31 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>