diff FeatureFinderIdentification.xml @ 11:c1beeebc9db7 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 020906fb54bde7fc143c356f41975c378a741315"
author galaxyp
date Wed, 09 Sep 2020 19:53:44 +0000
parents edfd559ead1c
children 5471eba33b70
line wrap: on
line diff
--- a/FeatureFinderIdentification.xml	Fri May 17 09:23:04 2019 -0400
+++ b/FeatureFinderIdentification.xml	Wed Sep 09 19:53:44 2020 +0000
@@ -1,238 +1,210 @@
 <?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="FeatureFinderIdentification" name="FeatureFinderIdentification" version="2.3.0">
+<tool id="FeatureFinderIdentification" name="FeatureFinderIdentification" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>Detects features in MS1 data based on peptide identifications.</description>
   <macros>
     <token name="@EXECUTABLE@">FeatureFinderIdentification</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[FeatureFinderIdentification
+  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
+@EXT_FOO@
+#import re
 
-#if $param_in:
-  -in $param_in
-#end if
-#if $param_id:
-  -id $param_id
-#end if
-#if $param_id_ext:
-  -id_ext $param_id_ext
-#end if
-#if $param_out:
-  -out $param_out
-#end if
-#if $param_lib_out:
-  -lib_out $param_lib_out
-#end if
-#if $param_chrom_out:
-  -chrom_out $param_chrom_out
-#end if
-#if $param_candidates_out:
-  -candidates_out $param_candidates_out
+## Preprocessing
+mkdir in &&
+ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
+mkdir id &&
+ln -s '$id' 'id/${re.sub("[^\w\-_]", "_", $id.element_identifier)}.$gxy2omsext($id.ext)' &&
+#if $id_ext:
+  mkdir id_ext &&
+  ln -s '$id_ext' 'id_ext/${re.sub("[^\w\-_]", "_", $id_ext.element_identifier)}.$gxy2omsext($id_ext.ext)' &&
 #end if
-#if $param_extract_mz_window:
-  -extract:mz_window $param_extract_mz_window
-#end if
-#if $param_extract_n_isotopes:
-  -extract:n_isotopes $param_extract_n_isotopes
+mkdir out &&
+#if "lib_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir lib_out &&
 #end if
-#if $param_detect_peak_width:
-  -detect:peak_width $param_detect_peak_width
-#end if
-#if $param_detect_mapping_tolerance:
-  -detect:mapping_tolerance $param_detect_mapping_tolerance
+#if "chrom_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir chrom_out &&
 #end if
-#if $param_svm_samples:
-  -svm:samples $param_svm_samples
-#end if
-#if $param_svm_no_selection:
-  -svm:no_selection
+#if "candidates_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir candidates_out &&
 #end if
-#if $param_svm_xval_out:
-  -svm:xval_out $param_svm_xval_out
+#if "xval_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir svm_xval_out &&
 #end if
-#if $param_svm_kernel:
-  -svm:kernel
-  #if " " in str($param_svm_kernel):
-    "$param_svm_kernel"
-  #else
-    $param_svm_kernel
+#if $adv_opts_cond.adv_opts_selector=='advanced':
+  #if $adv_opts_cond.candidates_in:
+    mkdir adv_opts_cond.candidates_in &&
+    ln -s '$adv_opts_cond.candidates_in' 'adv_opts_cond.candidates_in/${re.sub("[^\w\-_]", "_", $adv_opts_cond.candidates_in.element_identifier)}.$gxy2omsext($adv_opts_cond.candidates_in.ext)' &&
   #end if
 #end if
-#if $param_svm_xval:
-  -svm:xval $param_svm_xval
-#end if
 
-#if $rep_param_svm_log2_C:
--svm:log2_C
-  #for token in $rep_param_svm_log2_C:
-    #if " " in str(token):
-      "$token.param_svm_log2_C"
-    #else
-      $token.param_svm_log2_C
-    #end if
-  #end for
-#end if
+## Main program call
 
-#if $rep_param_svm_log2_gamma:
--svm:log2_gamma
-  #for token in $rep_param_svm_log2_gamma:
-    #if " " in str(token):
-      "$token.param_svm_log2_gamma"
-    #else
-      $token.param_svm_log2_gamma
-    #end if
-  #end for
+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)'
+-id
+'id/${re.sub("[^\w\-_]", "_", $id.element_identifier)}.$gxy2omsext($id.ext)'
+#if $id_ext:
+  -id_ext
+  'id_ext/${re.sub("[^\w\-_]", "_", $id_ext.element_identifier)}.$gxy2omsext($id_ext.ext)'
 #end if
