diff FeatureFinderCentroided.xml @ 11:6eda2adf7613 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
author galaxyp
date Thu, 03 Sep 2020 16:17:06 +0000
parents c56b544a3fb2
children b57f420a47b9
line wrap: on
line diff
--- a/FeatureFinderCentroided.xml	Fri May 17 09:39:03 2019 -0400
+++ b/FeatureFinderCentroided.xml	Thu Sep 03 16:17:06 2020 +0000
@@ -1,178 +1,151 @@
 <?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="FeatureFinderCentroided" name="FeatureFinderCentroided" version="2.3.0">
+<tool id="FeatureFinderCentroided" name="FeatureFinderCentroided" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>Detects two-dimensional features in LC-MS data.</description>
   <macros>
     <token name="@EXECUTABLE@">FeatureFinderCentroided</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[FeatureFinderCentroided
+  <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_seeds:
-  -seeds $param_seeds
-#end if
-#if $param_out_mzq:
-  -out_mzq $param_out_mzq
+## Preprocessing
+mkdir in &&
+ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
+mkdir out &&
+#if $seeds:
+  mkdir seeds &&
+  ln -s '$seeds' 'seeds/${re.sub("[^\w\-_]", "_", $seeds.element_identifier)}.$gxy2omsext($seeds.ext)' &&
 #end if
-#if $param_algorithm_intensity_bins:
-  -algorithm:intensity:bins $param_algorithm_intensity_bins
-#end if
-#if $param_algorithm_mass_trace_mz_tolerance:
-  -algorithm:mass_trace:mz_tolerance $param_algorithm_mass_trace_mz_tolerance
-#end if
-#if $param_algorithm_mass_trace_min_spectra:
-  -algorithm:mass_trace:min_spectra $param_algorithm_mass_trace_min_spectra
-#end if
-#if $param_algorithm_mass_trace_max_missing:
-  -algorithm:mass_trace:max_missing $param_algorithm_mass_trace_max_missing
-#end if
-#if $param_algorithm_mass_trace_slope_bound:
-  -algorithm:mass_trace:slope_bound $param_algorithm_mass_trace_slope_bound
-#end if
-#if $param_algorithm_isotopic_pattern_charge_low:
-  -algorithm:isotopic_pattern:charge_low $param_algorithm_isotopic_pattern_charge_low
-#end if
-#if $param_algorithm_isotopic_pattern_charge_high:
-  -algorithm:isotopic_pattern:charge_high $param_algorithm_isotopic_pattern_charge_high
+#if "out_mzq_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir out_mzq &&
 #end if
-#if $param_algorithm_isotopic_pattern_mz_tolerance:
-  -algorithm:isotopic_pattern:mz_tolerance $param_algorithm_isotopic_pattern_mz_tolerance
-#end if
-#if $param_algorithm_seed_min_score:
-  -algorithm:seed:min_score $param_algorithm_seed_min_score
-#end if
-#if $param_algorithm_feature_min_score:
-  -algorithm:feature:min_score $param_algorithm_feature_min_score
-#end if
-#if $param_algorithm_feature_reported_mz:
-  -algorithm:feature:reported_mz
-  #if " " in str($param_algorithm_feature_reported_mz):
-    "$param_algorithm_feature_reported_mz"
-  #else
-    $param_algorithm_feature_reported_mz
-  #end if
+
+## Main program call
+
+set -o pipefail &&
+@EXECUTABLE@ -write_ctd ./ &&
+python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
+@EXECUTABLE@ -ini @EXECUTABLE@.ctd
+-in
+'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)'
+-out
+'out/output.${gxy2omsext("featurexml")}'
+#if $seeds:
+  -seeds
+  'seeds/${re.sub("[^\w\-_]", "_", $seeds.element_identifier)}.$gxy2omsext($seeds.ext)'
 #end if
-#if $param_algorithm_user_seed_rt_tolerance:
-  -algorithm:user-seed:rt_tolerance $param_algorithm_user_seed_rt_tolerance
-#end if
-#if $param_algorithm_user_seed_mz_tolerance:
-  -algorithm:user-seed:mz_tolerance $param_algorithm_user_seed_mz_tolerance
-#end if
-#if $param_algorithm_user_seed_min_score:
-  -algorithm:user-seed:min_score $param_algorithm_user_seed_min_score
+#if "out_mzq_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -out_mzq
+  'out_mzq/output.${gxy2omsext("mzq")}'
 #end if
-#if $adv_opts.adv_opts_selector=='advanced':
-    #if $adv_opts.param_force:
-  -force
+#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
+  | tee '$stdout'
 #end if
-    #if $adv_opts.param_algorithm_debug_pseudo_rt_shift:
-  -algorithm:debug:pseudo_rt_shift $adv_opts.param_algorithm_debug_pseudo_rt_shift
-#end if
-    #if $adv_opts.param_algorithm_isotopic_pattern_intensity_percentage:
-  -algorithm:isotopic_pattern:intensity_percentage $adv_opts.param_algorithm_isotopic_pattern_intensity_percentage
-#end if
-    #if $adv_opts.param_algorithm_isotopic_pattern_intensity_percentage_optional:
-  -algorithm:isotopic_pattern:intensity_percentage_optional $adv_opts.param_algorithm_isotopic_pattern_intensity_percentage_optional
+
+## Postprocessing
+&& mv 'out/output.${gxy2omsext("featurexml")}' '$out'
+#if "out_mzq_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'out_mzq/output.${gxy2omsext("mzq")}' '$out_mzq'
 #end if
-    #if $adv_opts.param_algorithm_isotopic_pattern_optional_fit_improvement:
-  -algorithm:isotopic_pattern:optional_fit_improvement $adv_opts.param_algorithm_isotopic_pattern_optional_fit_improvement
-#end if
-    #if $adv_opts.param_algorithm_isotopic_pattern_mass_window_width:
-  -algorithm:isotopic_pattern:mass_window_width $adv_opts.param_algorithm_isotopic_pattern_mass_window_width
-#end if
-    #if $adv_opts.param_algorithm_isotopic_pattern_abundance_12C:
-  -algorithm:isotopic_pattern:abundance_12C $adv_opts.param_algorithm_isotopic_pattern_abundance_12C
-#end if
-    #if $adv_opts.param_algorithm_isotopic_pattern_abundance_14N:
-  -algorithm:isotopic_pattern:abundance_14N $adv_opts.param_algorithm_isotopic_pattern_abundance_14N
-#end if
-    #if $adv_opts.param_algorithm_fit_max_iterations:
-  -algorithm:fit:max_iterations $adv_opts.param_algorithm_fit_max_iterations
-#end if
-    #if $adv_opts.param_algorithm_feature_min_isotope_fit:
-  -algorithm:feature:min_isotope_fit $adv_opts.param_algorithm_feature_min_isotope_fit
-#end if
-    #if $adv_opts.param_algorithm_feature_min_trace_score:
-  -algorithm:feature:min_trace_score $adv_opts.param_algorithm_feature_min_trace_score
-#end if
-    #if $adv_opts.param_algorithm_feature_min_rt_span:
-  -algorithm:feature:min_rt_span $adv_opts.param_algorithm_feature_min_rt_span
-#end if
-    #if $adv_opts.param_algorithm_feature_max_rt_span:
-  -algorithm:feature:max_rt_span $adv_opts.param_algorithm_feature_max_rt_span
-#end if
-    #if $adv_opts.param_algorithm_feature_rt_shape:
-  -algorithm:feature:rt_shape
-  #if " " in str($adv_opts.param_algorithm_feature_rt_shape):
-    "$adv_opts.param_algorithm_feature_rt_shape"
-  #else
-    $adv_opts.param_algorithm_feature_rt_shape
-  #end if
-#end if
-    #if $adv_opts.param_algorithm_feature_max_intersection:
-  -algorithm:feature:max_intersection $adv_opts.param_algorithm_feature_max_intersection
-#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="input file" help="(-in) "/>
-    <param name="param_seeds" type="data" format="featurexml" optional="True" label="User specified seed list" help="(-seeds) "/>
-    <param name="param_algorithm_intensity_bins" type="integer" min="1" optional="True" value="10" label="Number of bins per dimension (RT and m/z)" help="(-bins) The higher this value, the more local the intensity significance score is. &lt;br&gt;This parameter should be decreased, if the algorithm is used on small regions of a map"/>
-    <param name="param_algorithm_mass_trace_mz_tolerance" type="float" min="0.0" optional="True" value="0.03" label="Tolerated m/z deviation of peaks belonging to the same mass trace" help="(-mz_tolerance) &lt;br&gt;It should be larger than the m/z resolution of the instrument. &lt;br&gt;This value must be smaller than that 1/charge_high!"/>
-    <param name="param_algorithm_mass_trace_min_spectra" type="integer" min="1" optional="True" value="10" label="Number of spectra that have to show a similar peak mass in a mass trace" help="(-min_spectra) "/>
-    <param name="param_algorithm_mass_trace_max_missing" type="integer" min="0" optional="True" value="1" label="Number of consecutive spectra where a high mass deviation or missing peak is acceptable" help="(-max_missing) &lt;br&gt;This parameter should be well below 'min_spectra'!"/>
-    <param name="param_algorithm_mass_trace_slope_bound" type="float" min="0.0" optional="True" value="0.1" label="The maximum slope of mass trace intensities when extending from the highest peak" help="(-slope_bound) &lt;br&gt;This parameter is important to seperate overlapping elution peaks. &lt;br&gt;It should be increased if feature elution profiles fluctuate a lot"/>
-    <param name="param_algorithm_isotopic_pattern_charge_low" type="integer" min="1" optional="True" value="1" label="Lowest charge to search fo" help="(-charge_low) "/>
-    <param name="param_algorithm_isotopic_pattern_charge_high" type="integer" min="1" optional="True" value="4" label="Highest charge to search fo" help="(-charge_high) "/>
-    <param name="param_algorithm_isotopic_pattern_mz_tolerance" type="float" min="0.0" optional="True" value="0.03" label="Tolerated m/z deviation from the theoretical isotopic pattern" help="(-mz_tolerance) &lt;br&gt;It should be larger than the m/z resolution of the instrument. &lt;br&gt;This value must be smaller than that 1/charge_high!"/>
-    <param name="param_algorithm_seed_min_score" type="float" min="0.0" max="1.0" optional="True" value="0.8" label="Minimum seed score a peak has to reach to be used as seed" help="(-min_score) &lt;br&gt;The seed score is the geometric mean of intensity score, mass trace score and isotope pattern score. &lt;br&gt;If your features show a large deviation from the averagene isotope distribution or from an gaussian elution profile, lower this score"/>
-    <param name="param_algorithm_feature_min_score" type="float" min="0.0" max="1.0" optional="True" value="0.7" label="Feature score threshold for a feature to be reported" help="(-min_score) &lt;br&gt;The feature score is the geometric mean of the average relative deviation and the correlation between the model and the observed peaks"/>
-    <param name="param_algorithm_feature_reported_mz" display="radio" type="select" optional="False" value="monoisotopic" label="The mass type that is reported for features" help="(-reported_mz) &lt;br&gt;'maximum' returns the m/z value of the highest mass trace. &lt;br&gt;'average' returns the intensity-weighted average m/z value of all contained peaks. &lt;br&gt;'monoisotopic' returns the monoisotopic m/z value derived from the fitted isotope model">
-      <option value="maximum">maximum</option>
-      <option value="average">average</option>
-      <option value="monoisotopic" selected="true">monoisotopic</option>
+    <param name="in" argument="-in" type="data" format="mzml" optional="false" label="input file" help=" select mzml data sets(s)"/>
+    <param name="seeds" argument="-seeds" type="data" format="featurexml" optional="true" label="User specified seed list" help=" select featurexml data sets(s)"/>
+    <section name="algorithm" title="Algorithm section" help="" expanded="false">
+      <section name="debug" title="" help="" expanded="false">
+        <param name="pseudo_rt_shift" argument="-algorithm:debug:pseudo_rt_shift" type="float" optional="true" min="1.0" value="500.0" label="Pseudo RT shift used when" help=""/>
+      </section>
+      <section name="intensity" title="Settings for the calculation of a score indicating if a peak's intensity is significant in the local environment (between 0 and 1)" help="" expanded="false">
+        <param name="bins" argument="-algorithm:intensity:bins" type="integer" optional="true" min="1" value="10" label="Number of bins per dimension (RT and m/z)" help="The higher this value, the more local the intensity significance score is.. This parameter should be decreased, if the algorithm is used on small regions of a map"/>
+      </section>
+      <section name="mass_trace" title="Settings for the calculation of a score indicating if a peak is part of a mass trace (between 0 and 1)" help="" expanded="false">
+        <param name="mz_tolerance" argument="-algorithm:mass_trace:mz_tolerance" type="float" optional="true" min="0.0" value="0.03" label="Tolerated m/z deviation of peaks belonging to the same mass trace" help="It should be larger than the m/z resolution of the instrument.. This value must be smaller than that 1/charge_high!"/>
+        <param name="min_spectra" argument="-algorithm:mass_trace:min_spectra" type="integer" optional="true" min="1" value="10" label="Number of spectra that have to show a similar peak mass in a mass trace" help=""/>
+        <param name="max_missing" argument="-algorithm:mass_trace:max_missing" type="integer" optional="true" min="0" value="1" label="Number of consecutive spectra where a high mass deviation or missing peak is acceptable" help="This parameter should be well below 'min_spectra'!"/>
+        <param name="slope_bound" argument="-algorithm:mass_trace:slope_bound" type="float" optional="true" min="0.0" value="0.1" label="The maximum slope of mass trace intensities when extending from the highest peak" help="This parameter is important to seperate overlapping elution peaks.. It should be increased if feature elution profiles fluctuate a lot"/>
+      </section>
+      <section name="isotopic_pattern" title="Settings for the calculation of a score indicating if a peak is part of a isotopic pattern (between 0 and 1)" help="" expanded="false">
+        <param name="charge_low" argument="-algorithm:isotopic_pattern:charge_low" type="integer" optional="true" min="1" value="1" label="Lowest charge to search fo" help=""/>
+        <param name="charge_high" argument="-algorithm:isotopic_pattern:charge_high" type="integer" optional="true" min="1" value="4" label="Highest charge to search fo" help=""/>
+        <param name="mz_tolerance" argument="-algorithm:isotopic_pattern:mz_tolerance" type="float" optional="true" min="0.0" value="0.03" label="Tolerated m/z deviation from the theoretical isotopic pattern" help="It should be larger than the m/z resolution of the instrument.. This value must be smaller than that 1/charge_high!"/>
+        <param name="intensity_percentage" argument="-algorithm:isotopic_pattern:intensity_percentage" type="float" optional="true" min="0.0" max="100.0" value="10.0" label="Isotopic peaks that contribute more than this percentage to the overall isotope pattern intensity must be present" help=""/>
+        <param name="intensity_percentage_optional" argument="-algorithm:isotopic_pattern:intensity_percentage_optional" type="float" optional="true" min="0.0" max="100.0" value="0.1" label="Isotopic peaks that contribute more than this percentage to the overall isotope pattern intensity can be missing" help=""/>
+        <param name="optional_fit_improvement" argument="-algorithm:isotopic_pattern:optional_fit_improvement" type="float" optional="true" min="0.0" max="100.0" value="2.0" label="Minimal percental improvement of isotope fit to allow leaving out an optional peak" help=""/>
+        <param name="mass_window_width" argument="-algorithm:isotopic_pattern:mass_window_width" type="float" optional="true" min="1.0" max="200.0" value="25.0" label="Window width in Dalton for precalculation of estimated isotope distributions" help=""/>
+        <param name="abundance_12C" argument="-algorithm:isotopic_pattern:abundance_12C" type="float" optional="true" min="0.0" max="100.0" value="98.93" label="Rel" help="abundance of the light carbon. Modify if labeled"/>
+        <param name="abundance_14N" argument="-algorithm:isotopic_pattern:abundance_14N" type="float" optional="true" min="0.0" max="100.0" value="99.632" label="Rel" help="abundance of the light nitrogen. Modify if labeled"/>
+      </section>
+      <section name="seed" title="Settings that determine which peaks are considered a seed" help="" expanded="false">
+        <param name="min_score" argument="-algorithm:seed:min_score" type="float" optional="true" min="0.0" max="1.0" value="0.8" label="Minimum seed score a peak has to reach to be used as seed" help="The seed score is the geometric mean of intensity score, mass trace score and isotope pattern score.. If your features show a large deviation from the averagene isotope distribution or from an gaussian elution profile, lower this score"/>
+      </section>
+      <section name="fit" title="Settings for the model fitting" help="" expanded="false">
+        <param name="max_iterations" argument="-algorithm:fit:max_iterations" type="integer" optional="true" min="1" value="500" label="Maximum number of iterations of the fit" help=""/>
+      </section>
+      <section name="feature" title="Settings for the features (intensity, quality assessment, ...)" help="" expanded="false">
+        <param name="min_score" argument="-algorithm:feature:min_score" type="float" optional="true" min="0.0" max="1.0" value="0.7" label="Feature score threshold for a feature to be reported" help="The feature score is the geometric mean of the average relative deviation and the correlation between the model and the observed peaks"/>
+        <param name="min_isotope_fit" argument="-algorithm:feature:min_isotope_fit" type="float" optional="true" min="0.0" max="1.0" value="0.8" label="Minimum isotope fit of the feature before model fitting" help=""/>
+        <param name="min_trace_score" argument="-algorithm:feature:min_trace_score" type="float" optional="true" min="0.0" max="1.0" value="0.5" label="Trace score threshold" help="Traces below this threshold are removed after the model fitting.. This parameter is important for features that overlap in m/z dimension"/>
+        <param name="min_rt_span" argument="-algorithm:feature:min_rt_span" type="float" optional="true" min="0.0" max="1.0" value="0.333" label="Minimum RT span in relation to extended area that has to remain after model fitting" help=""/>
+        <param name="max_rt_span" argument="-algorithm:feature:max_rt_span" type="float" optional="true" min="0.5" value="2.5" label="Maximum RT span in relation to extended area that the model is allowed to have" help=""/>
+        <param name="rt_shape" argument="-algorithm:feature:rt_shape" display="radio" type="select" optional="false" label="Choose model used for RT profile fitting" help="If set to symmetric a gauss shape is used, in case of asymmetric an EGH shape is used">
+          <option value="symmetric" selected="true">symmetric</option>
+          <option value="asymmetric">asymmetric</option>
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="max_intersection" argument="-algorithm:feature:max_intersection" type="float" optional="true" min="0.0" max="1.0" value="0.35" label="Maximum allowed intersection of features" help=""/>
+        <param name="reported_mz" argument="-algorithm:feature:reported_mz" display="radio" type="select" optional="false" label="The mass type that is reported for features" help="'maximum' returns the m/z value of the highest mass trace.. 'average' returns the intensity-weighted average m/z value of all contained peaks.. 'monoisotopic' returns the monoisotopic m/z value derived from the fitted isotope model">
+          <option value="maximum">maximum</option>
+          <option value="average">average</option>
+          <option value="monoisotopic" selected="true">monoisotopic</option>
+          <expand macro="list_string_san"/>
+        </param>
+      </section>
+      <section name="user-seed" title="Settings for user-specified seeds" help="" expanded="false">
+        <param name="rt_tolerance" argument="-algorithm:user-seed:rt_tolerance" type="float" optional="true" min="0.0" value="5.0" label="Allowed RT deviation of seeds from the user-specified seed position" help=""/>
+        <param name="mz_tolerance" argument="-algorithm:user-seed:mz_tolerance" type="float" optional="true" min="0.0" value="1.1" label="Allowed m/z deviation of seeds from the user-specified seed position" help=""/>
+        <param name="min_score" argument="-algorithm:user-seed:min_score" type="float" optional="true" min="0.0" max="1.0" value="0.5" label="Overwrites 'seed:min_score' for user-specified seeds" help="The cutoff is typically a bit lower in this case"/>
+      </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_mzq_FLAG">out_mzq (Overwrites 'seed:min_score' for user-specified seeds)</option>
+      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
     </param>
-    <param name="param_algorithm_user_seed_rt_tolerance" type="float" min="0.0" optional="True" value="5.0" label="Allowed RT deviation of seeds from the user-specified seed position" help="(-rt_tolerance) "/>
-    <param name="param_algorithm_user_seed_mz_tolerance" type="float" min="0.0" optional="True" value="1.1" label="Allowed m/z deviation of seeds from the user-specified seed position" help="(-mz_tolerance) "/>
-    <param name="param_algorithm_user_seed_min_score" type="float" min="0.0" max="1.0" optional="True" value="0.5" label="Overwrites 'seed:min_score' for user-specified seeds" help="(-min_score) The cutoff is typically a bit lower in this case"/>
-    <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_debug_pseudo_rt_shift" type="float" min="1.0" optional="True" value="500.0" label="Pseudo RT shift used when" help="(-pseudo_rt_shift) "/>
-      <param name="param_algorithm_isotopic_pattern_intensity_percentage" type="float" min="0.0" max="100.0" optional="True" value="10.0" label="Isotopic peaks that contribute more than this percentage to the overall isotope pattern intensity must be present" help="(-intensity_percentage) "/>
-      <param name="param_algorithm_isotopic_pattern_intensity_percentage_optional" type="float" min="0.0" max="100.0" optional="True" value="0.1" label="Isotopic peaks that contribute more than this percentage to the overall isotope pattern intensity can be missing" help="(-intensity_percentage_optional) "/>
-      <param name="param_algorithm_isotopic_pattern_optional_fit_improvement" type="float" min="0.0" max="100.0" optional="True" value="2.0" label="Minimal percental improvement of isotope fit to allow leaving out an optional peak" help="(-optional_fit_improvement) "/>
-      <param name="param_algorithm_isotopic_pattern_mass_window_width" type="float" min="1.0" max="200.0" optional="True" value="25.0" label="Window width in Dalton for precalculation of estimated isotope distributions" help="(-mass_window_width) "/>
-      <param name="param_algorithm_isotopic_pattern_abundance_12C" type="float" min="0.0" max="100.0" optional="True" value="98.93" label="Rel" help="(-abundance_12C) abundance of the light carbon. Modify if labeled"/>
-      <param name="param_algorithm_isotopic_pattern_abundance_14N" type="float" min="0.0" max="100.0" optional="True" value="99.632" label="Rel" help="(-abundance_14N) abundance of the light nitrogen. Modify if labeled"/>
-      <param name="param_algorithm_fit_max_iterations" type="integer" min="1" optional="True" value="500" label="Maximum number of iterations of the fit" help="(-max_iterations) "/>
-      <param name="param_algorithm_feature_min_isotope_fit" type="float" min="0.0" max="1.0" optional="True" value="0.8" label="Minimum isotope fit of the feature before model fitting" help="(-min_isotope_fit) "/>
-      <param name="param_algorithm_feature_min_trace_score" type="float" min="0.0" max="1.0" optional="True" value="0.5" label="Trace score threshold" help="(-min_trace_score) &lt;br&gt;Traces below this threshold are removed after the model fitting. &lt;br&gt;This parameter is important for features that overlap in m/z dimension"/>
-      <param name="param_algorithm_feature_min_rt_span" type="float" min="0.0" max="1.0" optional="True" value="0.333" label="Minimum RT span in relation to extended area that has to remain after model fitting" help="(-min_rt_span) "/>
-      <param name="param_algorithm_feature_max_rt_span" type="float" min="0.5" optional="True" value="2.5" label="Maximum RT span in relation to extended area that the model is allowed to have" help="(-max_rt_span) "/>
-      <param name="param_algorithm_feature_rt_shape" display="radio" type="select" optional="False" value="symmetric" label="Choose model used for RT profile fitting" help="(-rt_shape) If set to symmetric a gauss shape is used, in case of asymmetric an EGH shape is used">
-        <option value="symmetric" selected="true">symmetric</option>
-        <option value="asymmetric">asymmetric</option>
-      </param>
-      <param name="param_algorithm_feature_max_intersection" type="float" min="0.0" max="1.0" optional="True" value="0.35" label="Maximum allowed intersection of features" help="(-max_intersection) "/>
-    </expand>
   </inputs>
   <outputs>
-    <data name="param_out" format="featurexml"/>
-    <data name="param_out_mzq" format="mzq"/>
+    <data name="out" label="${tool.name} on ${on_string}: out" format="featurexml"/>
+    <data name="out_mzq" label="${tool.name} on ${on_string}: out_mzq" format="mzq">
+      <filter>OPTIONAL_OUTPUTS is not None and "out_mzq_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>Detects two-dimensional features in LC-MS data.
+  <tests>
+    <expand macro="autotest_FeatureFinderCentroided"/>
+    <expand macro="manutest_FeatureFinderCentroided"/>
+  </tests>
+  <help><![CDATA[Detects two-dimensional features in LC-MS data.
 
 
-For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.3.0/html/TOPP_FeatureFinderCentroided.html</help>
+For more information, visit http://www.openms.de/documentation/TOPP_FeatureFinderCentroided.html]]></help>
+  <expand macro="references"/>
 </tool>