diff FeatureFinderMetabo.xml @ 11:21dc135961b5 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:20 +0000
parents b6e4da302f66
children 00080bb4299e
line wrap: on
line diff
--- a/FeatureFinderMetabo.xml	Fri May 17 09:59:34 2019 -0400
+++ b/FeatureFinderMetabo.xml	Wed Sep 09 12:50:20 2020 +0000
@@ -1,221 +1,148 @@
 <?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="FeatureFinderMetabo" name="FeatureFinderMetabo" version="2.3.0">
+<tool id="FeatureFinderMetabo" name="FeatureFinderMetabo" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>Assembles metabolite features from centroided (LC-)MS data using the mass trace approach.</description>
   <macros>
     <token name="@EXECUTABLE@">FeatureFinderMetabo</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[FeatureFinderMetabo
+  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
+@EXT_FOO@
+#import re
 
-#if $param_in:
-  -in $param_in
-#end if
-#if $param_out:
-  -out $param_out
-#end if
-#if $param_out_chrom:
-  -out_chrom $param_out_chrom
-#end if
-#if $param_algorithm_common_noise_threshold_int:
-  -algorithm:common:noise_threshold_int $param_algorithm_common_noise_threshold_int
-#end if
-#if $param_algorithm_common_chrom_peak_snr:
-  -algorithm:common:chrom_peak_snr $param_algorithm_common_chrom_peak_snr
-#end if
-#if $param_algorithm_common_chrom_fwhm:
-  -algorithm:common:chrom_fwhm $param_algorithm_common_chrom_fwhm
-#end if
-#if $param_algorithm_mtd_mass_error_ppm:
-  -algorithm:mtd:mass_error_ppm $param_algorithm_mtd_mass_error_ppm
-#end if
-#if $param_algorithm_mtd_reestimate_mt_sd:
-  -algorithm:mtd:reestimate_mt_sd
-  #if " " in str($param_algorithm_mtd_reestimate_mt_sd):
-    "$param_algorithm_mtd_reestimate_mt_sd"
-  #else
-    $param_algorithm_mtd_reestimate_mt_sd
-  #end if
-#end if
-#if $param_algorithm_mtd_quant_method:
-  -algorithm:mtd:quant_method
-  #if " " in str($param_algorithm_mtd_quant_method):
-    "$param_algorithm_mtd_quant_method"
-  #else
-    $param_algorithm_mtd_quant_method
-  #end if
+## Preprocessing
+mkdir in &&
+ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
+mkdir out &&
+#if "out_chrom_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir out_chrom &&
 #end if
-#if $param_algorithm_epd_enabled:
-  -algorithm:epd:enabled
-  #if " " in str($param_algorithm_epd_enabled):
-    "$param_algorithm_epd_enabled"
-  #else
-    $param_algorithm_epd_enabled
-  #end if
-#end if
-#if $param_algorithm_epd_width_filtering:
-  -algorithm:epd:width_filtering
-  #if " " in str($param_algorithm_epd_width_filtering):
-    "$param_algorithm_epd_width_filtering"
-  #else
-    $param_algorithm_epd_width_filtering
-  #end if
-#end if
-#if $param_algorithm_ffm_charge_lower_bound:
-  -algorithm:ffm:charge_lower_bound $param_algorithm_ffm_charge_lower_bound
-#end if
-#if $param_algorithm_ffm_charge_upper_bound:
-  -algorithm:ffm:charge_upper_bound $param_algorithm_ffm_charge_upper_bound
+
+## Main program call
+
+set -o pipefail &&
+@EXECUTABLE@ -write_ctd ./ &&
+python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
+@EXECUTABLE@ -ini @EXECUTABLE@.ctd
+-in
+'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)'
+-out
+'out/output.${gxy2omsext("featurexml")}'
+#if "out_chrom_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -out_chrom
+  'out_chrom/output.${gxy2omsext("mzml")}'
 #end if
-#if $param_algorithm_ffm_enable_RT_filtering:
-  -algorithm:ffm:enable_RT_filtering
-  #if " " in str($param_algorithm_ffm_enable_RT_filtering):
-    "$param_algorithm_ffm_enable_RT_filtering"
-  #else
-    $param_algorithm_ffm_enable_RT_filtering
-  #end if
-#end if
-#if $param_algorithm_ffm_isotope_filtering_model:
-  -algorithm:ffm:isotope_filtering_model
-  #if " " in str($param_algorithm_ffm_isotope_filtering_model):
-    "$param_algorithm_ffm_isotope_filtering_model"
-  #else
-    $param_algorithm_ffm_isotope_filtering_model
-  #end if
+#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
+  | tee '$stdout'
 #end if
-#if $param_algorithm_ffm_mz_scoring_13C:
-  -algorithm:ffm:mz_scoring_13C true
-#end if
-#if $param_algorithm_ffm_report_convex_hulls:
-  -algorithm:ffm:report_convex_hulls
-#end if
-#if $adv_opts.adv_opts_selector=='advanced':
-    #if $adv_opts.param_force:
-  -force
-#end if
-    #if $adv_opts.param_algorithm_mtd_trace_termination_criterion:
-  -algorithm:mtd:trace_termination_criterion
-  #if " " in str($adv_opts.param_algorithm_mtd_trace_termination_criterion):
-    "$adv_opts.param_algorithm_mtd_trace_termination_criterion"
-  #else
-    $adv_opts.param_algorithm_mtd_trace_termination_criterion
-  #end if
+
+## Postprocessing
+&& mv 'out/output.${gxy2omsext("featurexml")}' '$out'
+#if "out_chrom_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'out_chrom/output.${gxy2omsext("mzml")}' '$out_chrom'
 #end if
-    #if $adv_opts.param_algorithm_mtd_trace_termination_outliers:
-  -algorithm:mtd:trace_termination_outliers $adv_opts.param_algorithm_mtd_trace_termination_outliers
-#end if
-    #if $adv_opts.param_algorithm_mtd_min_sample_rate:
-  -algorithm:mtd:min_sample_rate $adv_opts.param_algorithm_mtd_min_sample_rate
-#end if
-    #if $adv_opts.param_algorithm_mtd_min_trace_length:
-  -algorithm:mtd:min_trace_length $adv_opts.param_algorithm_mtd_min_trace_length
-#end if
-    #if $adv_opts.param_algorithm_mtd_max_trace_length:
-  -algorithm:mtd:max_trace_length $adv_opts.param_algorithm_mtd_max_trace_length
-#end if
-    #if $adv_opts.param_algorithm_epd_min_fwhm:
-  -algorithm:epd:min_fwhm $adv_opts.param_algorithm_epd_min_fwhm
-#end if
-    #if $adv_opts.param_algorithm_epd_max_fwhm:
-  -algorithm:epd:max_fwhm $adv_opts.param_algorithm_epd_max_fwhm
-#end if
-    #if $adv_opts.param_algorithm_epd_masstrace_snr_filtering:
-  -algorithm:epd:masstrace_snr_filtering
-#end if
-    #if $adv_opts.param_algorithm_ffm_local_rt_range:
-  -algorithm:ffm:local_rt_range $adv_opts.param_algorithm_ffm_local_rt_range
-#end if
-    #if $adv_opts.param_algorithm_ffm_local_mz_range:
-  -algorithm:ffm:local_mz_range $adv_opts.param_algorithm_ffm_local_mz_range
-#end if
-    #if $adv_opts.param_algorithm_ffm_report_summed_ints:
-  -algorithm:ffm:report_summed_ints
-#end if
-    #if $adv_opts.param_algorithm_ffm_use_smoothed_intensities:
-  -algorithm:ffm:use_smoothed_intensities
-  #if " " in str($adv_opts.param_algorithm_ffm_use_smoothed_intensities):
-    "$adv_opts.param_algorithm_ffm_use_smoothed_intensities"
-  #else
-    $adv_opts.param_algorithm_ffm_use_smoothed_intensities
-  #end if
-#end if
-#end if
-]]></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="Centroided mzML file" help="(-in) "/>
-    <param name="param_algorithm_common_noise_threshold_int" type="float" value="10.0" label="Intensity threshold below which peaks are regarded as noise" help="(-noise_threshold_int) "/>
-    <param name="param_algorithm_common_chrom_peak_snr" type="float" value="3.0" label="Minimum signal-to-noise a mass trace should have" help="(-chrom_peak_snr) "/>
-    <param name="param_algorithm_common_chrom_fwhm" type="float" value="5.0" label="Expected chromatographic peak width (in seconds)" help="(-chrom_fwhm) "/>
-    <param name="param_algorithm_mtd_mass_error_ppm" type="float" value="20.0" label="Allowed mass deviation (in ppm)" help="(-mass_error_ppm) "/>
-    <param name="param_algorithm_mtd_reestimate_mt_sd" display="radio" type="select" optional="False" value="true" label="Enables dynamic re-estimation of m/z variance during mass trace collection stage" help="(-reestimate_mt_sd) ">
-      <option value="true" selected="true">true</option>
-      <option value="false">false</option>
-    </param>
-    <param name="param_algorithm_mtd_quant_method" display="radio" type="select" optional="False" value="area" label="Method of quantification for mass traces" help="(-quant_method) For LC data 'area' is recommended, 'median' for direct injection data">
-      <option value="area" selected="true">area</option>
-      <option value="median">median</option>
-    </param>
-    <param name="param_algorithm_epd_enabled" display="radio" type="select" optional="False" value="true" label="Enable splitting of isobaric mass traces by chromatographic peak detection" help="(-enabled) Disable for direct injection">
-      <option value="true" selected="true">true</option>
-      <option value="false">false</option>
-    </param>
-    <param name="param_algorithm_epd_width_filtering" display="radio" type="select" optional="False" value="fixed" label="Enable filtering of unlikely peak widths" help="(-width_filtering) The fixed setting filters out mass traces outside the [min_fwhm, max_fwhm] interval (set parameters accordingly!). The auto setting filters with the 5 and 95% quantiles of the peak width distribution">
-      <option value="off">off</option>
-      <option value="fixed" selected="true">fixed</option>
-      <option value="auto">auto</option>
-    </param>
-    <param name="param_algorithm_ffm_charge_lower_bound" type="integer" value="1" label="Lowest charge state to conside" help="(-charge_lower_bound) "/>
-    <param name="param_algorithm_ffm_charge_upper_bound" type="integer" value="3" label="Highest charge state to conside" help="(-charge_upper_bound) "/>
-    <param name="param_algorithm_ffm_enable_RT_filtering" display="radio" type="select" optional="False" value="true" label="Require sufficient overlap in RT while assembling mass traces" help="(-enable_RT_filtering) Disable for direct injection data">
-      <option value="false">false</option>
-      <option value="true" selected="true">true</option>
-    </param>
-    <param name="param_algorithm_ffm_isotope_filtering_model" display="radio" type="select" optional="False" value="metabolites (5% RMS)" label="Remove/score candidate assemblies based on isotope intensities" help="(-isotope_filtering_model) SVM isotope models for metabolites were trained with either 2% or 5% RMS error. For peptides, an averagine cosine scoring is used. Select the appropriate noise model according to the quality of measurement or MS device">
-      <option value="metabolites (2% RMS)">metabolites (2% RMS)</option>
-      <option value="metabolites (5% RMS)" selected="true">metabolites (5% RMS)</option>
-      <option value="peptides">peptides</option>
-      <option value="none">none</option>
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_algorithm_ffm_mz_scoring_13C" display="radio" type="boolean" truevalue="-algorithm:ffm:mz_scoring_13C" falsevalue="" checked="false" optional="True" label="Use the 13C isotope peak position (~1.003355 Da) as the expected shift in m/z for isotope mass traces (highly recommended for lipidomics!)" help="(-mz_scoring_13C) Disable for general metabolites (as described in Kenar et al. 2014, MCP.)"/>
-    <param name="param_algorithm_ffm_report_convex_hulls" display="radio" type="boolean" truevalue="-algorithm:ffm:report_convex_hulls" falsevalue="" checked="false" optional="True" label="Augment each reported feature with the convex hull of the underlying mass traces (increases featureXML file size considerably)" help="(-report_convex_hulls) "/>
-    <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_mtd_trace_termination_criterion" display="radio" type="select" optional="False" value="outlier" label="Termination criterion for the extension of mass traces" help="(-trace_termination_criterion) In 'outlier' mode, trace extension cancels if a predefined number of consecutive outliers are found (see trace_termination_outliers parameter). In 'sample_rate' mode, trace extension in both directions stops if ratio of found peaks versus visited spectra falls below the 'min_sample_rate' threshold">
-        <option value="outlier" selected="true">outlier</option>
-        <option value="sample_rate">sample_rate</option>
-      </param>
-      <param name="param_algorithm_mtd_trace_termination_outliers" type="integer" value="5" label="Mass trace extension in one direction cancels if this number of consecutive spectra with no detectable peaks is reached" help="(-trace_termination_outliers) "/>
-      <param name="param_algorithm_mtd_min_sample_rate" type="float" value="0.5" label="Minimum fraction of scans along the mass trace that must contain a peak" help="(-min_sample_rate) "/>
-      <param name="param_algorithm_mtd_min_trace_length" type="float" value="5.0" label="Minimum expected length of a mass trace (in seconds)" help="(-min_trace_length) "/>
-      <param name="param_algorithm_mtd_max_trace_length" type="float" value="-1.0" label="Maximum expected length of a mass trace (in seconds)" help="(-max_trace_length) Set to a negative value to disable maximal length check during mass trace detection"/>
-      <param name="param_algorithm_epd_min_fwhm" type="float" value="3.0" label="Minimum full-width-at-half-maximum of chromatographic peaks (in seconds)" help="(-min_fwhm) Ignored if parameter width_filtering is off or auto"/>
-      <param name="param_algorithm_epd_max_fwhm" type="float" value="60.0" label="Maximum full-width-at-half-maximum of chromatographic peaks (in seconds)" help="(-max_fwhm) Ignored if parameter width_filtering is off or auto"/>
-      <param name="param_algorithm_epd_masstrace_snr_filtering" display="radio" type="boolean" truevalue="-algorithm:epd:masstrace_snr_filtering" falsevalue="" checked="false" optional="True" label="Apply post-filtering by signal-to-noise ratio after smoothing" help="(-masstrace_snr_filtering) "/>
-      <param name="param_algorithm_ffm_local_rt_range" type="float" value="10.0" label="RT range where to look for coeluting mass traces" help="(-local_rt_range) "/>
-      <param name="param_algorithm_ffm_local_mz_range" type="float" value="6.5" label="MZ range where to look for isotopic mass traces" help="(-local_mz_range) "/>
-      <param name="param_algorithm_ffm_report_summed_ints" display="radio" type="boolean" truevalue="-algorithm:ffm:report_summed_ints" falsevalue="" checked="false" optional="True" label="Set to true for a feature intensity summed up over all traces rather than using monoisotopic trace intensity alone" help="(-report_summed_ints) "/>
-      <param name="param_algorithm_ffm_use_smoothed_intensities" display="radio" type="select" optional="False" value="true" label="Use LOWESS intensities instead of raw intensities" help="(-use_smoothed_intensities) ">
-        <option value="false">false</option>
-        <option value="true" selected="true">true</option>
+    <param name="in" argument="-in" type="data" format="mzml" optional="false" label="Centroided mzML file" help=" select mzml data sets(s)"/>
+    <section name="algorithm" title="Algorithm parameters section" help="" expanded="false">
+      <section name="common" title="Common parameters for all other subsections" help="" expanded="false">
+        <param name="noise_threshold_int" argument="-algorithm:common:noise_threshold_int" type="float" optional="true" value="10.0" label="Intensity threshold below which peaks are regarded as noise" help=""/>
+        <param name="chrom_peak_snr" argument="-algorithm:common:chrom_peak_snr" type="float" optional="true" value="3.0" label="Minimum signal-to-noise a mass trace should have" help=""/>
+        <param name="chrom_fwhm" argument="-algorithm:common:chrom_fwhm" type="float" optional="true" value="5.0" label="Expected chromatographic peak width (in seconds)" help=""/>
+      </section>
+      <section name="mtd" title="Mass Trace Detection parameters" help="" expanded="false">
+        <param name="mass_error_ppm" argument="-algorithm:mtd:mass_error_ppm" type="float" optional="true" value="20.0" label="Allowed mass deviation (in ppm)" help=""/>
+        <param name="reestimate_mt_sd" argument="-algorithm:mtd:reestimate_mt_sd" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Enables dynamic re-estimation of m/z variance during mass trace collection stage" help=""/>
+        <param name="quant_method" argument="-algorithm:mtd:quant_method" display="radio" type="select" optional="false" label="Method of quantification for mass traces" help="For LC data 'area' is recommended, 'median' for direct injection data. 'max_height' simply uses the most intense peak in the trace">
+          <option value="area" selected="true">area</option>
+          <option value="median">median</option>
+          <option value="max_height">max_height</option>
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="trace_termination_criterion" argument="-algorithm:mtd:trace_termination_criterion" display="radio" type="select" optional="false" label="Termination criterion for the extension of mass traces" help="In 'outlier' mode, trace extension cancels if a predefined number of consecutive outliers are found (see trace_termination_outliers parameter). In 'sample_rate' mode, trace extension in both directions stops if ratio of found peaks versus visited spectra falls below the 'min_sample_rate' threshold">
+          <option value="outlier" selected="true">outlier</option>
+          <option value="sample_rate">sample_rate</option>
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="trace_termination_outliers" argument="-algorithm:mtd:trace_termination_outliers" type="integer" optional="true" value="5" label="Mass trace extension in one direction cancels if this number of consecutive spectra with no detectable peaks is reached" help=""/>
+        <param name="min_sample_rate" argument="-algorithm:mtd:min_sample_rate" type="float" optional="true" value="0.5" label="Minimum fraction of scans along the mass trace that must contain a peak" help=""/>
+        <param name="min_trace_length" argument="-algorithm:mtd:min_trace_length" type="float" optional="true" value="5.0" label="Minimum expected length of a mass trace (in seconds)" help=""/>
+        <param name="max_trace_length" argument="-algorithm:mtd:max_trace_length" type="float" optional="true" value="-1.0" label="Maximum expected length of a mass trace (in seconds)" help="Set to a negative value to disable maximal length check during mass trace detection"/>
+      </section>
+      <section name="epd" title="Elution Profile Detection (to separate isobaric Mass Traces by elution time)" help="" expanded="false">
+        <param name="enabled" argument="-algorithm:epd:enabled" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Enable splitting of isobaric mass traces by chromatographic peak detection" help="Disable for direct injection"/>
+        <param name="width_filtering" argument="-algorithm:epd:width_filtering" display="radio" type="select" optional="false" label="Enable filtering of unlikely peak widths" help="The fixed setting filters out mass traces outside the [min_fwhm, max_fwhm] interval (set parameters accordingly!). The auto setting filters with the 5 and 95% quantiles of the peak width distribution">
+          <option value="off">off</option>
+          <option value="fixed" selected="true">fixed</option>
+          <option value="auto">auto</option>
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="min_fwhm" argument="-algorithm:epd:min_fwhm" type="float" optional="true" value="3.0" label="Minimum full-width-at-half-maximum of chromatographic peaks (in seconds)" help="Ignored if parameter width_filtering is off or auto"/>
+        <param name="max_fwhm" argument="-algorithm:epd:max_fwhm" type="float" optional="true" value="60.0" label="Maximum full-width-at-half-maximum of chromatographic peaks (in seconds)" help="Ignored if parameter width_filtering is off or auto"/>
+        <param name="masstrace_snr_filtering" argument="-algorithm:epd:masstrace_snr_filtering" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Apply post-filtering by signal-to-noise ratio after smoothing" help=""/>
+      </section>
+      <section name="ffm" title="FeatureFinder parameters (assembling mass traces to charged features)" help="" expanded="false">
+        <param name="local_rt_range" argument="-algorithm:ffm:local_rt_range" type="float" optional="true" value="10.0" label="RT range where to look for coeluting mass traces" help=""/>
+        <param name="local_mz_range" argument="-algorithm:ffm:local_mz_range" type="float" optional="true" value="6.5" label="MZ range where to look for isotopic mass traces" help=""/>
+        <param name="charge_lower_bound" argument="-algorithm:ffm:charge_lower_bound" type="integer" optional="true" value="1" label="Lowest charge state to conside" help=""/>
+        <param name="charge_upper_bound" argument="-algorithm:ffm:charge_upper_bound" type="integer" optional="true" value="3" label="Highest charge state to conside" help=""/>
+        <param name="report_summed_ints" argument="-algorithm:ffm:report_summed_ints" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Set to true for a feature intensity summed up over all traces rather than using monoisotopic trace intensity alone" help=""/>
+        <param name="enable_RT_filtering" argument="-algorithm:ffm:enable_RT_filtering" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Require sufficient overlap in RT while assembling mass traces" help="Disable for direct injection data"/>
+        <param name="isotope_filtering_model" argument="-algorithm:ffm:isotope_filtering_model" display="radio" type="select" optional="false" label="Remove/score candidate assemblies based on isotope intensities" help="SVM isotope models for metabolites were trained with either 2% or 5% RMS error. For peptides, an averagine cosine scoring is used. Select the appropriate noise model according to the quality of measurement or MS device">
+          <option value="metabolites (2% RMS)">metabolites (2% RMS)</option>
+          <option value="metabolites (5% RMS)" selected="true">metabolites (5% RMS)</option>
+          <option value="peptides">peptides</option>
+          <option value="none">none</option>
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="mz_scoring_13C" argument="-algorithm:ffm:mz_scoring_13C" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use the 13C isotope peak position (~1.003355 Da) as the expected shift in m/z for isotope mass traces (highly recommended for lipidomics!)" help="Disable for general metabolites (as described in Kenar et al. 2014, MCP.)"/>
+        <param name="use_smoothed_intensities" argument="-algorithm:ffm:use_smoothed_intensities" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Use LOWESS intensities instead of raw intensities" help=""/>
+        <param name="report_convex_hulls" argument="-algorithm:ffm:report_convex_hulls" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Augment each reported feature with the convex hull of the underlying mass traces (increases featureXML file size considerably)" help=""/>
+        <param name="remove_single_traces" argument="-algorithm:ffm:remove_single_traces" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Remove unassembled traces (single traces)" help=""/>
+        <param name="mz_scoring_by_elements" argument="-algorithm:ffm:mz_scoring_by_elements" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use the m/z range of the assumed elements to detect isotope peaks" help="A expected m/z range is computed from the isotopes of the assumed elements. If enabled, this ignores 'mz_scoring_13C'"/>
+        <param name="elements" argument="-algorithm:ffm:elements" type="text" optional="true" value="CHNOPS" label="Elements assumes to be present in the sample (this influences isotope detection)" help="">
+          <expand macro="list_string_san"/>
+        </param>
+      </section>
+    </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="out_chrom_FLAG">out_chrom (Elements assumes to be present in the sample (this influences isotope detection))</option>
+      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
+    </param>
   </inputs>
   <outputs>
-    <data name="param_out" format="featurexml"/>
-    <data name="param_out_chrom" format="mzml"/>
+    <data name="out" label="${tool.name} on ${on_string}: out" format="featurexml"/>
+    <data name="out_chrom" label="${tool.name} on ${on_string}: out_chrom" format="mzml">
+      <filter>OPTIONAL_OUTPUTS is not None and "out_chrom_FLAG" in OPTIONAL_OUTPUTS</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>Assembles metabolite features from centroided (LC-)MS data using the mass trace approach.
+  <tests>
+    <expand macro="autotest_FeatureFinderMetabo"/>
+    <expand macro="manutest_FeatureFinderMetabo"/>
+  </tests>
+  <help><![CDATA[Assembles metabolite features from centroided (LC-)MS data using the mass trace approach.
 
 
-For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.3.0/html/TOPP_FeatureFinderMetabo.html</help>
+For more information, visit http://www.openms.de/documentation/TOPP_FeatureFinderMetabo.html]]></help>
+  <expand macro="references"/>
 </tool>