-#if $param_model_type:
-  -model:type
-  #if " " in str($param_model_type):
-    "$param_model_type"
-  #else
-    $param_model_type
+-out
+'out/output.${gxy2omsext("featurexml")}'
+#if "lib_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -lib_out
+  'lib_out/output.${gxy2omsext("traml")}'
+#end if
+#if "chrom_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -chrom_out
+  'chrom_out/output.${gxy2omsext("mzml")}'
+#end if
+#if "candidates_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -candidates_out
+  'candidates_out/output.${gxy2omsext("featurexml")}'
+#end if
+#if "xval_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -svm:xval_out
+  'svm_xval_out/output.${gxy2omsext("csv")}'
+#end if
+#if $adv_opts_cond.adv_opts_selector=='advanced':
+  #if $adv_opts_cond.candidates_in:
+    -candidates_in
+    'adv_opts_cond.candidates_in/${re.sub("[^\w\-_]", "_", $adv_opts_cond.candidates_in.element_identifier)}.$gxy2omsext($adv_opts_cond.candidates_in.ext)'
   #end if
 #end if
-#if $adv_opts.adv_opts_selector=='advanced':
-    #if $adv_opts.param_candidates_in:
-  -candidates_in $adv_opts.param_candidates_in
-#end if
-    #if $adv_opts.param_force:
-  -force
-#end if
-    #if $adv_opts.param_extract_isotope_pmin:
-  -extract:isotope_pmin $adv_opts.param_extract_isotope_pmin
-#end if
-    #if $adv_opts.param_extract_rt_quantile:
-  -extract:rt_quantile $adv_opts.param_extract_rt_quantile
+#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
+  | tee '$stdout'
 #end if
-    #if $adv_opts.param_extract_rt_window:
-  -extract:rt_window $adv_opts.param_extract_rt_window
-#end if
-    #if $adv_opts.param_detect_min_peak_width:
-  -detect:min_peak_width $adv_opts.param_detect_min_peak_width
+
+## Postprocessing
+&& mv 'out/output.${gxy2omsext("featurexml")}' '$out'
+#if "lib_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'lib_out/output.${gxy2omsext("traml")}' '$lib_out'
 #end if
-    #if $adv_opts.param_detect_signal_to_noise:
-  -detect:signal_to_noise $adv_opts.param_detect_signal_to_noise
-#end if
-    #if $adv_opts.param_svm_epsilon:
-  -svm:epsilon $adv_opts.param_svm_epsilon
-#end if
-    #if $adv_opts.param_svm_cache_size:
-  -svm:cache_size $adv_opts.param_svm_cache_size
+#if "chrom_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'chrom_out/output.${gxy2omsext("mzml")}' '$chrom_out'
 #end if
-    #if $adv_opts.param_svm_no_shrinking:
-  -svm:no_shrinking
-#end if
-    #if $adv_opts.param_svm_predictors:
-  -svm:predictors     "$adv_opts.param_svm_predictors"
+#if "candidates_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'candidates_out/output.${gxy2omsext("featurexml")}' '$candidates_out'
 #end if
