diff IsobaricAnalyzer.xml @ 9:d52e76ea2c11 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 020906fb54bde7fc143c356f41975c378a741315"
author galaxyp
date Wed, 09 Sep 2020 12:52:01 +0000
parents 7d2ed325f2e5
children 57a06b90bb00
line wrap: on
line diff
--- a/IsobaricAnalyzer.xml	Fri May 17 09:20:14 2019 -0400
+++ b/IsobaricAnalyzer.xml	Wed Sep 09 12:52:01 2020 +0000
@@ -1,740 +1,359 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <!--This is a configuration file for the integration of a tools into Galaxy (https://galaxyproject.org/). This file was automatically generated using CTDConverter.-->
 <!--Proposed Tool Section: [Quantitation]-->
-<tool id="IsobaricAnalyzer" name="IsobaricAnalyzer" version="2.3.0">
+<tool id="IsobaricAnalyzer" name="IsobaricAnalyzer" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>Calculates isobaric quantitative values for peptides</description>
   <macros>
     <token name="@EXECUTABLE@">IsobaricAnalyzer</token>
     <import>macros.xml</import>
+    <import>macros_autotest.xml</import>
+    <import>macros_test.xml</import>
   </macros>
-  <expand macro="references"/>
+  <expand macro="requirements"/>
   <expand macro="stdio"/>
-  <expand macro="requirements"/>
-  <command detect_errors="aggressive"><![CDATA[IsobaricAnalyzer
+  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
+@EXT_FOO@
+#import re
 
-#if $param_type:
-  -type
-  #if " " in str($param_type):
-    "$param_type"
-  #else
-    $param_type
-  #end if
-#end if
-#if $param_in:
-  -in $param_in
-#end if
-#if $param_out:
-  -out $param_out
-#end if
-#if $param_id_pool:
-  -id_pool     "$param_id_pool"
-#end if
-#if $param_extraction_select_activation:
-  -extraction:select_activation
-  #if " " in str($param_extraction_select_activation):
-    "$param_extraction_select_activation"
-  #else
-    $param_extraction_select_activation
-  #end if
-#end if
-#if $param_extraction_reporter_mass_shift:
-  -extraction:reporter_mass_shift $param_extraction_reporter_mass_shift
-#end if
-#if $param_extraction_min_precursor_intensity:
-  -extraction:min_precursor_intensity $param_extraction_min_precursor_intensity
-#end if
-#if $param_extraction_keep_unannotated_precursor:
-  -extraction:keep_unannotated_precursor
-  #if " " in str($param_extraction_keep_unannotated_precursor):
-    "$param_extraction_keep_unannotated_precursor"
-  #else
-    $param_extraction_keep_unannotated_precursor
-  #end if
-#end if
-#if $param_extraction_min_reporter_intensity:
-  -extraction:min_reporter_intensity $param_extraction_min_reporter_intensity
-#end if
-#if $param_extraction_discard_low_intensity_quantifications:
-  -extraction:discard_low_intensity_quantifications
-#end if
-#if $param_extraction_min_precursor_purity:
-  -extraction:min_precursor_purity $param_extraction_min_precursor_purity
-#end if
-#if $param_itraq4plex_channel_114_description:
-  -itraq4plex:channel_114_description     "$param_itraq4plex_channel_114_description"
-#end if
-#if $param_itraq4plex_channel_115_description:
-  -itraq4plex:channel_115_description     "$param_itraq4plex_channel_115_description"
-#end if
-#if $param_itraq4plex_channel_116_description:
-  -itraq4plex:channel_116_description     "$param_itraq4plex_channel_116_description"
-#end if
-#if $param_itraq4plex_channel_117_description:
-  -itraq4plex:channel_117_description     "$param_itraq4plex_channel_117_description"
-#end if
-#if $param_itraq4plex_reference_channel:
-  -itraq4plex:reference_channel $param_itraq4plex_reference_channel
-#end if
+## Preprocessing
+mkdir in &&
+ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
+mkdir out &&
 
-#if $rep_param_itraq4plex_correction_matrix:
--itraq4plex:correction_matrix
-  #for token in $rep_param_itraq4plex_correction_matrix:
-    #if " " in str(token):
-      "$token.param_itraq4plex_correction_matrix"
-    #else
-      $token.param_itraq4plex_correction_matrix
-    #end if
-  #end for
-#end if
-#if $param_itraq8plex_channel_113_description:
-  -itraq8plex:channel_113_description     "$param_itraq8plex_channel_113_description"
-#end if
-#if $param_itraq8plex_channel_114_description:
-  -itraq8plex:channel_114_description     "$param_itraq8plex_channel_114_description"
-#end if
-#if $param_itraq8plex_channel_115_description:
-  -itraq8plex:channel_115_description     "$param_itraq8plex_channel_115_description"
-#end if
-#if $param_itraq8plex_channel_116_description:
-  -itraq8plex:channel_116_description     "$param_itraq8plex_channel_116_description"
-#end if
-#if $param_itraq8plex_channel_117_description:
-  -itraq8plex:channel_117_description     "$param_itraq8plex_channel_117_description"
-#end if
-#if $param_itraq8plex_channel_118_description:
-  -itraq8plex:channel_118_description     "$param_itraq8plex_channel_118_description"
-#end if
-#if $param_itraq8plex_channel_119_description:
-  -itraq8plex:channel_119_description     "$param_itraq8plex_channel_119_description"
-#end if
-#if $param_itraq8plex_channel_121_description:
-  -itraq8plex:channel_121_description     "$param_itraq8plex_channel_121_description"
-#end if
-#if $param_itraq8plex_reference_channel:
-  -itraq8plex:reference_channel $param_itraq8plex_reference_channel
-#end if
+## Main program call
 
-#if $rep_param_itraq8plex_correction_matrix:
--itraq8plex:correction_matrix
-  #for token in $rep_param_itraq8plex_correction_matrix:
-    #if " " in str(token):
-      "$token.param_itraq8plex_correction_matrix"
-    #else
-      $token.param_itraq8plex_correction_matrix
-    #end if
-  #end for
-#end if
-#if $param_quantification_isotope_correction:
-  -quantification:isotope_correction
-  #if " " in str($param_quantification_isotope_correction):
-    "$param_quantification_isotope_correction"
-  #else
-    $param_quantification_isotope_correction
-  #end if
-#end if
-#if $param_quantification_normalization:
-  -quantification:normalization
-#end if
-#if $param_tmt10plex_channel_126_description:
-  -tmt10plex:channel_126_description     "$param_tmt10plex_channel_126_description"
-#end if
-#if $param_tmt10plex_channel_127N_description:
-  -tmt10plex:channel_127N_description     "$param_tmt10plex_channel_127N_description"
-#end if
-#if $param_tmt10plex_channel_127C_description:
-  -tmt10plex:channel_127C_description     "$param_tmt10plex_channel_127C_description"
-#end if
-#if $param_tmt10plex_channel_128N_description:
-  -tmt10plex:channel_128N_description     "$param_tmt10plex_channel_128N_description"
-#end if
-#if $param_tmt10plex_channel_128C_description:
-  -tmt10plex:channel_128C_description     "$param_tmt10plex_channel_128C_description"
-#end if
-#if $param_tmt10plex_channel_129N_description:
-  -tmt10plex:channel_129N_description     "$param_tmt10plex_channel_129N_description"
-#end if
-#if $param_tmt10plex_channel_129C_description:
-  -tmt10plex:channel_129C_description     "$param_tmt10plex_channel_129C_description"
-#end if
-#if $param_tmt10plex_channel_130N_description:
-  -tmt10plex:channel_130N_description     "$param_tmt10plex_channel_130N_description"
-#end if
-#if $param_tmt10plex_channel_130C_description:
-  -tmt10plex:channel_130C_description     "$param_tmt10plex_channel_130C_description"
-#end if
-#if $param_tmt10plex_channel_131_description:
-  -tmt10plex:channel_131_description     "$param_tmt10plex_channel_131_description"
-#end if
-#if $param_tmt10plex_reference_channel:
-  -tmt10plex:reference_channel
-  #if " " in str($param_tmt10plex_reference_channel):
-    "$param_tmt10plex_reference_channel"
-  #else
-    $param_tmt10plex_reference_channel
-  #end if
-#end if
+set -o pipefail &&
+@EXECUTABLE@ -write_ctd ./ &&
+python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
+@EXECUTABLE@ -ini @EXECUTABLE@.ctd
+-in
+'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)'
+-out
+'out/output.${gxy2omsext("consensusxml")}'
 
-#if $rep_param_tmt10plex_correction_matrix:
--tmt10plex:correction_matrix
-  #for token in $rep_param_tmt10plex_correction_matrix:
-    #if " " in str(token):
-      "$token.param_tmt10plex_correction_matrix"
-    #else
-      $token.param_tmt10plex_correction_matrix
-    #end if
-  #end for
-#end if
-#if $param_tmt11plex_channel_126_description:
-  -tmt11plex:channel_126_description     "$param_tmt11plex_channel_126_description"
-#end if
-#if $param_tmt11plex_channel_127N_description:
-  -tmt11plex:channel_127N_description     "$param_tmt11plex_channel_127N_description"
-#end if
-#if $param_tmt11plex_channel_127C_description:
-  -tmt11plex:channel_127C_description     "$param_tmt11plex_channel_127C_description"
-#end if
-#if $param_tmt11plex_channel_128N_description:
-  -tmt11plex:channel_128N_description     "$param_tmt11plex_channel_128N_description"
-#end if
-#if $param_tmt11plex_channel_128C_description:
-  -tmt11plex:channel_128C_description     "$param_tmt11plex_channel_128C_description"
-#end if
-#if $param_tmt11plex_channel_129N_description:
-  -tmt11plex:channel_129N_description     "$param_tmt11plex_channel_129N_description"
-#end if
-#if $param_tmt11plex_channel_129C_description:
-  -tmt11plex:channel_129C_description     "$param_tmt11plex_channel_129C_description"
-#end if
-#if $param_tmt11plex_channel_130N_description:
-  -tmt11plex:channel_130N_description     "$param_tmt11plex_channel_130N_description"
-#end if
-#if $param_tmt11plex_channel_130C_description:
-  -tmt11plex:channel_130C_description     "$param_tmt11plex_channel_130C_description"
-#end if
-#if $param_tmt11plex_channel_131N_description:
-  -tmt11plex:channel_131N_description     "$param_tmt11plex_channel_131N_description"
-#end if
-#if $param_tmt11plex_channel_131C_description:
-  -tmt11plex:channel_131C_description     "$param_tmt11plex_channel_131C_description"
-#end if
-#if $param_tmt11plex_reference_channel:
-  -tmt11plex:reference_channel
-  #if " " in str($param_tmt11plex_reference_channel):
-    "$param_tmt11plex_reference_channel"
-  #else
-    $param_tmt11plex_reference_channel
-  #end if
-#end if
-
-#if $rep_param_tmt11plex_correction_matrix:
--tmt11plex:correction_matrix
-  #for token in $rep_param_tmt11plex_correction_matrix:
-    #if " " in str(token):
-      "$token.param_tmt11plex_correction_matrix"
-    #else
-      $token.param_tmt11plex_correction_matrix
-    #end if
-  #end for
-#end if
-#if $param_tmt6plex_channel_126_description:
-  -tmt6plex:channel_126_description     "$param_tmt6plex_channel_126_description"
-#end if
-#if $param_tmt6plex_channel_127_description:
-  -tmt6plex:channel_127_description     "$param_tmt6plex_channel_127_description"
-#end if
-#if $param_tmt6plex_channel_128_description:
-  -tmt6plex:channel_128_description     "$param_tmt6plex_channel_128_description"
-#end if
-#if $param_tmt6plex_channel_129_description:
-  -tmt6plex:channel_129_description     "$param_tmt6plex_channel_129_description"
-#end if
-#if $param_tmt6plex_channel_130_description:
-  -tmt6plex:channel_130_description     "$param_tmt6plex_channel_130_description"
-#end if
-#if $param_tmt6plex_channel_131_description:
-  -tmt6plex:channel_131_description     "$param_tmt6plex_channel_131_description"
-#end if
-#if $param_tmt6plex_reference_channel:
-  -tmt6plex:reference_channel $param_tmt6plex_reference_channel
-#end if
-
-#if $rep_param_tmt6plex_correction_matrix:
--tmt6plex:correction_matrix
-  #for token in $rep_param_tmt6plex_correction_matrix:
-    #if " " in str(token):
-      "$token.param_tmt6plex_correction_matrix"
-    #else
-      $token.param_tmt6plex_correction_matrix
-    #end if
-  #end for
-#end if
-#if $adv_opts.adv_opts_selector=='advanced':
-    #if $adv_opts.param_force:
-  -force
-#end if
-    #if $adv_opts.param_extraction_precursor_isotope_deviation:
-  -extraction:precursor_isotope_deviation $adv_opts.param_extraction_precursor_isotope_deviation
-#end if
-    #if $adv_opts.param_extraction_purity_interpolation:
-  -extraction:purity_interpolation
-  #if " " in str($adv_opts.param_extraction_purity_interpolation):
-    "$adv_opts.param_extraction_purity_interpolation"
-  #else
-    $adv_opts.param_extraction_purity_interpolation
-  #end if
-#end if
-#end if
-]]></command>
+## Postprocessing
+&& mv 'out/output.${gxy2omsext("consensusxml")}' '$out'
+#if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
+  && mv '@EXECUTABLE@.ctd' '$ctd_out'
+#end if]]></command>
+  <configfiles>
+    <inputs name="args_json" data_style="paths"/>
+    <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
+  </configfiles>
   <inputs>
-    <param name="param_type" type="select" optional="False" value="itraq4plex" label="Isobaric Quantitation method used in the experiment" help="(-type) ">
+    <param name="type" argument="-type" type="select" optional="false" label="Isobaric Quantitation method used in the experiment" help="">
       <option value="itraq4plex" selected="true">itraq4plex</option>
       <option value="itraq8plex">itraq8plex</option>
       <option value="tmt10plex">tmt10plex</option>
       <option value="tmt11plex">tmt11plex</option>
+      <option value="tmt16plex">tmt16plex</option>
       <option value="tmt6plex">tmt6plex</option>
-    </param>
-    <param name="param_in" type="data" format="mzml" optional="False" label="input raw/picked data file" help="(-in) "/>
-    <param name="param_id_pool" type="text" size="30" label="ID pool file to DocumentID's for all generated output files" help="(-id_pool) Disabled by default. (Set to 'main' to use share/OpenMS/IDPool/IDPool.txt)">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_extraction_select_activation" type="select" optional="False" value="High-energy collision-induced dissociation" label="Operate only on MSn scans where any of its precursors features a certain activation method (" help="(-select_activation) e.g., usually HCD for iTRAQ). Set to empty string if you want to disable filtering">
-      <option value="Collision-induced dissociation">Collision-induced dissociation</option>
-      <option value="Post-source decay">Post-source decay</option>
-      <option value="Plasma desorption">Plasma desorption</option>
-      <option value="Surface-induced dissociation">Surface-induced dissociation</option>
-      <option value="Blackbody infrared radiative dissociation">Blackbody infrared radiative dissociation</option>
-      <option value="Electron capture dissociation">Electron capture dissociation</option>
-      <option value="Infrared multiphoton dissociation">Infrared multiphoton dissociation</option>
-      <option value="Sustained off-resonance irradiation">Sustained off-resonance irradiation</option>
-      <option value="High-energy collision-induced dissociation" selected="true">High-energy collision-induced dissociation</option>
-      <option value="Low-energy collision-induced dissociation">Low-energy collision-induced dissociation</option>
-      <option value="Photodissociation">Photodissociation</option>
-      <option value="Electron transfer dissociation">Electron transfer dissociation</option>
-      <option value=""></option>
-    </param>
-    <param name="param_extraction_reporter_mass_shift" type="float" min="0.0001" max="0.5" optional="True" value="0.002" label="Allowed shift (left to right) in Th from the expected position" help="(-reporter_mass_shift) "/>
-    <param name="param_extraction_min_precursor_intensity" type="float" min="0.0" optional="True" value="1.0" label="Minimum intensity of the precursor to be extracted" help="(-min_precursor_intensity) MS/MS scans having a precursor with a lower intensity will not be considered for quantitation"/>
-    <param name="param_extraction_keep_unannotated_precursor" display="radio" type="select" optional="False" value="true" label="Flag if precursor with missing intensity value or missing precursor spectrum should be included or not" help="(-keep_unannotated_precursor) ">
-      <option value="true" selected="true">true</option>
-      <option value="false">false</option>
-    </param>
-    <param name="param_extraction_min_reporter_intensity" type="float" min="0.0" optional="True" value="0.0" label="Minimum intensity of the individual reporter ions to be extracted" help="(-min_reporter_intensity) "/>
-    <param name="param_extraction_discard_low_intensity_quantifications" display="radio" type="boolean" truevalue="-extraction:discard_low_intensity_quantifications" falsevalue="" checked="false" optional="True" label="Remove all reporter intensities if a single reporter is below the threshold given in 'min_reporter_intensity'" help="(-discard_low_intensity_quantifications) "/>
-    <param name="param_extraction_min_precursor_purity" type="float" min="0.0" max="1.0" optional="True" value="0.0" label="Minimum fraction of the total intensity in the isolation window of the precursor spectrum attributable to the selected precurso" help="(-min_precursor_purity) "/>
-    <param name="param_itraq4plex_channel_114_description" type="text" size="30" label="Description for the content of the 114 channel" help="(-channel_114_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq4plex_channel_115_description" type="text" size="30" label="Description for the content of the 115 channel" help="(-channel_115_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq4plex_channel_116_description" type="text" size="30" label="Description for the content of the 116 channel" help="(-channel_116_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq4plex_channel_117_description" type="text" size="30" label="Description for the content of the 117 channel" help="(-channel_117_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq4plex_reference_channel" type="integer" min="114" max="117" optional="True" value="114" label="Number of the reference channel (114-117)" help="(-reference_channel) "/>
-    <repeat name="rep_param_itraq4plex_correction_matrix" min="0" max="1" title="param_itraq4plex_correction_matrix">
-      <param name="param_itraq4plex_correction_matrix" type="text" size="30" value="0.0/1.0/5.9/0.2 0.0/2.0/5.6/0.1 0.0/3.0/4.5/0.1 0.1/4.0/3.5/0.1" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="(-correction_matrix) e.g. '0/0.3/4/0', '0.1/0.3/3/0.2'">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
-      </param>
-    </repeat>
-    <param name="param_itraq8plex_channel_113_description" type="text" size="30" label="Description for the content of the 113 channel" help="(-channel_113_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq8plex_channel_114_description" type="text" size="30" label="Description for the content of the 114 channel" help="(-channel_114_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq8plex_channel_115_description" type="text" size="30" label="Description for the content of the 115 channel" help="(-channel_115_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq8plex_channel_116_description" type="text" size="30" label="Description for the content of the 116 channel" help="(-channel_116_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq8plex_channel_117_description" type="text" size="30" label="Description for the content of the 117 channel" help="(-channel_117_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq8plex_channel_118_description" type="text" size="30" label="Description for the content of the 118 channel" help="(-channel_118_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq8plex_channel_119_description" type="text" size="30" label="Description for the content of the 119 channel" help="(-channel_119_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq8plex_channel_121_description" type="text" size="30" label="Description for the content of the 121 channel" help="(-channel_121_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_itraq8plex_reference_channel" type="integer" min="113" max="121" optional="True" value="113" label="Number of the reference channel (113-121)" help="(-reference_channel) Please note that 120 is not valid"/>
-    <repeat name="rep_param_itraq8plex_correction_matrix" min="0" max="1" title="param_itraq8plex_correction_matrix">
-      <param name="param_itraq8plex_correction_matrix" type="text" size="30" value="0.00/0.00/6.89/0.22 0.00/0.94/5.90/0.16 0.00/1.88/4.90/0.10 0.00/2.82/3.90/0.07 0.06/3.77/2.99/0.00 0.09/4.71/1.88/0.00 0.14/5.66/0.87/0.00 0.27/7.44/0.18/0.00" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="(-correction_matrix) e.g. '0/0.3/4/0', '0.1/0.3/3/0.2'">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
-      </param>
-    </repeat>
-    <param name="param_quantification_isotope_correction" display="radio" type="select" optional="False" value="true" label="Enable isotope correction (highly recommended)" help="(-isotope_correction) Note that you need to provide a correct isotope correction matrix otherwise the tool will fail or produce invalid results">
-      <option value="true" selected="true">true</option>
-      <option value="false">false</option>
-    </param>
-    <param name="param_quantification_normalization" display="radio" type="boolean" truevalue="-quantification:normalization" falsevalue="" checked="false" optional="True" label="Enable normalization of channel intensities with respect to the reference channel" help="(-normalization) The normalization is done by using the Median of Ratios (every channel / Reference). Also the ratio of medians (from any channel and reference) is provided as control measure!"/>
-    <param name="param_tmt10plex_channel_126_description" type="text" size="30" label="Description for the content of the 126 channel" help="(-channel_126_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt10plex_channel_127N_description" type="text" size="30" label="Description for the content of the 127N channel" help="(-channel_127N_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt10plex_channel_127C_description" type="text" size="30" label="Description for the content of the 127C channel" help="(-channel_127C_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt10plex_channel_128N_description" type="text" size="30" label="Description for the content of the 128N channel" help="(-channel_128N_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt10plex_channel_128C_description" type="text" size="30" label="Description for the content of the 128C channel" help="(-channel_128C_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt10plex_channel_129N_description" type="text" size="30" label="Description for the content of the 129N channel" help="(-channel_129N_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt10plex_channel_129C_description" type="text" size="30" label="Description for the content of the 129C channel" help="(-channel_129C_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
+      <expand macro="list_string_san"/>
     </param>
-    <param name="param_tmt10plex_channel_130N_description" type="text" size="30" label="Description for the content of the 130N channel" help="(-channel_130N_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt10plex_channel_130C_description" type="text" size="30" label="Description for the content of the 130C channel" help="(-channel_130C_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt10plex_channel_131_description" type="text" size="30" label="Description for the content of the 131 channel" help="(-channel_131_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt10plex_reference_channel" type="select" optional="False" value="126" label="The reference channel (126, 127N, 127C, 128N, 128C, 129N, 129C, 130N, 130C, 131)" help="(-reference_channel) ">
-      <option value="126" selected="true">126</option>
-      <option value="127N">127N</option>
-      <option value="127C">127C</option>
-      <option value="128N">128N</option>
-      <option value="128C">128C</option>
-      <option value="129N">129N</option>
-      <option value="129C">129C</option>
-      <option value="130N">130N</option>
-      <option value="130C">130C</option>
-      <option value="131">131</option>
-    </param>
-    <repeat name="rep_param_tmt10plex_correction_matrix" min="0" max="1" title="param_tmt10plex_correction_matrix">
-      <param name="param_tmt10plex_correction_matrix" type="text" size="30" value="0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="(-correction_matrix) e.g. '0/0.3/4/0', '0.1/0.3/3/0.2'">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
+    <param name="in" argument="-in" type="data" format="mzml" optional="false" label="input raw/picked data file" help=" select mzml data sets(s)"/>
+    <section name="extraction" title="Parameters for the channel extraction" help="" expanded="false">
+      <param name="select_activation" argument="-extraction:select_activation" type="select" optional="false" label="Operate only on MSn scans where any of its precursors features a certain activation method" help="(e.g., usually HCD for iTRAQ). Set to empty string if you want to disable filtering">
+        <option value="Collision-induced dissociation">Collision-induced dissociation</option>
+        <option value="Post-source decay">Post-source decay</option>
+        <option value="Plasma desorption">Plasma desorption</option>
+        <option value="Surface-induced dissociation">Surface-induced dissociation</option>
+        <option value="Blackbody infrared radiative dissociation">Blackbody infrared radiative dissociation</option>
+        <option value="Electron capture dissociation">Electron capture dissociation</option>
+        <option value="Infrared multiphoton dissociation">Infrared multiphoton dissociation</option>
+        <option value="Sustained off-resonance irradiation">Sustained off-resonance irradiation</option>
+        <option value="High-energy collision-induced dissociation" selected="true">High-energy collision-induced dissociation</option>
+        <option value="Low-energy collision-induced dissociation">Low-energy collision-induced dissociation</option>
+        <option value="Photodissociation">Photodissociation</option>
+        <option value="Electron transfer dissociation">Electron transfer dissociation</option>
+        <option value=""></option>
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="reporter_mass_shift" argument="-extraction:reporter_mass_shift" type="float" optional="true" min="0.0001" max="0.5" value="0.002" label="Allowed shift (left to right) in Th from the expected position" help=""/>
+      <param name="min_precursor_intensity" argument="-extraction:min_precursor_intensity" type="float" optional="true" min="0.0" value="1.0" label="Minimum intensity of the precursor to be extracted" help="MS/MS scans having a precursor with a lower intensity will not be considered for quantitation"/>
+      <param name="keep_unannotated_precursor" argument="-extraction:keep_unannotated_precursor" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Flag if precursor with missing intensity value or missing precursor spectrum should be included or not" help=""/>
+      <param name="min_reporter_intensity" argument="-extraction:min_reporter_intensity" type="float" optional="true" min="0.0" value="0.0" label="Minimum intensity of the individual reporter ions to be extracted" help=""/>
+      <param name="discard_low_intensity_quantifications" argument="-extraction:discard_low_intensity_quantifications" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Remove all reporter intensities if a single reporter is below the threshold given in 'min_reporter_intensity'" help=""/>
+      <param name="min_precursor_purity" argument="-extraction:min_precursor_purity" type="float" optional="true" min="0.0" max="1.0" value="0.0" label="Minimum fraction of the total intensity in the isolation window of the precursor spectrum attributable to the selected precurso" help=""/>
+      <param name="precursor_isotope_deviation" argument="-extraction:precursor_isotope_deviation" type="float" optional="true" min="0.0" value="10.0" label="Maximum allowed deviation (in ppm) between theoretical and observed isotopic peaks of the precursor peak in the isolation window to be counted as part of the precurso" help=""/>
+      <param name="purity_interpolation" argument="-extraction:purity_interpolation" type="boolean" truevalue="true" falsevalue="false" checked="true" label="If set to true the algorithm will try to compute the purity as a time weighted linear combination of the precursor scan and the following scan" help="If set to false, only the precursor scan will be used"/>
+    </section>
+    <section name="itraq4plex" title="Algorithm parameters for iTRAQ 4-plex" help="" expanded="false">
+      <param name="channel_114_description" argument="-itraq4plex:channel_114_description" type="text" optional="true" value="" label="Description for the content of the 114 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_115_description" argument="-itraq4plex:channel_115_description" type="text" optional="true" value="" label="Description for the content of the 115 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_116_description" argument="-itraq4plex:channel_116_description" type="text" optional="true" value="" label="Description for the content of the 116 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_117_description" argument="-itraq4plex:channel_117_description" type="text" optional="true" value="" label="Description for the content of the 117 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="reference_channel" argument="-itraq4plex:reference_channel" type="integer" optional="true" min="114" max="117" value="114" label="Number of the reference channel (114-117)" help=""/>
+      <param name="correction_matrix" argument="-itraq4plex:correction_matrix" type="text" optional="true" value="0.0/1.0/5.9/0.2 0.0/2.0/5.6/0.1 0.0/3.0/4.5/0.1 0.1/4.0/3.5/0.1" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="e.g. '0/0.3/4/0', '0.1/0.3/3/0.2' (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+        <expand macro="list_string_val"/>
+        <expand macro="list_string_san"/>
+      </param>
+    </section>
+    <section name="itraq8plex" title="Algorithm parameters for iTRAQ 8-plex" help="" expanded="false">
+      <param name="channel_113_description" argument="-itraq8plex:channel_113_description" type="text" optional="true" value="" label="Description for the content of the 113 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_114_description" argument="-itraq8plex:channel_114_description" type="text" optional="true" value="" label="Description for the content of the 114 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_115_description" argument="-itraq8plex:channel_115_description" type="text" optional="true" value="" label="Description for the content of the 115 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_116_description" argument="-itraq8plex:channel_116_description" type="text" optional="true" value="" label="Description for the content of the 116 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_117_description" argument="-itraq8plex:channel_117_description" type="text" optional="true" value="" label="Description for the content of the 117 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_118_description" argument="-itraq8plex:channel_118_description" type="text" optional="true" value="" label="Description for the content of the 118 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_119_description" argument="-itraq8plex:channel_119_description" type="text" optional="true" value="" label="Description for the content of the 119 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_121_description" argument="-itraq8plex:channel_121_description" type="text" optional="true" value="" label="Description for the content of the 121 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="reference_channel" argument="-itraq8plex:reference_channel" type="integer" optional="true" min="113" max="121" value="113" label="Number of the reference channel (113-121)" help="Please note that 120 is not valid"/>
+      <param name="correction_matrix" argument="-itraq8plex:correction_matrix" type="text" optional="true" value="0.00/0.00/6.89/0.22 0.00/0.94/5.90/0.16 0.00/1.88/4.90/0.10 0.00/2.82/3.90/0.07 0.06/3.77/2.99/0.00 0.09/4.71/1.88/0.00 0.14/5.66/0.87/0.00 0.27/7.44/0.18/0.00" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="e.g. '0/0.3/4/0', '0.1/0.3/3/0.2' (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+        <expand macro="list_string_val"/>
+        <expand macro="list_string_san"/>
+      </param>
+    </section>
+    <section name="quantification" title="Parameters for the peptide quantification" help="" expanded="false">
+      <param name="isotope_correction" argument="-quantification:isotope_correction" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Enable isotope correction (highly recommended)" help="Note that you need to provide a correct isotope correction matrix otherwise the tool will fail or produce invalid results"/>
+      <param name="normalization" argument="-quantification:normalization" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Enable normalization of channel intensities with respect to the reference channel" help="The normalization is done by using the Median of Ratios (every channel / Reference). Also the ratio of medians (from any channel and reference) is provided as control measure!"/>
+    </section>
+    <section name="tmt10plex" title="Algorithm parameters for TMT 10-plex" help="" expanded="false">
+      <param name="channel_126_description" argument="-tmt10plex:channel_126_description" type="text" optional="true" value="" label="Description for the content of the 126 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_127N_description" argument="-tmt10plex:channel_127N_description" type="text" optional="true" value="" label="Description for the content of the 127N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_127C_description" argument="-tmt10plex:channel_127C_description" type="text" optional="true" value="" label="Description for the content of the 127C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_128N_description" argument="-tmt10plex:channel_128N_description" type="text" optional="true" value="" label="Description for the content of the 128N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_128C_description" argument="-tmt10plex:channel_128C_description" type="text" optional="true" value="" label="Description for the content of the 128C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_129N_description" argument="-tmt10plex:channel_129N_description" type="text" optional="true" value="" label="Description for the content of the 129N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_129C_description" argument="-tmt10plex:channel_129C_description" type="text" optional="true" value="" label="Description for the content of the 129C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_130N_description" argument="-tmt10plex:channel_130N_description" type="text" optional="true" value="" label="Description for the content of the 130N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_130C_description" argument="-tmt10plex:channel_130C_description" type="text" optional="true" value="" label="Description for the content of the 130C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_131_description" argument="-tmt10plex:channel_131_description" type="text" optional="true" value="" label="Description for the content of the 131 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="reference_channel" argument="-tmt10plex:reference_channel" type="select" optional="false" label="The reference channel (126, 127N, 127C, 128N, 128C, 129N, 129C, 130N, 130C, 131)" help="">
+        <option value="126" selected="true">126</option>
+        <option value="127N">127N</option>
+        <option value="127C">127C</option>
+        <option value="128N">128N</option>
+        <option value="128C">128C</option>
+        <option value="129N">129N</option>
+        <option value="129C">129C</option>
+        <option value="130N">130N</option>
+        <option value="130C">130C</option>
+        <option value="131">131</option>
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="correction_matrix" argument="-tmt10plex:correction_matrix" type="text" optional="true" value="0.0/0.0/5.09/0.0 0.0/0.25/5.27/0.0 0.0/0.37/5.36/0.15 0.0/0.65/4.17/0.1 0.08/0.49/3.06/0.0 0.01/0.71/3.07/0.0 0.0/1.32/2.62/0.0 0.02/1.28/2.75/2.53 0.03/2.08/2.23/0.0 0.08/1.99/1.65/0.0" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="e.g. '0/0.3/4/0', '0.1/0.3/3/0.2' (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+        <expand macro="list_string_val"/>
+        <expand macro="list_string_san"/>
+      </param>
+    </section>
+    <section name="tmt11plex" title="Algorithm parameters for TMT 11-plex" help="" expanded="false">
+      <param name="channel_126_description" argument="-tmt11plex:channel_126_description" type="text" optional="true" value="" label="Description for the content of the 126 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_127N_description" argument="-tmt11plex:channel_127N_description" type="text" optional="true" value="" label="Description for the content of the 127N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_127C_description" argument="-tmt11plex:channel_127C_description" type="text" optional="true" value="" label="Description for the content of the 127C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_128N_description" argument="-tmt11plex:channel_128N_description" type="text" optional="true" value="" label="Description for the content of the 128N channel" help="">
+        <expand macro="list_string_san"/>
       </param>
-    </repeat>
-    <param name="param_tmt11plex_channel_126_description" type="text" size="30" label="Description for the content of the 126 channel" help="(-channel_126_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_127N_description" type="text" size="30" label="Description for the content of the 127N channel" help="(-channel_127N_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_127C_description" type="text" size="30" label="Description for the content of the 127C channel" help="(-channel_127C_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_128N_description" type="text" size="30" label="Description for the content of the 128N channel" help="(-channel_128N_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_128C_description" type="text" size="30" label="Description for the content of the 128C channel" help="(-channel_128C_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_129N_description" type="text" size="30" label="Description for the content of the 129N channel" help="(-channel_129N_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_129C_description" type="text" size="30" label="Description for the content of the 129C channel" help="(-channel_129C_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_130N_description" type="text" size="30" label="Description for the content of the 130N channel" help="(-channel_130N_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_130C_description" type="text" size="30" label="Description for the content of the 130C channel" help="(-channel_130C_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_131N_description" type="text" size="30" label="Description for the content of the 131N channel" help="(-channel_131N_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_channel_131C_description" type="text" size="30" label="Description for the content of the 131C channel" help="(-channel_131C_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt11plex_reference_channel" type="select" optional="False" value="126" label="The reference channel (126, 127N, 127C, 128N, 128C, 129N, 129C, 130N, 130C, 131N, 131C)" help="(-reference_channel) ">
-      <option value="126" selected="true">126</option>
-      <option value="127N">127N</option>
-      <option value="127C">127C</option>
-      <option value="128N">128N</option>
-      <option value="128C">128C</option>
-      <option value="129N">129N</option>
-      <option value="129C">129C</option>
-      <option value="130N">130N</option>
-      <option value="130C">130C</option>
-      <option value="131N">131N</option>
-      <option value="131C">131C</option>
-    </param>
-    <repeat name="rep_param_tmt11plex_correction_matrix" min="0" max="1" title="param_tmt11plex_correction_matrix">
-      <param name="param_tmt11plex_correction_matrix" type="text" size="30" value="0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="(-correction_matrix) e.g. '0/0.3/4/0', '0.1/0.3/3/0.2'">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
+      <param name="channel_128C_description" argument="-tmt11plex:channel_128C_description" type="text" optional="true" value="" label="Description for the content of the 128C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_129N_description" argument="-tmt11plex:channel_129N_description" type="text" optional="true" value="" label="Description for the content of the 129N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_129C_description" argument="-tmt11plex:channel_129C_description" type="text" optional="true" value="" label="Description for the content of the 129C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_130N_description" argument="-tmt11plex:channel_130N_description" type="text" optional="true" value="" label="Description for the content of the 130N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_130C_description" argument="-tmt11plex:channel_130C_description" type="text" optional="true" value="" label="Description for the content of the 130C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_131N_description" argument="-tmt11plex:channel_131N_description" type="text" optional="true" value="" label="Description for the content of the 131N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_131C_description" argument="-tmt11plex:channel_131C_description" type="text" optional="true" value="" label="Description for the content of the 131C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="reference_channel" argument="-tmt11plex:reference_channel" type="select" optional="false" label="The reference channel (126, 127N, 127C, 128N, 128C, 129N, 129C, 130N, 130C, 131N, 131C)" help="">
+        <option value="126" selected="true">126</option>
+        <option value="127N">127N</option>
+        <option value="127C">127C</option>
+        <option value="128N">128N</option>
+        <option value="128C">128C</option>
+        <option value="129N">129N</option>
+        <option value="129C">129C</option>
+        <option value="130N">130N</option>
+        <option value="130C">130C</option>
+        <option value="131N">131N</option>
+        <option value="131C">131C</option>
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="correction_matrix" argument="-tmt11plex:correction_matrix" type="text" optional="true" value="0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="e.g. '0/0.3/4/0', '0.1/0.3/3/0.2' (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+        <expand macro="list_string_val"/>
+        <expand macro="list_string_san"/>
+      </param>
+    </section>
+    <section name="tmt16plex" title="Algorithm parameters for TMT 16-plex" help="" expanded="false">
+      <param name="channel_126_description" argument="-tmt16plex:channel_126_description" type="text" optional="true" value="" label="Description for the content of the 126 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_127N_description" argument="-tmt16plex:channel_127N_description" type="text" optional="true" value="" label="Description for the content of the 127N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_127C_description" argument="-tmt16plex:channel_127C_description" type="text" optional="true" value="" label="Description for the content of the 127C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_128N_description" argument="-tmt16plex:channel_128N_description" type="text" optional="true" value="" label="Description for the content of the 128N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_128C_description" argument="-tmt16plex:channel_128C_description" type="text" optional="true" value="" label="Description for the content of the 128C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_129N_description" argument="-tmt16plex:channel_129N_description" type="text" optional="true" value="" label="Description for the content of the 129N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_129C_description" argument="-tmt16plex:channel_129C_description" type="text" optional="true" value="" label="Description for the content of the 129C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_130N_description" argument="-tmt16plex:channel_130N_description" type="text" optional="true" value="" label="Description for the content of the 130N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_130C_description" argument="-tmt16plex:channel_130C_description" type="text" optional="true" value="" label="Description for the content of the 130C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_131N_description" argument="-tmt16plex:channel_131N_description" type="text" optional="true" value="" label="Description for the content of the 131N channel" help="">
+        <expand macro="list_string_san"/>
       </param>
-    </repeat>
-    <param name="param_tmt6plex_channel_126_description" type="text" size="30" label="Description for the content of the 126 channel" help="(-channel_126_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt6plex_channel_127_description" type="text" size="30" label="Description for the content of the 127 channel" help="(-channel_127_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt6plex_channel_128_description" type="text" size="30" label="Description for the content of the 128 channel" help="(-channel_128_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt6plex_channel_129_description" type="text" size="30" label="Description for the content of the 129 channel" help="(-channel_129_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt6plex_channel_130_description" type="text" size="30" label="Description for the content of the 130 channel" help="(-channel_130_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt6plex_channel_131_description" type="text" size="30" label="Description for the content of the 131 channel" help="(-channel_131_description) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_tmt6plex_reference_channel" type="integer" min="126" max="131" optional="True" value="126" label="Number of the reference channel (126-131)" help="(-reference_channel) "/>
-    <repeat name="rep_param_tmt6plex_correction_matrix" min="0" max="1" title="param_tmt6plex_correction_matrix">
-      <param name="param_tmt6plex_correction_matrix" type="text" size="30" value="0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="(-correction_matrix) e.g. '0/0.3/4/0', '0.1/0.3/3/0.2'">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
+      <param name="channel_131C_description" argument="-tmt16plex:channel_131C_description" type="text" optional="true" value="" label="Description for the content of the 131C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_132N_description" argument="-tmt16plex:channel_132N_description" type="text" optional="true" value="" label="Description for the content of the 132N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_132C_description" argument="-tmt16plex:channel_132C_description" type="text" optional="true" value="" label="Description for the content of the 132C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_133N_description" argument="-tmt16plex:channel_133N_description" type="text" optional="true" value="" label="Description for the content of the 133N channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_133C_description" argument="-tmt16plex:channel_133C_description" type="text" optional="true" value="" label="Description for the content of the 133C channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_134N_description" argument="-tmt16plex:channel_134N_description" type="text" optional="true" value="" label="Description for the content of the 134N channel" help="">
+        <expand macro="list_string_san"/>
       </param>
-    </repeat>
-    <expand macro="advanced_options">
-      <param name="param_force" display="radio" type="boolean" truevalue="-force" falsevalue="" checked="false" optional="True" label="Overwrite tool specific checks" help="(-force) "/>
-      <param name="param_extraction_precursor_isotope_deviation" type="float" min="0.0" optional="True" value="10.0" label="Maximum allowed deviation (in ppm) between theoretical and observed isotopic peaks of the precursor peak in the isolation window to be counted as part of the precurso" help="(-precursor_isotope_deviation) "/>
-      <param name="param_extraction_purity_interpolation" display="radio" type="select" optional="False" value="true" label="If set to true the algorithm will try to compute the purity as a time weighted linear combination of the precursor scan and the following scan" help="(-purity_interpolation) If set to false, only the precursor scan will be used">
-        <option value="true" selected="true">true</option>
-        <option value="false">false</option>
+      <param name="reference_channel" argument="-tmt16plex:reference_channel" type="select" optional="false" label="The reference channel (126, 127N, 127C, 128N, 128C, 129N, 129C, 130N, 130C, 131N, 131C)" help="">
+        <option value="126" selected="true">126</option>
+        <option value="127N">127N</option>
+        <option value="127C">127C</option>
+        <option value="128N">128N</option>
+        <option value="128C">128C</option>
+        <option value="129N">129N</option>
+        <option value="129C">129C</option>
+        <option value="130N">130N</option>
+        <option value="130C">130C</option>
+        <option value="131N">131N</option>
+        <option value="131C">131C</option>
+        <option value="132N">132N</option>
+        <option value="132C">132C</option>
+        <option value="133N">133N</option>
+        <option value="133C">133C</option>
+        <option value="134N">134N</option>
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="correction_matrix" argument="-tmt16plex:correction_matrix" type="text" optional="true" value="0.0/0.0/8.02/0.0 0.0/0.68/7.46/0.0 0.0/0.71/6.94/0.0 0.0/1.88/6.67/0.0 0.0/1.34/5.59/0.0 0.0/2.41/5.48/0.0 0.0/2.34/5.19/0.0 0.0/3.53/4.57/0.0 0.0/2.67/4.16/0.0 0.0/3.92/3.73/0.0 0.0/3.69/3.14/0.0 0.0/3.22/2.76/0.0 0.0/4.11/2.0/0.0 0.0/3.85/1.58/0.0 0.0/4.63/1.18/0.0 0.0/5.22/0.86/0.0" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="e.g. '0/0.3/4/0', '0.1/0.3/3/0.2' (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+        <expand macro="list_string_val"/>
+        <expand macro="list_string_san"/>
+      </param>
+    </section>
+    <section name="tmt6plex" title="Algorithm parameters for TMT 6-plex" help="" expanded="false">
+      <param name="channel_126_description" argument="-tmt6plex:channel_126_description" type="text" optional="true" value="" label="Description for the content of the 126 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_127_description" argument="-tmt6plex:channel_127_description" type="text" optional="true" value="" label="Description for the content of the 127 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_128_description" argument="-tmt6plex:channel_128_description" type="text" optional="true" value="" label="Description for the content of the 128 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_129_description" argument="-tmt6plex:channel_129_description" type="text" optional="true" value="" label="Description for the content of the 129 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_130_description" argument="-tmt6plex:channel_130_description" type="text" optional="true" value="" label="Description for the content of the 130 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="channel_131_description" argument="-tmt6plex:channel_131_description" type="text" optional="true" value="" label="Description for the content of the 131 channel" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="reference_channel" argument="-tmt6plex:reference_channel" type="integer" optional="true" min="126" max="131" value="126" label="Number of the reference channel (126-131)" help=""/>
+      <param name="correction_matrix" argument="-tmt6plex:correction_matrix" type="text" optional="true" value="0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0 0.0/0.0/0.0/0.0" label="Correction matrix for isotope distributions (see documentation); use the following format: &lt;-2Da&gt;/&lt;-1Da&gt;/&lt;+1Da&gt;/&lt;+2Da&gt;;" help="e.g. '0/0.3/4/0', '0.1/0.3/3/0.2' (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+        <expand macro="list_string_val"/>
+        <expand macro="list_string_san"/>
+      </param>
+    </section>
+    <expand macro="adv_opts_macro">
+      <param name="force" argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overwrite tool specific checks" help=""/>
+      <param name="test" argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help="">
+        <expand macro="list_string_san"/>
       </param>
     </expand>
+    <param name="OPTIONAL_OUTPUTS" type="select" multiple="true" label="Optional outputs" optional="true">
+      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
+    </param>
   </inputs>
   <outputs>
-    <data name="param_out" format="consensusxml"/>
+    <data name="out" label="${tool.name} on ${on_string}: out" format="consensusxml"/>
+    <data name="ctd_out" format="xml" label="${tool.name} on ${on_string}: ctd">
+      <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
   </outputs>
-  <help>Calculates isobaric quantitative values for peptides
+  <tests>
+    <expand macro="autotest_IsobaricAnalyzer"/>
+    <expand macro="manutest_IsobaricAnalyzer"/>
+  </tests>
+  <help><![CDATA[Calculates isobaric quantitative values for peptides
 
 
-For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.3.0/html/TOPP_IsobaricAnalyzer.html</help>
+For more information, visit http://www.openms.de/documentation/TOPP_IsobaricAnalyzer.html]]></help>
+  <expand macro="references"/>
 </tool>