diff PrecursorIonSelector.xml @ 9:faac17171cc2 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:23 +0000
parents de49246e559a
children fa7a58de2977
line wrap: on
line diff
--- a/PrecursorIonSelector.xml	Fri May 17 10:00:07 2019 -0400
+++ b/PrecursorIonSelector.xml	Thu Sep 03 16:17:23 2020 +0000
@@ -1,356 +1,239 @@
 <?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: [Targeted Experiments]-->
-<tool id="PrecursorIonSelector" name="PrecursorIonSelector" version="2.3.0">
+<tool id="PrecursorIonSelector" name="PrecursorIonSelector" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>PrecursorIonSelector</description>
   <macros>
     <token name="@EXECUTABLE@">PrecursorIonSelector</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[PrecursorIonSelector
+  <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 "next_feat_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir next_feat &&
 #end if
-#if $param_out:
-  -out $param_out
+mkdir ids &&
+ln -s '$ids' 'ids/${re.sub("[^\w\-_]", "_", $ids.element_identifier)}.$gxy2omsext($ids.ext)' &&
+#if $raw_data:
+  mkdir raw_data &&
+  ln -s '$raw_data' 'raw_data/${re.sub("[^\w\-_]", "_", $raw_data.element_identifier)}.$gxy2omsext($raw_data.ext)' &&
 #end if
-#if $param_next_feat:
-  -next_feat $param_next_feat
+#if "sim_results_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir sim_results &&
 #end if
-#if $param_ids:
-  -ids $param_ids
+#if $db_path:
+  mkdir db_path &&
+  ln -s '$db_path' 'db_path/${re.sub("[^\w\-_]", "_", $db_path.element_identifier)}.$gxy2omsext($db_path.ext)' &&
 #end if
-#if $param_num_precursors:
-  -num_precursors $param_num_precursors
+#if $rt_model:
+  mkdir rt_model &&
+  ln -s '$rt_model' 'rt_model/${re.sub("[^\w\-_]", "_", $rt_model.element_identifier)}.$gxy2omsext($rt_model.ext)' &&
+#end if
+#if $dt_model:
+  mkdir dt_model &&
+  ln -s '$dt_model' 'dt_model/${re.sub("[^\w\-_]", "_", $dt_model.element_identifier)}.$gxy2omsext($dt_model.ext)' &&
 #end if
-#if $param_raw_data:
-  -raw_data $param_raw_data
-#end if
-#if $param_load_preprocessing:
-  -load_preprocessing
+
+## 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)'
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -out
+  'out/output.${gxy2omsext("featurexml")}'
 #end if
-#if $param_store_preprocessing:
-  -store_preprocessing
-#end if
-#if $param_simulation:
-  -simulation
+#if "next_feat_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -next_feat
+  'next_feat/output.${gxy2omsext("featurexml")}'
 #end if
-#if $param_sim_results:
-  -sim_results     "$param_sim_results"
+-ids
+'ids/${re.sub("[^\w\-_]", "_", $ids.element_identifier)}.$gxy2omsext($ids.ext)'
+#if $raw_data:
+  -raw_data
+  'raw_data/${re.sub("[^\w\-_]", "_", $raw_data.element_identifier)}.$gxy2omsext($raw_data.ext)'
 #end if
-#if $param_db_path:
-  -db_path $param_db_path
+#if "sim_results_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -sim_results
+  'sim_results/output.${gxy2omsext("txt")}'
 #end if
-#if $param_rt_model:
-  -rt_model     "$param_rt_model"
+#if $db_path:
+  -db_path
+  'db_path/${re.sub("[^\w\-_]", "_", $db_path.element_identifier)}.$gxy2omsext($db_path.ext)'
 #end if
-#if $param_dt_model:
-  -dt_model     "$param_dt_model"
+#if $rt_model:
+  -rt_model
+  'rt_model/${re.sub("[^\w\-_]", "_", $rt_model.element_identifier)}.$gxy2omsext($rt_model.ext)'
+#end if
+#if $dt_model:
+  -dt_model
+  'dt_model/${re.sub("[^\w\-_]", "_", $dt_model.element_identifier)}.$gxy2omsext($dt_model.ext)'
+#end if
+#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
+  | tee '$stdout'
 #end if
 
-#if $rep_param_fixed_modifications:
--fixed_modifications
-  #for token in $rep_param_fixed_modifications:
-    #if " " in str(token):
-      "$token.param_fixed_modifications"
-    #else
-      $token.param_fixed_modifications
-    #end if
-  #end for
-#end if
-#if $param_algorithm_type:
-  -algorithm:type
-  #if " " in str($param_algorithm_type):
-    "$param_algorithm_type"
-  #else
-    $param_algorithm_type
-  #end if
-#end if
-#if $param_algorithm_max_iteration:
-  -algorithm:max_iteration $param_algorithm_max_iteration
-#end if
-#if $param_algorithm_rt_bin_capacity:
-  -algorithm:rt_bin_capacity $param_algorithm_rt_bin_capacity
-#end if
-#if $param_algorithm_step_size:
-  -algorithm:step_size $param_algorithm_step_size
-#end if
-#if $param_algorithm_peptide_min_prob:
-  -algorithm:peptide_min_prob $param_algorithm_peptide_min_prob
-#end if
-#if $param_algorithm_sequential_spectrum_order:
-  -algorithm:sequential_spectrum_order
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_min_protein_probability:
-  -algorithm:MIPFormulation:thresholds:min_protein_probability $param_algorithm_MIPFormulation_thresholds_min_protein_probability
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_min_protein_id_probability:
-  -algorithm:MIPFormulation:thresholds:min_protein_id_probability $param_algorithm_MIPFormulation_thresholds_min_protein_id_probability
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_min_pt_weight:
-  -algorithm:MIPFormulation:thresholds:min_pt_weight $param_algorithm_MIPFormulation_thresholds_min_pt_weight
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_min_mz:
-  -algorithm:MIPFormulation:thresholds:min_mz $param_algorithm_MIPFormulation_thresholds_min_mz
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_max_mz:
-  -algorithm:MIPFormulation:thresholds:max_mz $param_algorithm_MIPFormulation_thresholds_max_mz
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_min_pred_pep_prob:
-  -algorithm:MIPFormulation:thresholds:min_pred_pep_prob $param_algorithm_MIPFormulation_thresholds_min_pred_pep_prob
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_min_rt_weight:
-  -algorithm:MIPFormulation:thresholds:min_rt_weight $param_algorithm_MIPFormulation_thresholds_min_rt_weight
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_use_peptide_rule:
-  -algorithm:MIPFormulation:thresholds:use_peptide_rule
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_min_peptide_ids:
-  -algorithm:MIPFormulation:thresholds:min_peptide_ids $param_algorithm_MIPFormulation_thresholds_min_peptide_ids
-#end if
-#if $param_algorithm_MIPFormulation_thresholds_min_peptide_probability:
-  -algorithm:MIPFormulation:thresholds:min_peptide_probability $param_algorithm_MIPFormulation_thresholds_min_peptide_probability
-#end if
-#if $param_algorithm_MIPFormulation_combined_ilp_k1:
-  -algorithm:MIPFormulation:combined_ilp:k1 $param_algorithm_MIPFormulation_combined_ilp_k1
+## Postprocessing
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'out/output.${gxy2omsext("featurexml")}' '$out'
 #end if
-#if $param_algorithm_MIPFormulation_combined_ilp_k2:
-  -algorithm:MIPFormulation:combined_ilp:k2 $param_algorithm_MIPFormulation_combined_ilp_k2
-#end if
-#if $param_algorithm_MIPFormulation_combined_ilp_k3:
-  -algorithm:MIPFormulation:combined_ilp:k3 $param_algorithm_MIPFormulation_combined_ilp_k3
-#end if
-#if $param_algorithm_MIPFormulation_combined_ilp_scale_matching_probs:
-  -algorithm:MIPFormulation:combined_ilp:scale_matching_probs
-  #if " " in str($param_algorithm_MIPFormulation_combined_ilp_scale_matching_probs):
-    "$param_algorithm_MIPFormulation_combined_ilp_scale_matching_probs"
-  #else
-    $param_algorithm_MIPFormulation_combined_ilp_scale_matching_probs
-  #end if
-#end if
-#if $param_algorithm_MIPFormulation_feature_based_no_intensity_normalization:
-  -algorithm:MIPFormulation:feature_based:no_intensity_normalization
-#end if
-#if $param_algorithm_MIPFormulation_feature_based_max_number_precursors_per_feature:
-  -algorithm:MIPFormulation:feature_based:max_number_precursors_per_feature $param_algorithm_MIPFormulation_feature_based_max_number_precursors_per_feature
-#end if
-#if $param_algorithm_Preprocessing_precursor_mass_tolerance:
-  -algorithm:Preprocessing:precursor_mass_tolerance $param_algorithm_Preprocessing_precursor_mass_tolerance
-#end if
-#if $param_algorithm_Preprocessing_precursor_mass_tolerance_unit:
-  -algorithm:Preprocessing:precursor_mass_tolerance_unit
-  #if " " in str($param_algorithm_Preprocessing_precursor_mass_tolerance_unit):
-    "$param_algorithm_Preprocessing_precursor_mass_tolerance_unit"
-  #else
-    $param_algorithm_Preprocessing_precursor_mass_tolerance_unit
-  #end if
-#end if
-#if $param_algorithm_Preprocessing_preprocessed_db_path:
-  -algorithm:Preprocessing:preprocessed_db_path     "$param_algorithm_Preprocessing_preprocessed_db_path"
+#if "next_feat_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'next_feat/output.${gxy2omsext("featurexml")}' '$next_feat'
 #end if
-#if $param_algorithm_Preprocessing_preprocessed_db_pred_rt_path:
-  -algorithm:Preprocessing:preprocessed_db_pred_rt_path     "$param_algorithm_Preprocessing_preprocessed_db_pred_rt_path"
-#end if
-#if $param_algorithm_Preprocessing_preprocessed_db_pred_dt_path:
-  -algorithm:Preprocessing:preprocessed_db_pred_dt_path     "$param_algorithm_Preprocessing_preprocessed_db_pred_dt_path"
-#end if
-#if $param_algorithm_Preprocessing_max_peptides_per_run:
-  -algorithm:Preprocessing:max_peptides_per_run $param_algorithm_Preprocessing_max_peptides_per_run
-#end if
-#if $param_algorithm_Preprocessing_missed_cleavages:
-  -algorithm:Preprocessing:missed_cleavages $param_algorithm_Preprocessing_missed_cleavages
-#end if
-#if $param_algorithm_Preprocessing_taxonomy:
-  -algorithm:Preprocessing:taxonomy     "$param_algorithm_Preprocessing_taxonomy"
-#end if
-#if $param_algorithm_Preprocessing_tmp_dir:
-  -algorithm:Preprocessing:tmp_dir     "$param_algorithm_Preprocessing_tmp_dir"
-#end if
-#if $param_algorithm_Preprocessing_store_peptide_sequences:
-  -algorithm:Preprocessing:store_peptide_sequences     "$param_algorithm_Preprocessing_store_peptide_sequences"
-#end if
-#if $param_algorithm_Preprocessing_rt_settings_min_rt:
-  -algorithm:Preprocessing:rt_settings:min_rt $param_algorithm_Preprocessing_rt_settings_min_rt
-#end if
-#if $param_algorithm_Preprocessing_rt_settings_max_rt:
-  -algorithm:Preprocessing:rt_settings:max_rt $param_algorithm_Preprocessing_rt_settings_max_rt
-#end if
-#if $param_algorithm_Preprocessing_rt_settings_rt_step_size:
-  -algorithm:Preprocessing:rt_settings:rt_step_size $param_algorithm_Preprocessing_rt_settings_rt_step_size
-#end if
-#if $param_algorithm_Preprocessing_rt_settings_gauss_mean:
-  -algorithm:Preprocessing:rt_settings:gauss_mean $param_algorithm_Preprocessing_rt_settings_gauss_mean
-#end if
-#if $param_algorithm_Preprocessing_rt_settings_gauss_sigma:
-  -algorithm:Preprocessing:rt_settings:gauss_sigma $param_algorithm_Preprocessing_rt_settings_gauss_sigma
+#if "sim_results_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  && mv 'sim_results/output.${gxy2omsext("txt")}' '$sim_results'
 #end if
-#if $adv_opts.adv_opts_selector=='advanced':
-    #if $adv_opts.param_solver:
-  -solver
-  #if " " in str($adv_opts.param_solver):
-    "$adv_opts.param_solver"
-  #else
-    $adv_opts.param_solver
-  #end if
-#end if
-    #if $adv_opts.param_force:
-  -force
-#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="featurexml" optional="False" label="Input feature map file (featureXML)" help="(-in) "/>
-    <param name="param_ids" type="data" format="idxml" optional="False" label="file containing results of identification" help="(-ids) "/>
-    <param name="param_num_precursors" type="integer" value="1" label="number of precursors to be selected" help="(-num_precursors) "/>
-    <param name="param_raw_data" type="data" format="mzml" optional="True" label="Input profile data" help="(-raw_data) "/>
-    <param name="param_load_preprocessing" display="radio" type="boolean" truevalue="-load_preprocessing" falsevalue="" checked="false" optional="True" label="The preprocessed db is loaded from file, not calculated" help="(-load_preprocessing) "/>
-    <param name="param_store_preprocessing" display="radio" type="boolean" truevalue="-store_preprocessing" falsevalue="" checked="false" optional="True" label="The preprocessed db is stored" help="(-store_preprocessing) "/>
-    <param name="param_simulation" display="radio" type="boolean" truevalue="-simulation" falsevalue="" checked="false" optional="True" label="Simulate the whole LC-MS/MS run" help="(-simulation) "/>
-    <param name="param_sim_results" type="text" size="30" label="File containing the results of the simulation run" help="(-sim_results) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_db_path" type="data" format="fasta" optional="True" label="db file" help="(-db_path) "/>
-    <param name="param_rt_model" type="text" size="30" label="SVM Model for RTPredict" help="(-rt_model) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_dt_model" type="text" size="30" label="SVM Model for PTPredict" help="(-dt_model) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <repeat name="rep_param_fixed_modifications" min="0" title="param_fixed_modifications">
-      <param name="param_fixed_modifications" type="text" size="30" label="the modifications i.e. Carboxymethyl (C)" help="(-fixed_modifications) ">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
-      </param>
-    </repeat>
-    <param name="param_algorithm_type" type="select" optional="False" value="IPS" label="Strategy for precursor ion selection" help="(-type) ">
-      <option value="ILP_IPS">ILP_IPS</option>
-      <option value="IPS" selected="true">IPS</option>
-      <option value="SPS">SPS</option>
-      <option value="Upshift">Upshift</option>
-      <option value="Downshift">Downshift</option>
-      <option value="DEX">DEX</option>
+    <param name="in" argument="-in" type="data" format="featurexml" optional="false" label="Input feature map file (featureXML)" help=" select featurexml data sets(s)"/>
+    <param name="ids" argument="-ids" type="data" format="idxml" optional="false" label="file containing results of identification" help=" select idxml data sets(s)"/>
+    <param name="num_precursors" argument="-num_precursors" type="integer" optional="true" value="1" label="number of precursors to be selected" help=""/>
+    <param name="raw_data" argument="-raw_data" type="data" format="mzml" optional="true" label="Input profile data" help=" select mzml data sets(s)"/>
+    <param name="load_preprocessing" argument="-load_preprocessing" type="boolean" truevalue="true" falsevalue="false" checked="false" label="The preprocessed db is loaded from file, not calculated" help=""/>
+    <param name="store_preprocessing" argument="-store_preprocessing" type="boolean" truevalue="true" falsevalue="false" checked="false" label="The preprocessed db is stored" help=""/>
+    <param name="simulation" argument="-simulation" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Simulate the whole LC-MS/MS run" help=""/>
+    <param name="db_path" argument="-db_path" type="data" format="fasta" optional="true" label="db file" help=" select fasta data sets(s)"/>
+    <param name="rt_model" argument="-rt_model" type="data" format="txt" optional="true" label="SVM Model for RTPredict" help=" select txt data sets(s)"/>
+    <param name="dt_model" argument="-dt_model" type="data" format="txt" optional="true" label="SVM Model for PTPredict" help=" select txt data sets(s)"/>
+    <param name="fixed_modifications" argument="-fixed_modifications" type="text" optional="true" value="" label="the modifications i.e. Carboxymethyl (C)" help=" (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+      <expand macro="list_string_val"/>
+      <expand macro="list_string_san"/>
     </param>
-    <param name="param_algorithm_max_iteration" type="integer" min="1" optional="True" value="100" label="Maximal number of iterations" help="(-max_iteration) "/>
-    <param name="param_algorithm_rt_bin_capacity" type="integer" min="1" optional="True" value="10" label="Maximal number of precursors per rt bin" help="(-rt_bin_capacity) "/>
-    <param name="param_algorithm_step_size" type="integer" min="1" optional="True" value="1" label="Maximal number of precursors per iteration" help="(-step_size) "/>
-    <param name="param_algorithm_peptide_min_prob" type="float" value="0.2" label="Minimal peptide probability" help="(-peptide_min_prob) "/>
-    <param name="param_algorithm_sequential_spectrum_order" display="radio" type="boolean" truevalue="-algorithm:sequential_spectrum_order" falsevalue="" checked="false" optional="True" label="If true, precursors are selected sequentially with respect to their RT" help="(-sequential_spectrum_order) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_min_protein_probability" type="float" min="0.0" max="1.0" optional="True" value="0.2" label="Minimal protein probability for a protein to be considered in the ILP" help="(-min_protein_probability) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_min_protein_id_probability" type="float" min="0.0" max="1.0" optional="True" value="0.95" label="Minimal protein probability for a protein to be considered identified" help="(-min_protein_id_probability) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_min_pt_weight" type="float" min="0.0" max="1.0" optional="True" value="0.5" label="Minimal pt weight of a precurso" help="(-min_pt_weight) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_min_mz" type="float" min="0.0" optional="True" value="500.0" label="Minimal mz to be considered in protein based LP formulation" help="(-min_mz) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_max_mz" type="float" min="0.0" optional="True" value="5000.0" label="Minimal mz to be considered in protein based LP formulation" help="(-max_mz) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_min_pred_pep_prob" type="float" min="0.0" max="1.0" optional="True" value="0.5" label="Minimal predicted peptide probability of a precurso" help="(-min_pred_pep_prob) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_min_rt_weight" type="float" min="0.0" max="1.0" optional="True" value="0.5" label="Minimal rt weight of a precurso" help="(-min_rt_weight) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_use_peptide_rule" display="radio" type="boolean" truevalue="-algorithm:MIPFormulation:thresholds:use_peptide_rule" falsevalue="" checked="false" optional="True" label="Use peptide rule instead of minimal protein id probability" help="(-use_peptide_rule) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_min_peptide_ids" type="integer" min="1" optional="True" value="2" label="If use_peptide_rule is true, this parameter sets the minimal number of peptide ids for a protein id" help="(-min_peptide_ids) "/>
-    <param name="param_algorithm_MIPFormulation_thresholds_min_peptide_probability" type="float" min="0.0" max="1.0" optional="True" value="0.95" label="If use_peptide_rule is true, this parameter sets the minimal probability for a peptide to be safely identified" help="(-min_peptide_probability) "/>
-    <param name="param_algorithm_MIPFormulation_combined_ilp_k1" type="float" min="0.0" optional="True" value="0.2" label="combined ilp: weight for z_i" help="(-k1) "/>
-    <param name="param_algorithm_MIPFormulation_combined_ilp_k2" type="float" min="0.0" optional="True" value="0.2" label="combined ilp: weight for x_j,s*int_j,s" help="(-k2) "/>
-    <param name="param_algorithm_MIPFormulation_combined_ilp_k3" type="float" min="0.0" optional="True" value="0.4" label="combined ilp: weight for -x_j,s*w_j,s" help="(-k3) "/>
-    <param name="param_algorithm_MIPFormulation_combined_ilp_scale_matching_probs" display="radio" type="select" optional="False" value="true" label="flag if detectability * rt_weight shall be scaled to cover all [0,1]" help="(-scale_matching_probs) ">
-      <option value="true" selected="true">true</option>
-      <option value="false">false</option>
-    </param>
-    <param name="param_algorithm_MIPFormulation_feature_based_no_intensity_normalization" display="radio" type="boolean" truevalue="-algorithm:MIPFormulation:feature_based:no_intensity_normalization" falsevalue="" checked="false" optional="True" label="Flag indicating if intensities shall be scaled to be in [0,1]" help="(-no_intensity_normalization) This is done for each feature separately, so that the feature's maximal intensity in a spectrum is set to 1"/>
-    <param name="param_algorithm_MIPFormulation_feature_based_max_number_precursors_per_feature" type="integer" min="1" optional="True" value="1" label="The maximal number of precursors per feature" help="(-max_number_precursors_per_feature) "/>
-    <param name="param_algorithm_Preprocessing_precursor_mass_tolerance" type="float" min="0.0" optional="True" value="10.0" label="Precursor mass tolerance which is used to query the peptide database for peptides" help="(-precursor_mass_tolerance) "/>
-    <param name="param_algorithm_Preprocessing_precursor_mass_tolerance_unit" display="radio" type="select" optional="False" value="ppm" label="Precursor mass tolerance unit" help="(-precursor_mass_tolerance_unit) ">
-      <option value="ppm" selected="true">ppm</option>
-      <option value="Da">Da</option>
-    </param>
-    <param name="param_algorithm_Preprocessing_preprocessed_db_path" type="text" size="30" label="Path where the preprocessed database should be stored" help="(-preprocessed_db_path) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_algorithm_Preprocessing_preprocessed_db_pred_rt_path" type="text" size="30" label="Path where the predicted rts of the preprocessed database should be stored" help="(-preprocessed_db_pred_rt_path) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_algorithm_Preprocessing_preprocessed_db_pred_dt_path" type="text" size="30" label="Path where the predicted rts of the preprocessed database should be stored" help="(-preprocessed_db_pred_dt_path) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_algorithm_Preprocessing_max_peptides_per_run" type="integer" min="1" optional="True" value="100000" label="Number of peptides for that the pt and rt are parallely predicted" help="(-max_peptides_per_run) "/>
-    <param name="param_algorithm_Preprocessing_missed_cleavages" type="integer" min="0" optional="True" value="1" label="Number of allowed missed cleavages" help="(-missed_cleavages) "/>
-    <param name="param_algorithm_Preprocessing_taxonomy" type="text" size="30" label="Taxonomy" help="(-taxonomy) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_algorithm_Preprocessing_tmp_dir" type="text" size="30" label="Absolute path to tmp data directory used to store files needed for rt and dt prediction" help="(-tmp_dir) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_algorithm_Preprocessing_store_peptide_sequences" type="text" size="30" value="false" label="Flag if peptide sequences should be stored" help="(-store_peptide_sequences) ">
-      <sanitizer>
-        <valid initial="string.printable">
-          <remove value="'"/>
-          <remove value="&quot;"/>
-        </valid>
-      </sanitizer>
-    </param>
-    <param name="param_algorithm_Preprocessing_rt_settings_min_rt" type="float" min="1.0" optional="True" value="960.0" label="Minimal RT in the experiment (in seconds)" help="(-min_rt) "/>
-    <param name="param_algorithm_Preprocessing_rt_settings_max_rt" type="float" value="3840.0" label="Maximal RT in the experiment (in seconds)" help="(-max_rt) "/>
-    <param name="param_algorithm_Preprocessing_rt_settings_rt_step_size" type="float" value="30.0" label="Time between two consecutive spectra (in seconds)" help="(-rt_step_size) "/>
-    <param name="param_algorithm_Preprocessing_rt_settings_gauss_mean" type="float" value="-1.0" label="mean of the gauss curve" help="(-gauss_mean) "/>
-    <param name="param_algorithm_Preprocessing_rt_settings_gauss_sigma" type="float" value="3.0" label="std of the gauss curve" help="(-gauss_sigma) "/>
-    <expand macro="advanced_options">
-      <param name="param_solver" display="radio" type="select" optional="False" value="GLPK" label="LP solver type" help="(-solver) ">
+    <section name="algorithm" title="Settings for the compound list creation and rescoring" help="" expanded="false">
+      <param name="type" argument="-algorithm:type" type="select" optional="false" label="Strategy for precursor ion selection" help="">
+        <option value="ILP_IPS">ILP_IPS</option>
+        <option value="IPS" selected="true">IPS</option>
+        <option value="SPS">SPS</option>
+        <option value="Upshift">Upshift</option>
+        <option value="Downshift">Downshift</option>
+        <option value="DEX">DEX</option>
+        <expand macro="list_string_san"/>
+      </param>
+      <param name="max_iteration" argument="-algorithm:max_iteration" type="integer" optional="true" min="1" value="100" label="Maximal number of iterations" help=""/>
+      <param name="rt_bin_capacity" argument="-algorithm:rt_bin_capacity" type="integer" optional="true" min="1" value="10" label="Maximal number of precursors per rt bin" help=""/>
+      <param name="step_size" argument="-algorithm:step_size" type="integer" optional="true" min="1" value="1" label="Maximal number of precursors per iteration" help=""/>
+      <param name="peptide_min_prob" argument="-algorithm:peptide_min_prob" type="float" optional="true" value="0.2" label="Minimal peptide probability" help=""/>
+      <param name="sequential_spectrum_order" argument="-algorithm:sequential_spectrum_order" type="boolean" truevalue="true" falsevalue="false" checked="false" label="If true, precursors are selected sequentially with respect to their RT" help=""/>
+      <section name="MIPFormulation" title="" help="" expanded="false">
+        <section name="thresholds" title="" help="" expanded="false">
+          <param name="min_protein_probability" argument="-algorithm:MIPFormulation:thresholds:min_protein_probability" type="float" optional="true" min="0.0" max="1.0" value="0.2" label="Minimal protein probability for a protein to be considered in the ILP" help=""/>
+          <param name="min_protein_id_probability" argument="-algorithm:MIPFormulation:thresholds:min_protein_id_probability" type="float" optional="true" min="0.0" max="1.0" value="0.95" label="Minimal protein probability for a protein to be considered identified" help=""/>
+          <param name="min_pt_weight" argument="-algorithm:MIPFormulation:thresholds:min_pt_weight" type="float" optional="true" min="0.0" max="1.0" value="0.5" label="Minimal pt weight of a precurso" help=""/>
+          <param name="min_mz" argument="-algorithm:MIPFormulation:thresholds:min_mz" type="float" optional="true" min="0.0" value="500.0" label="Minimal mz to be considered in protein based LP formulation" help=""/>
+          <param name="max_mz" argument="-algorithm:MIPFormulation:thresholds:max_mz" type="float" optional="true" min="0.0" value="5000.0" label="Minimal mz to be considered in protein based LP formulation" help=""/>
+          <param name="min_pred_pep_prob" argument="-algorithm:MIPFormulation:thresholds:min_pred_pep_prob" type="float" optional="true" min="0.0" max="1.0" value="0.5" label="Minimal predicted peptide probability of a precurso" help=""/>
+          <param name="min_rt_weight" argument="-algorithm:MIPFormulation:thresholds:min_rt_weight" type="float" optional="true" min="0.0" max="1.0" value="0.5" label="Minimal rt weight of a precurso" help=""/>
+          <param name="use_peptide_rule" argument="-algorithm:MIPFormulation:thresholds:use_peptide_rule" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use peptide rule instead of minimal protein id probability" help=""/>
+          <param name="min_peptide_ids" argument="-algorithm:MIPFormulation:thresholds:min_peptide_ids" type="integer" optional="true" min="1" value="2" label="If use_peptide_rule is true, this parameter sets the minimal number of peptide ids for a protein id" help=""/>
+          <param name="min_peptide_probability" argument="-algorithm:MIPFormulation:thresholds:min_peptide_probability" type="float" optional="true" min="0.0" max="1.0" value="0.95" label="If use_peptide_rule is true, this parameter sets the minimal probability for a peptide to be safely identified" help=""/>
+        </section>
+        <section name="combined_ilp" title="" help="" expanded="false">
+          <param name="k1" argument="-algorithm:MIPFormulation:combined_ilp:k1" type="float" optional="true" min="0.0" value="0.2" label="combined ilp: weight for z_i" help=""/>
+          <param name="k2" argument="-algorithm:MIPFormulation:combined_ilp:k2" type="float" optional="true" min="0.0" value="0.2" label="combined ilp: weight for x_j,s*int_j,s" help=""/>
+          <param name="k3" argument="-algorithm:MIPFormulation:combined_ilp:k3" type="float" optional="true" min="0.0" value="0.4" label="combined ilp: weight for -x_j,s*w_j,s" help=""/>
+          <param name="scale_matching_probs" argument="-algorithm:MIPFormulation:combined_ilp:scale_matching_probs" type="boolean" truevalue="true" falsevalue="false" checked="true" label="flag if detectability * rt_weight shall be scaled to cover all [0,1]" help=""/>
+        </section>
+        <section name="feature_based" title="" help="" expanded="false">
+          <param name="no_intensity_normalization" argument="-algorithm:MIPFormulation:feature_based:no_intensity_normalization" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Flag indicating if intensities shall be scaled to be in [0,1]" help="This is done for each feature separately, so that the feature's maximal intensity in a spectrum is set to 1"/>
+          <param name="max_number_precursors_per_feature" argument="-algorithm:MIPFormulation:feature_based:max_number_precursors_per_feature" type="integer" optional="true" min="1" value="1" label="The maximal number of precursors per feature" help=""/>
+        </section>
+      </section>
+      <section name="Preprocessing" title="" help="" expanded="false">
+        <param name="precursor_mass_tolerance" argument="-algorithm:Preprocessing:precursor_mass_tolerance" type="float" optional="true" min="0.0" value="10.0" label="Precursor mass tolerance which is used to query the peptide database for peptides" help=""/>
+        <param name="precursor_mass_tolerance_unit" argument="-algorithm:Preprocessing:precursor_mass_tolerance_unit" display="radio" type="select" optional="false" label="Precursor mass tolerance unit" help="">
+          <option value="ppm" selected="true">ppm</option>
+          <option value="Da">Da</option>
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="preprocessed_db_path" argument="-algorithm:Preprocessing:preprocessed_db_path" type="text" optional="true" value="" label="Path where the preprocessed database should be stored" help="">
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="preprocessed_db_pred_rt_path" argument="-algorithm:Preprocessing:preprocessed_db_pred_rt_path" type="text" optional="true" value="" label="Path where the predicted rts of the preprocessed database should be stored" help="">
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="preprocessed_db_pred_dt_path" argument="-algorithm:Preprocessing:preprocessed_db_pred_dt_path" type="text" optional="true" value="" label="Path where the predicted rts of the preprocessed database should be stored" help="">
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="max_peptides_per_run" argument="-algorithm:Preprocessing:max_peptides_per_run" type="integer" optional="true" min="1" value="100000" label="Number of peptides for that the pt and rt are parallely predicted" help=""/>
+        <param name="missed_cleavages" argument="-algorithm:Preprocessing:missed_cleavages" type="integer" optional="true" min="0" value="1" label="Number of allowed missed cleavages" help=""/>
+        <param name="taxonomy" argument="-algorithm:Preprocessing:taxonomy" type="text" optional="true" value="" label="Taxonomy" help="">
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="store_peptide_sequences" argument="-algorithm:Preprocessing:store_peptide_sequences" type="text" optional="true" value="false" label="Flag if peptide sequences should be stored" help="">
+          <expand macro="list_string_san"/>
+        </param>
+        <section name="rt_settings" title="" help="" expanded="false">
+          <param name="min_rt" argument="-algorithm:Preprocessing:rt_settings:min_rt" type="float" optional="true" min="1.0" value="960.0" label="Minimal RT in the experiment (in seconds)" help=""/>
+          <param name="max_rt" argument="-algorithm:Preprocessing:rt_settings:max_rt" type="float" optional="true" value="3840.0" label="Maximal RT in the experiment (in seconds)" help=""/>
+          <param name="rt_step_size" argument="-algorithm:Preprocessing:rt_settings:rt_step_size" type="float" optional="true" value="30.0" label="Time between two consecutive spectra (in seconds)" help=""/>
+          <param name="gauss_mean" argument="-algorithm:Preprocessing:rt_settings:gauss_mean" type="float" optional="true" value="-1.0" label="mean of the gauss curve" help=""/>
+          <param name="gauss_sigma" argument="-algorithm:Preprocessing:rt_settings:gauss_sigma" type="float" optional="true" value="3.0" label="std of the gauss curve" help=""/>
+        </section>
+      </section>
+    </section>
+    <expand macro="adv_opts_macro">
+      <param name="solver" argument="-solver" display="radio" type="select" optional="false" label="LP solver type" help="">
         <option value="GLPK" selected="true">GLPK</option>
         <option value="COINOR">COINOR</option>
+        <expand macro="list_string_san"/>
       </param>
-      <param name="param_force" display="radio" type="boolean" truevalue="-force" falsevalue="" checked="false" optional="True" label="Overwrite tool specific checks" help="(-force) "/>
+      <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 (std of the gauss curve)</option>
+      <option value="next_feat_FLAG">next_feat (std of the gauss curve)</option>
+      <option value="sim_results_FLAG">sim_results (std of the gauss curve)</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_next_feat" format="featurexml"/>
+    <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="next_feat" label="${tool.name} on ${on_string}: next_feat" format="featurexml">
+      <filter>OPTIONAL_OUTPUTS is not None and "next_feat_FLAG" in OPTIONAL_OUTPUTS</filter>
+    </data>
+    <data name="sim_results" label="${tool.name} on ${on_string}: sim_results" format="txt">
+      <filter>OPTIONAL_OUTPUTS is not None and "sim_results_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>PrecursorIonSelector
+  <tests>
+    <expand macro="autotest_PrecursorIonSelector"/>
+    <expand macro="manutest_PrecursorIonSelector"/>
+  </tests>
+  <help><![CDATA[PrecursorIonSelector
 
 
-For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.3.0/html/TOPP_PrecursorIonSelector.html</help>
+For more information, visit http://www.openms.de/documentation/TOPP_PrecursorIonSelector.html]]></help>
+  <expand macro="references"/>
 </tool>