-    #if $adv_opts.param_svm_min_prob:
-  -svm:min_prob $adv_opts.param_svm_min_prob
-#end if
-    #if $adv_opts.param_model_add_zeros:
-  -model:add_zeros $adv_opts.param_model_add_zeros
-#end if
-    #if $adv_opts.param_model_unweighted_fit:
-  -model:unweighted_fit
+#if "xval_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'svm_xval_out/output.${gxy2omsext("csv")}' '$svm_xval_out'
 #end if
-    #if $adv_opts.param_model_no_imputation:
-  -model:no_imputation
-#end if
-    #if $adv_opts.param_model_check_min_area:
-  -model:check:min_area $adv_opts.param_model_check_min_area
-#end if
-    #if $adv_opts.param_model_check_boundaries:
-  -model:check:boundaries $adv_opts.param_model_check_boundaries
-#end if
-    #if $adv_opts.param_model_check_width:
-  -model:check:width $adv_opts.param_model_check_width
-#end if
-    #if $adv_opts.param_model_check_asymmetry:
-  -model:check:asymmetry $adv_opts.param_model_check_asymmetry
-#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="Input file: LC-MS raw data" help="(-in) "/>
-    <param name="param_id" type="data" format="idxml" optional="False" label="Input file: Peptide identifications derived directly from 'in'" help="(-id) "/>
-    <param name="param_id_ext" type="data" format="idxml" optional="True" label="Input file: 'External' peptide identifications (" help="(-id_ext) e.g. from aligned runs)"/>
-    <param name="param_extract_mz_window" type="float" min="0.0" optional="True" value="10.0" label="m/z window size for chromatogram extraction (unit: ppm if 1 or greater, else Da/Th)" help="(-mz_window) "/>
-    <param name="param_extract_n_isotopes" type="integer" min="2" optional="True" value="2" label="Number of isotopes to include in each peptide assay" help="(-n_isotopes) "/>
-    <param name="param_detect_peak_width" type="float" min="0.0" optional="True" value="60.0" label="Expected elution peak width in seconds, for smoothing (Gauss filter)" help="(-peak_width) Also determines the RT extration window, unless set explicitly via 'extract:rt_window'"/>
-    <param name="param_detect_mapping_tolerance" type="float" min="0.0" optional="True" value="0.0" label="RT tolerance (plus/minus) for mapping peptide IDs to features" help="(-mapping_tolerance) Absolute value in seconds if 1 or greater, else relative to the RT span of the feature"/>
-    <param name="param_svm_samples" type="integer" min="0" optional="True" value="0" label="Number of observations to use for training ('0' for all)" help="(-samples) "/>
-    <param name="param_svm_no_selection" display="radio" type="boolean" truevalue="-svm:no_selection" falsevalue="" checked="false" optional="True" label="By default, roughly the same number of positive and negative observations, with the same intensity distribution, are selected for training" help="(-no_selection) This aims to reduce biases, but also reduces the amount of training data. Set this flag to skip this procedure and consider all available observations (subject to 'svm:samples')"/>
-    <param name="param_svm_kernel" display="radio" type="select" optional="False" value="RBF" label="SVM kernel" help="(-kernel) ">
-      <option value="RBF" selected="true">RBF</option>
-      <option value="linear">linear</option>
-    </param>
-    <param name="param_svm_xval" type="integer" min="1" optional="True" value="5" label="Number of partitions for cross-validation (parameter optimization)" help="(-xval) "/>
-    <repeat name="rep_param_svm_log2_C" min="0" max="1" title="param_svm_log2_C">
-      <param name="param_svm_log2_C" type="text" size="30" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0" label="Values to try for the SVM parameter 'C' during parameter optimization" help="(-log2_C) A value 'x' is used as 'C = 2^x'">
-        <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 file: LC-MS raw data" help=" select mzml data sets(s)"/>
+    <param name="id" argument="-id" type="data" format="idxml" optional="false" label="Input file: Peptide identifications derived directly from 'in'" help=" select idxml data sets(s)"/>
+    <param name="id_ext" argument="-id_ext" type="data" format="idxml" optional="true" label="Input file: 'External' peptide identifications" help="(e.g. from aligned runs) select idxml data sets(s)"/>
+    <section name="extract" title="Parameters for ion chromatogram extraction" help="" expanded="false">
+      <param name="batch_size" argument="-extract:batch_size" type="integer" optional="true" min="1" value="1000" label="Nr of peptides used in each batch of chromatogram extraction" help="Smaller values decrease memory usage but increase runtime"/>
+      <param name="mz_window" argument="-extract:mz_window" type="float" optional="true" min="0.0" value="10.0" label="m/z window size for chromatogram extraction (unit: ppm if 1 or greater, else Da/Th)" help=""/>
+      <param name="n_isotopes" argument="-extract:n_isotopes" type="integer" optional="true" min="2" value="2" label="Number of isotopes to include in each peptide assay" help=""/>
+      <param name="isotope_pmin" argument="-extract:isotope_pmin" type="float" optional="true" min="0.0" max="1.0" value="0.0" label="Minimum probability for an isotope to be included in the assay for a peptide" help="If set, this parameter takes precedence over 'extract:n_isotopes'"/>
+      <param name="rt_quantile" argument="-extract:rt_quantile" type="float" optional="true" min="0.0" max="1.0" value="0.95" label="Quantile of the RT deviations between aligned internal and external IDs to use for scaling the RT extraction window" help=""/>
+      <param name="rt_window" argument="-extract:rt_window" type="float" optional="true" min="0.0" value="0.0" label="RT window size (in sec.) for chromatogram extraction" help="If set, this parameter takes precedence over 'extract:rt_quantile'"/>
+    </section>
+    <section name="detect" title="Parameters for detecting features in extracted ion chromatograms" help="" expanded="false">
+      <param name="peak_width" argument="-detect:peak_width" type="float" optional="true" min="0.0" value="60.0" label="Expected elution peak width in seconds, for smoothing (Gauss filter)" help="Also determines the RT extration window, unless set explicitly via 'extract:rt_window'"/>
+      <param name="min_peak_width" argument="-detect:min_peak_width" type="float" optional="true" min="0.0" value="0.2" label="Minimum elution peak width" help="Absolute value in seconds if 1 or greater, else relative to 'peak_width'"/>
+      <param name="signal_to_noise" argument="-detect:signal_to_noise" type="float" optional="true" min="0.1" value="0.8" label="Signal-to-noise threshold for OpenSWATH feature detection" help=""/>
+      <param name="mapping_tolerance" argument="-detect:mapping_tolerance" type="float" optional="true" min="0.0" value="0.0" label="RT tolerance (plus/minus) for mapping peptide IDs to features" help="Absolute value in seconds if 1 or greater, else relative to the RT span of the feature"/>
+    </section>
+    <section name="svm" title="Parameters for scoring features using a support vector machine (SVM)" help="" expanded="false">
+      <param name="samples" argument="-svm:samples" type="integer" optional="true" min="0" value="0" label="Number of observations to use for training ('0' for all)" help=""/>
+      <param name="no_selection" argument="-svm:no_selection" type="boolean" truevalue="true" falsevalue="false" checked="false" label="By default, roughly the same number of positive and negative observations, with the same intensity distribution, are selected for training" help="This aims to reduce biases, but also reduces the amount of training data. Set this flag to skip this procedure and consider all available observations (subject to 'svm:samples')"/>
+      <param name="kernel" argument="-svm:kernel" display="radio" type="select" optional="false" label="SVM kernel" help="">
+        <option value="RBF" selected="true">RBF</option>
+        <option value="linear">linear</option>
+        <expand macro="list_string_san"/>
       </param>
