diff FeatureFinderMultiplex.xml @ 12:3098bea02bd8 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:50:38 +0000
parents e8651e585689
children 5e5771b511a3
line wrap: on
line diff
--- a/FeatureFinderMultiplex.xml	Fri May 17 09:48:25 2019 -0400
+++ b/FeatureFinderMultiplex.xml	Wed Sep 09 12:50:38 2020 +0000
@@ -1,212 +1,167 @@
 <?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="FeatureFinderMultiplex" name="FeatureFinderMultiplex" version="2.3.0">
+<tool id="FeatureFinderMultiplex" name="FeatureFinderMultiplex" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>Determination of peak ratios in LC-MS data</description>
   <macros>
     <token name="@EXECUTABLE@">FeatureFinderMultiplex</token>
     <import>macros.xml</import>
+    <import>macros_autotest.xml</import>
+    <import>macros_test.xml</import>
   </macros>
-  <expand macro="references"/>
-  <expand macro="stdio"/>
   <expand macro="requirements"/>
-  <command detect_errors="aggressive"><![CDATA[FeatureFinderMultiplex
+  <expand macro="stdio"/>
+  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
+@EXT_FOO@
+#import re
 
-#if $param_in:
-  -in $param_in
+## Preprocessing
+mkdir in &&
+ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir out &&
 #end if
-#if $param_out:
-  -out $param_out
+#if "out_multiplets_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir out_multiplets &&
 #end if
-#if $param_out_features:
-  -out_features $param_out_features
-#end if
-#if $param_out_mzq:
-  -out_mzq $param_out_mzq
+#if "out_blacklist_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir out_blacklist &&
 #end if
 
--algorithm:labels '$param_algorithm_labels'
+## Main program call
 
-#if $param_algorithm_charge:
-  -algorithm:charge     "$param_algorithm_charge"
-#end if
-#if $param_algorithm_rt_typical:
-  -algorithm:rt_typical $param_algorithm_rt_typical
-#end if
-#if $param_algorithm_rt_min:
-  -algorithm:rt_min $param_algorithm_rt_min
-#end if
-#if $param_algorithm_mz_tolerance:
-  -algorithm:mz_tolerance $param_algorithm_mz_tolerance
+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)'
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -out
+  'out/output.${gxy2omsext("featurexml")}'
 #end if
-#if $param_algorithm_mz_unit:
-  -algorithm:mz_unit
-  #if " " in str($param_algorithm_mz_unit):
-    "$param_algorithm_mz_unit"
-  #else
-    $param_algorithm_mz_unit
-  #end if
-#end if
-#if $param_algorithm_intensity_cutoff:
-  -algorithm:intensity_cutoff $param_algorithm_intensity_cutoff
-#end if
-#if $param_algorithm_peptide_similarity:
-  -algorithm:peptide_similarity $param_algorithm_peptide_similarity
-#end if
-#if $param_algorithm_averagine_similarity:
-  -algorithm:averagine_similarity $param_algorithm_averagine_similarity
-#end if
-#if $param_algorithm_missed_cleavages:
-  -algorithm:missed_cleavages $param_algorithm_missed_cleavages
+#if "out_multiplets_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -out_multiplets
+  'out_multiplets/output.${gxy2omsext("consensusxml")}'
 #end if
-#if $adv_opts.adv_opts_selector=='advanced':
-    #if $adv_opts.param_force:
-  -force
+#if "out_blacklist_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -out_blacklist
+  'out_blacklist/output.${gxy2omsext("mzml")}'
 #end if
-    #if $adv_opts.param_algorithm_isotopes_per_peptide:
-  -algorithm:isotopes_per_peptide     "$adv_opts.param_algorithm_isotopes_per_peptide"
-#end if
-    #if $adv_opts.param_algorithm_averagine_similarity_scaling:
-  -algorithm:averagine_similarity_scaling $adv_opts.param_algorithm_averagine_similarity_scaling
-#end if
-    #if $adv_opts.param_algorithm_knock_out:
-  -algorithm:knock_out
+#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
+  | tee '$stdout'
 #end if
-    #if $adv_opts.param_algorithm_spectrum_type:
-  -algorithm:spectrum_type
-  #if " " in str($adv_opts.param_algorithm_spectrum_type):
-    "$adv_opts.param_algorithm_spectrum_type"
-  #else
-    $adv_opts.param_algorithm_spectrum_type
-  #end if
+
+## Postprocessing
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'out/output.${gxy2omsext("featurexml")}' '$out'
 #end if
-    #if $adv_opts.param_algorithm_averagine_type:
-  -algorithm:averagine_type
-  #if " " in str($adv_opts.param_algorithm_averagine_type):
-    "$adv_opts.param_algorithm_averagine_type"
-  #else
-    $adv_opts.param_algorithm_averagine_type
-  #end if
+#if "out_multiplets_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'out_multiplets/output.${gxy2omsext("consensusxml")}' '$out_multiplets'
 #end if
-    #if $adv_opts.param_labels_Arg6:
-  -labels:Arg6 $adv_opts.param_labels_Arg6
-#end if
-    #if $adv_opts.param_labels_Arg10:
-  -labels:Arg10 $adv_opts.param_labels_Arg10
-#end if
-    #if $adv_opts.param_labels_Lys4:
-  -labels:Lys4 $adv_opts.param_labels_Lys4
-#end if
-    #if $adv_opts.param_labels_Lys6:
-  -labels:Lys6 $adv_opts.param_labels_Lys6
+#if "out_blacklist_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'out_blacklist/output.${gxy2omsext("mzml")}' '$out_blacklist'
 #end if
-    #if $adv_opts.param_labels_Lys8:
-  -labels:Lys8 $adv_opts.param_labels_Lys8
-#end if
-    #if $adv_opts.param_labels_Leu3:
-  -labels:Leu3 $adv_opts.param_labels_Leu3
-#end if
-    #if $adv_opts.param_labels_Dimethyl0:
-  -labels:Dimethyl0 $adv_opts.param_labels_Dimethyl0
-#end if
-    #if $adv_opts.param_labels_Dimethyl4:
-  -labels:Dimethyl4 $adv_opts.param_labels_Dimethyl4
-#end if
-    #if $adv_opts.param_labels_Dimethyl6:
-  -labels:Dimethyl6 $adv_opts.param_labels_Dimethyl6
-#end if
-    #if $adv_opts.param_labels_Dimethyl8:
-  -labels:Dimethyl8 $adv_opts.param_labels_Dimethyl8
-#end if
-    #if $adv_opts.param_labels_ICPL0:
-  -labels:ICPL0 $adv_opts.param_labels_ICPL0
-#end if
-    #if $adv_opts.param_labels_ICPL4:
-  -labels:ICPL4 $adv_opts.param_labels_ICPL4
-#end if
-    #if $adv_opts.param_labels_ICPL6:
-  -labels:ICPL6 $adv_opts.param_labels_ICPL6
-#end if
-    #if $adv_opts.param_labels_ICPL10:
-  -labels:ICPL10 $adv_opts.param_labels_ICPL10
-#end if
-#end if
--threads "\${GALAXY_SLOTS:-1}"
-]]></command>
+#if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
+  && mv '@EXECUTABLE@.ctd' '$ctd_out'
+#end if]]></command>
+  <configfiles>
+    <inputs name="args_json" data_style="paths"/>
+    <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
+  </configfiles>
   <inputs>