-    </repeat>
-    <repeat name="rep_param_svm_log2_gamma" min="0" max="1" title="param_svm_log2_gamma">
-      <param name="param_svm_log2_gamma" type="text" size="30" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0" label="Values to try for the SVM parameter 'gamma' during parameter optimization (RBF kernel only)" help="(-log2_gamma) A value 'x' is used as 'gamma = 2^x'">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
+      <param name="xval" argument="-svm:xval" type="integer" optional="true" min="1" value="5" label="Number of partitions for cross-validation (parameter optimization)" help=""/>
+      <param name="log2_C" argument="-svm:log2_C" type="text" optional="true" value="-5.0 -3.0 -1.0 1.0 3.0 5.0 7.0 9.0 11.0 13.0 15.0" label="Values to try for the SVM parameter 'C' during parameter optimization" help="A value 'x' is used as 'C = 2^x' (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+        <expand macro="list_float_valsan"/>
+      </param>
+      <param name="log2_gamma" argument="-svm:log2_gamma" type="text" optional="true" value="-15.0 -13.0 -11.0 -9.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0" label="Values to try for the SVM parameter 'gamma' during parameter optimization (RBF kernel only)" help="A value 'x' is used as 'gamma = 2^x' (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+        <expand macro="list_float_valsan"/>
       </param>
-    </repeat>
-    <param name="param_model_type" display="radio" type="select" optional="False" value="symmetric" label="Type of elution model to fit to features" help="(-type) ">
-      <option value="symmetric" selected="true">symmetric</option>
-      <option value="asymmetric">asymmetric</option>
-      <option value="none">none</option>
+      <param name="epsilon" argument="-svm:epsilon" type="float" optional="true" min="0.0" value="0.001" label="Stopping criterion" help=""/>
+      <param name="cache_size" argument="-svm:cache_size" type="float" optional="true" min="1.0" value="100.0" label="Size of the kernel cache (in MB)" help=""/>
+      <param name="no_shrinking" argument="-svm:no_shrinking" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Disable the shrinking heuristics" help=""/>
+      <param name="predictors" argument="-svm:predictors" type="text" optional="true" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score" label="Names of OpenSWATH scores to use as predictors for the SVM (comma-separated list)" help="">
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="min_prob" argument="-svm:min_prob" type="float" optional="true" min="0.0" max="1.0" value="0.0" label="Minimum probability of correctness, as predicted by the SVM, required to retain a feature candidate" help=""/>
+    </section>
+    <section name="model" title="Parameters for fitting elution models to features" help="" expanded="false">
+      <param name="type" argument="-model:type" display="radio" type="select" optional="false" label="Type of elution model to fit to features" help="">
+        <option value="symmetric" selected="true">symmetric</option>
+        <option value="asymmetric">asymmetric</option>
+        <option value="none">none</option>
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="add_zeros" argument="-model:add_zeros" type="float" optional="true" min="0.0" value="0.2" label="Add zero-intensity points outside the feature range to constrain the model fit" help="This parameter sets the weight given to these points during model fitting; '0' to disable"/>
+      <param name="unweighted_fit" argument="-model:unweighted_fit" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Suppress weighting of mass traces according to theoretical intensities when fitting elution models" help=""/>
+      <param name="no_imputation" argument="-model:no_imputation" type="boolean" truevalue="true" falsevalue="false" checked="false" label="If fitting the elution model fails for a feature, set its intensity to zero instead of imputing a value from the initial intensity estimate" help=""/>
+      <section name="check" title="Parameters for checking the validity of elution models (and rejecting them if necessary)" help="" expanded="false">
+        <param name="min_area" argument="-model:check:min_area" type="float" optional="true" min="0.0" value="1.0" label="Lower bound for the area under the curve of a valid elution model" help=""/>
+        <param name="boundaries" argument="-model:check:boundaries" type="float" optional="true" min="0.0" max="1.0" value="0.5" label="Time points corresponding to this fraction of the elution model height have to be within the data region used for model fitting" help=""/>
+        <param name="width" argument="-model:check:width" type="float" optional="true" min="0.0" value="10.0" label="Upper limit for acceptable widths of elution models (Gaussian or EGH), expressed in terms of modified (median-based) z-scores; '0' to disable" help=""/>
+        <param name="asymmetry" argument="-model:check:asymmetry" type="float" optional="true" min="0.0" value="10.0" label="Upper limit for acceptable asymmetry of elution models (EGH only), expressed in terms of modified (median-based) z-scores; '0' to disable" help=""/>
+      </section>
+    </section>
+    <expand macro="adv_opts_macro">
+      <param name="candidates_in" argument="-candidates_in" type="data" format="featurexml" optional="true" label="Input file: Feature candidates from a previous run" help="If set, only feature classification and elution model fitting are carried out, if enabled. Many parameters are ignored select featurexml data sets(s)"/>
+      <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="lib_out_FLAG">lib_out (Upper limit for acceptable asymmetry of elution models (EGH only), expressed in terms of modified (median-based) z-scores; '0' to disable)</option>
+      <option value="chrom_out_FLAG">chrom_out (Upper limit for acceptable asymmetry of elution models (EGH only), expressed in terms of modified (median-based) z-scores; '0' to disable)</option>
+      <option value="candidates_out_FLAG">candidates_out (Upper limit for acceptable asymmetry of elution models (EGH only), expressed in terms of modified (median-based) z-scores; '0' to disable)</option>
+      <option value="xval_out_FLAG">xval_out (Upper limit for acceptable asymmetry of elution models (EGH only), expressed in terms of modified (median-based) z-scores; '0' to disable)</option>
+      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
     </param>