-    <param name="param_in" type="data" format="mzml" optional="False" label="LC-MS dataset in centroid or profile mode" help="(-in) "/>
-    <param name="param_algorithm_labels" type="text" size="30" value="[][Lys8,Arg10]" label="Labels used for labelling the samples" help="(-labels) [...] specifies the labels for a single sample. For example &lt;br&gt; &lt;br&gt;[][Lys8,Arg10]        ... SILAC &lt;br&gt;[][Lys4,Arg6][Lys8,Arg10]        ... triple-SILAC &lt;br&gt;[Dimethyl0][Dimethyl6]        ... Dimethyl &lt;br&gt;[Dimethyl0][Dimethyl4][Dimethyl8]        ... triple Dimethyl &lt;br&gt;[ICPL0][ICPL4][ICPL6][ICPL10]        ... ICPL">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_algorithm_charge" type="text" size="30" value="1:4" label="Range of charge states in the sample, i.e" help="(-charge) min charge : max charge">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_algorithm_rt_typical" type="float" min="0.0" optional="True" value="40.0" label="Typical retention time [s] over which a characteristic peptide elutes" help="(-rt_typical) (This is not an upper bound. Peptides that elute for longer will be reported.)"/>
-    <param name="param_algorithm_rt_min" type="float" min="0.0" optional="True" value="2.0" label="Lower bound for the retention time [s]" help="(-rt_min) (Any peptides seen for a shorter time period are not reported.)"/>
-    <param name="param_algorithm_mz_tolerance" type="float" min="0.0" optional="True" value="6.0" label="m/z tolerance for search of peak patterns" help="(-mz_tolerance) "/>
-    <param name="param_algorithm_mz_unit" display="radio" type="select" optional="False" value="ppm" label="Unit of the 'mz_tolerance' paramete" help="(-mz_unit) ">
-      <option value="Da">Da</option>
-      <option value="ppm" selected="true">ppm</option>
-    </param>
-    <param name="param_algorithm_intensity_cutoff" type="float" min="0.0" optional="True" value="1000.0" label="Lower bound for the intensity of isotopic peaks" help="(-intensity_cutoff) "/>
-    <param name="param_algorithm_peptide_similarity" type="float" min="-1.0" max="1.0" optional="True" value="0.5" label="Two peptides in a multiplet are expected to have the same isotopic pattern" help="(-peptide_similarity) This parameter is a lower bound on their similarity"/>
-    <param name="param_algorithm_averagine_similarity" type="float" min="-1.0" max="1.0" optional="True" value="0.4" label="The isotopic pattern of a peptide should resemble the averagine model at this m/z position" help="(-averagine_similarity) This parameter is a lower bound on similarity between measured isotopic pattern and the averagine model"/>
-    <param name="param_algorithm_missed_cleavages" type="integer" min="0" optional="True" value="0" label="Maximum number of missed cleavages due to incomplete digestion" help="(-missed_cleavages) (Only relevant if enzymatic cutting site coincides with labelling site. For example, Arg/Lys in the case of trypsin digestion and SILAC labelling.)"/>
-    <expand macro="advanced_options">
-      <param name="param_force" display="radio" type="boolean" truevalue="-force" falsevalue="" checked="false" optional="True" label="Overwrite tool specific checks" help="(-force) "/>
-      <param name="param_algorithm_isotopes_per_peptide" type="text" size="30" value="3:6" label="Range of isotopes per peptide in the sample" help="(-isotopes_per_peptide) For example 3:6, if isotopic peptide patterns in the sample consist of either three, four, five or six isotopic peaks. ">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
+    <param name="in" argument="-in" type="data" format="mzml" optional="false" label="LC-MS dataset in either centroid or profile mode" help=" select mzml data sets(s)"/>
+    <section name="algorithm" title="algorithmic parameters" help="" expanded="false">
+      <param name="labels" argument="-algorithm:labels" type="text" optional="true" value="[][Lys8,Arg10]" label="Labels used for labelling the samples" help="If the sample is unlabelled (i.e. you want to detect only single peptide features) please leave this parameter empty. [...] specifies the labels for a single sample. For example. . [][Lys8,Arg10]        ... SILAC. [][Lys4,Arg6][Lys8,Arg10]        ... triple-SILAC. [Dimethyl0][Dimethyl6]        ... Dimethyl. [Dimethyl0][Dimethyl4][Dimethyl8]        ... triple Dimethyl. [ICPL0][ICPL4][ICPL6][ICPL10]        ... ICPL">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="charge" argument="-algorithm:charge" type="text" optional="true" value="1:4" label="Range of charge states in the sample" help="i.e. min charge : max charge">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="isotopes_per_peptide" argument="-algorithm:isotopes_per_peptide" type="text" optional="true" value="3:6" label="Range of isotopes per peptide in the sample" help="For example 3:6, if isotopic peptide patterns in the sample consist of either three, four, five or six isotopic peaks. ">
+        <expand macro="list_string_san"/>
       </param>