-    <expand macro="advanced_options">
-      <param name="param_candidates_in" type="data" format="featurexml" optional="True" label="Input file: Feature candidates from a previous run" help="(-candidates_in) If set, only feature classification and elution model fitting are carried out, if enabled. Many parameters are ignored"/>
-      <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_extract_isotope_pmin" type="float" min="0.0" max="1.0" optional="True" value="0.0" label="Minimum probability for an isotope to be included in the assay for a peptide" help="(-isotope_pmin) If set, this parameter takes precedence over 'extract:n_isotopes'"/>
-      <param name="param_extract_rt_quantile" type="float" min="0.0" max="1.0" optional="True" value="0.95" label="Quantile of the RT deviations between aligned internal and external IDs to use for scaling the RT extraction window" help="(-rt_quantile) "/>
-      <param name="param_extract_rt_window" type="float" min="0.0" optional="True" value="0.0" label="RT window size (in sec.) for chromatogram extraction" help="(-rt_window) If set, this parameter takes precedence over 'extract:rt_quantile'"/>
-      <param name="param_detect_min_peak_width" type="float" min="0.0" optional="True" value="0.2" label="Minimum elution peak width" help="(-min_peak_width) Absolute value in seconds if 1 or greater, else relative to 'peak_width'"/>
-      <param name="param_detect_signal_to_noise" type="float" min="0.1" optional="True" value="0.8" label="Signal-to-noise threshold for OpenSWATH feature detection" help="(-signal_to_noise) "/>
-      <param name="param_svm_epsilon" type="float" min="0.0" optional="True" value="0.001" label="Stopping criterion" help="(-epsilon) "/>
-      <param name="param_svm_cache_size" type="float" min="1.0" optional="True" value="100.0" label="Size of the kernel cache (in MB)" help="(-cache_size) "/>
-      <param name="param_svm_no_shrinking" display="radio" type="boolean" truevalue="-svm:no_shrinking" falsevalue="" checked="false" optional="True" label="Disable the shrinking heuristics" help="(-no_shrinking) "/>
-      <param name="param_svm_predictors" type="text" size="30" value="peak_apices_sum,var_xcorr_coelution,var_xcorr_shape,var_library_sangle,var_intensity_score,sn_ratio,var_log_sn_score,var_elution_model_fit_score,xx_lda_prelim_score,var_isotope_correlation_score,var_isotope_overlap_score,var_massdev_score,main_var_xx_swath_prelim_score" label="Names of OpenSWATH scores to use as predictors for the SVM (comma-separated list)" help="(-predictors) ">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
-      </param>
-      <param name="param_svm_min_prob" type="float" min="0.0" max="1.0" optional="True" value="0.0" label="Minimum probability of correctness, as predicted by the SVM, required to retain a feature candidate" help="(-min_prob) "/>
-      <param name="param_model_add_zeros" type="float" min="0.0" optional="True" value="0.2" label="Add zero-intensity points outside the feature range to constrain the model fit" help="(-add_zeros) This parameter sets the weight given to these points during model fitting; '0' to disable"/>
-      <param name="param_model_unweighted_fit" display="radio" type="boolean" truevalue="-model:unweighted_fit" falsevalue="" checked="false" optional="True" label="Suppress weighting of mass traces according to theoretical intensities when fitting elution models" help="(-unweighted_fit) "/>
-      <param name="param_model_no_imputation" display="radio" type="boolean" truevalue="-model:no_imputation" falsevalue="" checked="false" optional="True" label="If fitting the elution model fails for a feature, set its intensity to zero instead of imputing a value from the initial intensity estimate" help="(-no_imputation) "/>
-      <param name="param_model_check_min_area" type="float" min="0.0" optional="True" value="1.0" label="Lower bound for the area under the curve of a valid elution model" help="(-min_area) "/>
-      <param name="param_model_check_boundaries" type="float" min="0.0" max="1.0" optional="True" value="0.5" label="Time points corresponding to this fraction of the elution model height have to be within the data region used for model fitting" help="(-boundaries) "/>
-      <param name="param_model_check_width" type="float" min="0.0" optional="True" value="10.0" label="Upper limit for acceptable widths of elution models (Gaussian or EGH), expressed in terms of modified (median-based) z-scores; '0' to disable" help="(-width) "/>
-      <param name="param_model_check_asymmetry" type="float" min="0.0" optional="True" value="10.0" label="Upper limit for acceptable asymmetry of elution models (EGH only), expressed in terms of modified (median-based) z-scores; '0' to disable" help="(-asymmetry) "/>
-    </expand>
   </inputs>
   <outputs>