-      <param name="param_algorithm_averagine_similarity_scaling" type="float" min="0.0" max="1.0" optional="True" value="0.75" label="Let x denote this scaling factor, and p the averagine similarity paramete" help="(-averagine_similarity_scaling) For the detection of single peptides, the averagine parameter p is replaced by p' = p + x(1-p), i.e. x = 0 -&gt; p' = p and x = 1 -&gt; p' = 1. (For knock_out = true, peptide doublets and singlets are detected simulataneously. For singlets, the peptide similarity filter is irreleavant. In order to compensate for this 'missing filter', the averagine parameter p is replaced by the more restrictive p' when searching for singlets.)"/>
-      <param name="param_algorithm_knock_out" display="radio" type="boolean" truevalue="-algorithm:knock_out" falsevalue="" checked="false" optional="True" label="Is it likely that knock-outs are present?" help="(-knock_out) (Supported for doublex, triplex and quadruplex experiments only.)"/>
-      <param name="param_algorithm_spectrum_type" display="radio" type="select" optional="False" value="automatic" label="Type of MS1 spectra in input mzML file" help="(-spectrum_type) 'automatic' determines the spectrum type directly from the input mzML file">
+      <param name="rt_typical" argument="-algorithm:rt_typical" type="float" optional="true" min="0.0" value="40.0" label="Typical retention time [s] over which a characteristic peptide elutes" help="(This is not an upper bound. Peptides that elute for longer will be reported.)"/>
+      <param name="rt_band" argument="-algorithm:rt_band" type="float" optional="true" min="0.0" value="0.0" label="The algorithm searches for characteristic isotopic peak patterns, spectrum by spectrum" help="For some low-intensity peptides, an important peak might be missing in one spectrum but be present in one of the neighbouring ones. The algorithm takes a bundle of neighbouring spectra with width rt_band into account. For example with rt_band = 0, all characteristic isotopic peaks have to be present in one and the same spectrum. As rt_band increases, the sensitivity of the algorithm but also the likelihood of false detections increases"/>
+      <param name="rt_min" argument="-algorithm:rt_min" type="float" optional="true" min="0.0" value="2.0" label="Lower bound for the retention time [s]" help="(Any peptides seen for a shorter time period are not reported.)"/>
+      <param name="mz_tolerance" argument="-algorithm:mz_tolerance" type="float" optional="true" min="0.0" value="6.0" label="m/z tolerance for search of peak patterns" help=""/>
+      <param name="mz_unit" argument="-algorithm:mz_unit" display="radio" type="select" optional="false" label="Unit of the 'mz_tolerance' paramete" help="">
+        <option value="Da">Da</option>
+        <option value="ppm" selected="true">ppm</option>
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="intensity_cutoff" argument="-algorithm:intensity_cutoff" type="float" optional="true" min="0.0" value="1000.0" label="Lower bound for the intensity of isotopic peaks" help=""/>
+      <param name="peptide_similarity" argument="-algorithm:peptide_similarity" type="float" optional="true" min="-1.0" max="1.0" value="0.5" label="Two peptides in a multiplet are expected to have the same isotopic pattern" help="This parameter is a lower bound on their similarity"/>
+      <param name="averagine_similarity" argument="-algorithm:averagine_similarity" type="float" optional="true" min="-1.0" max="1.0" value="0.4" label="The isotopic pattern of a peptide should resemble the averagine model at this m/z position" help="This parameter is a lower bound on similarity between measured isotopic pattern and the averagine model"/>
+      <param name="averagine_similarity_scaling" argument="-algorithm:averagine_similarity_scaling" type="float" optional="true" min="0.0" max="1.0" value="0.95" label="Let x denote this scaling factor, and p the averagine similarity paramete" help="For the detection of single peptides, the averagine parameter p is replaced by p' = p + x(1-p), i.e. x = 0 -&gt; p' = p and x = 1 -&gt; p' = 1. (For knock_out = true, peptide doublets and singlets are detected simulataneously. For singlets, the peptide similarity filter is irreleavant. In order to compensate for this 'missing filter', the averagine parameter p is replaced by the more restrictive p' when searching for singlets.)"/>
+      <param name="missed_cleavages" argument="-algorithm:missed_cleavages" type="integer" optional="true" min="0" value="0" label="Maximum number of missed cleavages due to incomplete digestion" help="(Only relevant if enzymatic cutting site coincides with labelling site. For example, Arg/Lys in the case of trypsin digestion and SILAC labelling.)"/>
+      <param name="spectrum_type" argument="-algorithm:spectrum_type" display="radio" type="select" optional="false" label="Type of MS1 spectra in input mzML file" help="'automatic' determines the spectrum type directly from the input mzML file">
         <option value="profile">profile</option>
         <option value="centroid">centroid</option>
         <option value="automatic" selected="true">automatic</option>
+        <expand macro="list_string_san"/>
       </param>
-      <param name="param_algorithm_averagine_type" display="radio" type="select" optional="False" value="peptide" label="The type of averagine to use, currently RNA, DNA or peptide" help="(-averagine_type) ">
+      <param name="averagine_type" argument="-algorithm:averagine_type" display="radio" type="select" optional="false" label="The type of averagine to use, currently RNA, DNA or peptide" help="">
         <option value="peptide" selected="true">peptide</option>
         <option value="RNA">RNA</option>
         <option value="DNA">DNA</option>
+        <expand macro="list_string_san"/>
       </param>
-      <param name="param_labels_Arg6" type="float" min="0.0" optional="True" value="6.0201290268" label="Label:13C(6)  |  C(-6) 13C(6)  |  unimod #188" help="(-Arg6) "/>
-      <param name="param_labels_Arg10" type="float" min="0.0" optional="True" value="10.0082686" label="Label:13C(6)15N(4)  |  C(-6) 13C(6) N(-4) 15N(4)  |  unimod #267" help="(-Arg10) "/>
-      <param name="param_labels_Lys4" type="float" min="0.0" optional="True" value="4.0251069836" label="Label:2H(4)  |  H(-4) 2H(4)  |  unimod #481" help="(-Lys4) "/>
-      <param name="param_labels_Lys6" type="float" min="0.0" optional="True" value="6.0201290268" label="Label:13C(6)  |  C(-6) 13C(6)  |  unimod #188" help="(-Lys6) "/>
-      <param name="param_labels_Lys8" type="float" min="0.0" optional="True" value="8.0141988132" label="Label:13C(6)15N(2)  |  C(-6) 13C(6) N(-2) 15N(2)  |  unimod #259" help="(-Lys8) "/>
-      <param name="param_labels_Leu3" type="float" min="0.0" optional="True" value="3.01883" label="Label:2H(3)  |  H(-3) 2H(3)  |  unimod #262" help="(-Leu3) "/>
-      <param name="param_labels_Dimethyl0" type="float" min="0.0" optional="True" value="28.0313" label="Dimethyl  |  H(4) C(2)  |  unimod #36" help="(-Dimethyl0) "/>
-      <param name="param_labels_Dimethyl4" type="float" min="0.0" optional="True" value="32.056407" label="Dimethyl:2H(4)  |  2H(4) C(2)  |  unimod #199" help="(-Dimethyl4) "/>
-      <param name="param_labels_Dimethyl6" type="float" min="0.0" optional="True" value="34.063117" label="Dimethyl:2H(4)13C(2)  |  2H(4) 13C(2)  |  unimod #510" help="(-Dimethyl6) "/>
-      <param name="param_labels_Dimethyl8" type="float" min="0.0" optional="True" value="36.07567" label="Dimethyl:2H(6)13C(2)  |  H(-2) 2H(6) 13C(2)  |  unimod #330" help="(-Dimethyl8) "/>
-      <param name="param_labels_ICPL0" type="float" min="0.0" optional="True" value="105.021464" label="ICPL  |  H(3) C(6) N O  |  unimod #365" help="(-ICPL0) "/>
-      <param name="param_labels_ICPL4" type="float" min="0.0" optional="True" value="109.046571" label="ICPL:2H(4)  |  H(-1) 2H(4) C(6) N O  |  unimod #687" help="(-ICPL4) "/>
-      <param name="param_labels_ICPL6" type="float" min="0.0" optional="True" value="111.041593" label="ICPL:13C(6)  |  H(3) 13C(6) N O  |  unimod #364" help="(-ICPL6) "/>
-      <param name="param_labels_ICPL10" type="float" min="0.0" optional="True" value="115.0667" label="ICPL:13C(6)2H(4)  |  H(-1) 2H(4) 13C(6) N O  |  unimod #866" help="(-ICPL10) "/>
+      <param name="knock_out" argument="-algorithm:knock_out" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Is it likely that knock-outs are present" help="(Supported for doublex, triplex and quadruplex experiments only.)"/>
+    </section>
+    <section name="labels" title="mass shifts for all possible labels" help="" expanded="false">
+      <param name="Arg6" argument="-labels:Arg6" type="float" optional="true" min="0.0" value="6.0201290268" label="Label:13C(6)  |  C(-6) 13C(6)  |  unimod #188" help=""/>
+      <param name="Arg10" argument="-labels:Arg10" type="float" optional="true" min="0.0" value="10.0082686" label="Label:13C(6)15N(4)  |  C(-6) 13C(6) N(-4) 15N(4)  |  unimod #267" help=""/>
+      <param name="Lys4" argument="-labels:Lys4" type="float" optional="true" min="0.0" value="4.0251069836" label="Label:2H(4)  |  H(-4) 2H(4)  |  unimod #481" help=""/>
+      <param name="Lys6" argument="-labels:Lys6" type="float" optional="true" min="0.0" value="6.0201290268" label="Label:13C(6)  |  C(-6) 13C(6)  |  unimod #188" help=""/>
+      <param name="Lys8" argument="-labels:Lys8" type="float" optional="true" min="0.0" value="8.0141988132" label="Label:13C(6)15N(2)  |  C(-6) 13C(6) N(-2) 15N(2)  |  unimod #259" help=""/>
+      <param name="Leu3" argument="-labels:Leu3" type="float" optional="true" min="0.0" value="3.01883" label="Label:2H(3)  |  H(-3) 2H(3)  |  unimod #262" help=""/>
+      <param name="Dimethyl0" argument="-labels:Dimethyl0" type="float" optional="true" min="0.0" value="28.0313" label="Dimethyl  |  H(4) C(2)  |  unimod #36" help=""/>
+      <param name="Dimethyl4" argument="-labels:Dimethyl4" type="float" optional="true" min="0.0" value="32.056407" label="Dimethyl:2H(4)  |  2H(4) C(2)  |  unimod #199" help=""/>
+      <param name="Dimethyl6" argument="-labels:Dimethyl6" type="float" optional="true" min="0.0" value="34.063117" label="Dimethyl:2H(4)13C(2)  |  2H(4) 13C(2)  |  unimod #510" help=""/>
+      <param name="Dimethyl8" argument="-labels:Dimethyl8" type="float" optional="true" min="0.0" value="36.07567" label="Dimethyl:2H(6)13C(2)  |  H(-2) 2H(6) 13C(2)  |  unimod #330" help=""/>
+      <param name="ICPL0" argument="-labels:ICPL0" type="float" optional="true" min="0.0" value="105.021464" label="ICPL  |  H(3) C(6) N O  |  unimod #365" help=""/>
+      <param name="ICPL4" argument="-labels:ICPL4" type="float" optional="true" min="0.0" value="109.046571" label="ICPL:2H(4)  |  H(-1) 2H(4) C(6) N O  |  unimod #687" help=""/>
+      <param name="ICPL6" argument="-labels:ICPL6" type="float" optional="true" min="0.0" value="111.041593" label="ICPL:13C(6)  |  H(3) 13C(6) N O  |  unimod #364" help=""/>
+      <param name="ICPL10" argument="-labels:ICPL10" type="float" optional="true" min="0.0" value="115.0667" label="ICPL:13C(6)2H(4)  |  H(-1) 2H(4) 13C(6) N O  |  unimod #866" help=""/>
+    </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="false">
+      <option value="out_FLAG">out (ICPL:13C(6)2H(4)  |  H(-1) 2H(4) 13C(6) N O  |  unimod #866)</option>
+      <option value="out_multiplets_FLAG">out_multiplets (ICPL:13C(6)2H(4)  |  H(-1) 2H(4) 13C(6) N O  |  unimod #866)</option>
+      <option value="out_blacklist_FLAG">out_blacklist (ICPL:13C(6)2H(4)  |  H(-1) 2H(4) 13C(6) N O  |  unimod #866)</option>
+      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
+    </param>
   </inputs>
   <outputs>
-    <data name="param_out" format="consensusxml" label="${tool.name} on ${on_string}: consensusxml"/>
-    <data name="param_out_features" format="featurexml" label="${tool.name} on ${on_string}: featurexml"/>
-    <data name="param_out_mzq" format="mzq" label="${tool.name} on ${on_string}: mzq"/>
+    <data name="out" label="${tool.name} on ${on_string}: out" format="featurexml">
+      <filter>OPTIONAL_OUTPUTS is not None and "out_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
+    <data name="out_multiplets" label="${tool.name} on ${on_string}: out_multiplets" format="consensusxml">
+      <filter>OPTIONAL_OUTPUTS is not None and "out_multiplets_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
+    <data name="out_blacklist" label="${tool.name} on ${on_string}: out_blacklist" format="mzml">
+      <filter>OPTIONAL_OUTPUTS is not None and "out_blacklist_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
+    <data name="stdout" format="txt" label="${tool.name} on ${on_string}: stdout">
+      <filter>OPTIONAL_OUTPUTS is None</filter>
+    </data>
+    <data name="ctd_out" format="xml" label="${tool.name} on ${on_string}: ctd">
+      <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
   </outputs>
-  <help>Determination of peak ratios in LC-MS data
+  <tests>
+    <expand macro="autotest_FeatureFinderMultiplex"/>
+    <expand macro="manutest_FeatureFinderMultiplex"/>
+  </tests>
+  <help><![CDATA[Determination of peak ratios in LC-MS data
 
 
-For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.3.0/html/TOPP_FeatureFinderMultiplex.html</help>
+For more information, visit http://www.openms.de/documentation/TOPP_FeatureFinderMultiplex.html]]></help>
+  <expand macro="references"/>
 </tool>