-    <data name="param_out" format="featurexml"/>
-    <data name="param_lib_out" format="traml"/>
-    <data name="param_chrom_out" format="mzml"/>
-    <data name="param_candidates_out" format="featurexml"/>
-    <data name="param_svm_xval_out" format="tabular"/>
+    <data name="out" label="${tool.name} on ${on_string}: out" format="featurexml"/>
+    <data name="lib_out" label="${tool.name} on ${on_string}: lib_out" format="traml">
+      <filter>OPTIONAL_OUTPUTS is not None and "lib_out_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
+    <data name="chrom_out" label="${tool.name} on ${on_string}: chrom_out" format="mzml">
+      <filter>OPTIONAL_OUTPUTS is not None and "chrom_out_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
+    <data name="candidates_out" label="${tool.name} on ${on_string}: candidates_out" format="featurexml">
+      <filter>OPTIONAL_OUTPUTS is not None and "candidates_out_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
+    <data name="svm_xval_out" label="${tool.name} on ${on_string}: svm:xval_out" format="csv">
+      <filter>OPTIONAL_OUTPUTS is not None and "xval_out_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 features in MS1 data based on peptide identifications.
+  <tests>
+    <expand macro="autotest_FeatureFinderIdentification"/>
+    <expand macro="manutest_FeatureFinderIdentification"/>
+  </tests>
+  <help><![CDATA[Detects features in MS1 data based on peptide identifications.
 
 
-For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.3.0/html/TOPP_FeatureFinderIdentification.html</help>
+For more information, visit http://www.openms.de/documentation/TOPP_FeatureFinderIdentification.html]]></help>
+  <expand macro="references"/>
 </tool>