diff PeakPickerHiRes.xml @ 8:146b59d2d3e5 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
author galaxyp
date Wed, 04 Nov 2020 13:04:26 +0000
parents 3d8d4ada5405
children 6b01678ec2fc
line wrap: on
line diff
--- a/PeakPickerHiRes.xml	Fri May 17 10:19:28 2019 -0400
+++ b/PeakPickerHiRes.xml	Wed Nov 04 13:04:26 2020 +0000
@@ -1,149 +1,104 @@
 <?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: [Signal processing and preprocessing]-->
-<tool id="PeakPickerHiRes" name="PeakPickerHiRes" version="2.3.0">
+<tool id="PeakPickerHiRes" name="PeakPickerHiRes" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>Finds mass spectrometric peaks in profile mass spectra.</description>
   <macros>
     <token name="@EXECUTABLE@">PeakPickerHiRes</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[PeakPickerHiRes
+  <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_algorithm_signal_to_noise:
-  -algorithm:signal_to_noise $param_algorithm_signal_to_noise
-#end if
+## Preprocessing
+mkdir in &&
+ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
+mkdir out &&
+
+## 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("mzml")}'
 
-#if $rep_param_algorithm_ms_levels:
--algorithm:ms_levels
-  #for token in $rep_param_algorithm_ms_levels:
-    #if " " in str(token):
-      "$token.param_algorithm_ms_levels"
-    #else
-      $token.param_algorithm_ms_levels
-    #end if
-  #end for
-#end if
-#if $param_algorithm_report_FWHM:
-  -algorithm:report_FWHM
-#end if
-#if $param_algorithm_report_FWHM_unit:
-  -algorithm:report_FWHM_unit
-  #if " " in str($param_algorithm_report_FWHM_unit):
-    "$param_algorithm_report_FWHM_unit"
-  #else
-    $param_algorithm_report_FWHM_unit
-  #end if
-#end if
-#if $param_algorithm_SignalToNoise_win_len:
-  -algorithm:SignalToNoise:win_len $param_algorithm_SignalToNoise_win_len
-#end if
-#if $param_algorithm_SignalToNoise_bin_count:
-  -algorithm:SignalToNoise:bin_count $param_algorithm_SignalToNoise_bin_count
-#end if
-#if $param_algorithm_SignalToNoise_min_required_elements:
-  -algorithm:SignalToNoise:min_required_elements $param_algorithm_SignalToNoise_min_required_elements
-#end if
-#if $param_algorithm_SignalToNoise_write_log_messages:
-  -algorithm:SignalToNoise:write_log_messages
-  #if " " in str($param_algorithm_SignalToNoise_write_log_messages):
-    "$param_algorithm_SignalToNoise_write_log_messages"
-  #else
-    $param_algorithm_SignalToNoise_write_log_messages
-  #end if
-#end if
-#if $adv_opts.adv_opts_selector=='advanced':
-    #if $adv_opts.param_processOption:
-  -processOption
-  #if " " in str($adv_opts.param_processOption):
-    "$adv_opts.param_processOption"
-  #else
-    $adv_opts.param_processOption
-  #end if
-#end if
-    #if $adv_opts.param_force:
-  -force
-#end if
-    #if $adv_opts.param_algorithm_spacing_difference_gap:
-  -algorithm:spacing_difference_gap $adv_opts.param_algorithm_spacing_difference_gap
-#end if
-    #if $adv_opts.param_algorithm_spacing_difference:
-  -algorithm:spacing_difference $adv_opts.param_algorithm_spacing_difference
-#end if
-    #if $adv_opts.param_algorithm_missing:
-  -algorithm:missing $adv_opts.param_algorithm_missing
-#end if
-    #if $adv_opts.param_algorithm_SignalToNoise_max_intensity:
-  -algorithm:SignalToNoise:max_intensity $adv_opts.param_algorithm_SignalToNoise_max_intensity
-#end if
-    #if $adv_opts.param_algorithm_SignalToNoise_auto_max_stdev_factor:
-  -algorithm:SignalToNoise:auto_max_stdev_factor $adv_opts.param_algorithm_SignalToNoise_auto_max_stdev_factor
-#end if
-    #if $adv_opts.param_algorithm_SignalToNoise_auto_max_percentile:
-  -algorithm:SignalToNoise:auto_max_percentile $adv_opts.param_algorithm_SignalToNoise_auto_max_percentile
-#end if
-    #if $adv_opts.param_algorithm_SignalToNoise_auto_mode:
-  -algorithm:SignalToNoise:auto_mode $adv_opts.param_algorithm_SignalToNoise_auto_mode
-#end if
-    #if $adv_opts.param_algorithm_SignalToNoise_noise_for_empty_window:
-  -algorithm:SignalToNoise:noise_for_empty_window $adv_opts.param_algorithm_SignalToNoise_noise_for_empty_window
-#end if
-#end if
-]]></command>
+## Postprocessing
+&& mv 'out/output.${gxy2omsext("mzml")}' '$out'
+#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 profile data file" help="(-in) "/>
-    <param name="param_algorithm_signal_to_noise" type="float" min="0.0" optional="True" value="0.0" label="Minimal signal-to-noise ratio for a peak to be picked (0.0 disables SNT estimation!)" help="(-signal_to_noise) "/>
-    <repeat name="rep_param_algorithm_ms_levels" min="0" max="1" title="param_algorithm_ms_levels">
-      <param name="param_algorithm_ms_levels" type="text" min="1" optional="True" size="30" value="1" label="List of MS levels for which the peak picking is applied" help="(-ms_levels) Other scans are copied to the output without changes">
-        <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 profile data file" help=" select mzml data sets(s)"/>
+    <section name="algorithm" title="Algorithm parameters section" help="" expanded="false">
+      <param name="signal_to_noise" argument="-algorithm:signal_to_noise" type="float" optional="true" min="0.0" value="0.0" label="Minimal signal-to-noise ratio for a peak to be picked (0.0 disables SNT estimation!)" help=""/>
+      <param name="spacing_difference_gap" argument="-algorithm:spacing_difference_gap" type="float" optional="true" min="0.0" value="4.0" label="The extension of a peak is stopped if the spacing between two subsequent data points exceeds 'spacing_difference_gap * min_spacing'" help="'min_spacing' is the smaller of the two spacings from the peak apex to its two neighboring points. '0' to disable the constraint. Not applicable to chromatograms"/>
+      <param name="spacing_difference" argument="-algorithm:spacing_difference" type="float" optional="true" min="0.0" value="1.5" label="Maximum allowed difference between points during peak extension, in multiples of the minimal difference between the peak apex and its two neighboring points" help="If this difference is exceeded a missing point is assumed (see parameter 'missing'). A higher value implies a less stringent peak definition, since individual signals within the peak are allowed to be further apart. '0' to disable the constraint. Not applicable to chromatograms"/>
+      <param name="missing" argument="-algorithm:missing" type="integer" optional="true" min="0" value="1" label="Maximum number of missing points allowed when extending a peak to the left or to the right" help="A missing data point occurs if the spacing between two subsequent data points exceeds 'spacing_difference * min_spacing'. 'min_spacing' is the smaller of the two spacings from the peak apex to its two neighboring points. Not applicable to chromatograms"/>
+      <param name="ms_levels" argument="-algorithm:ms_levels" type="text" optional="true" value="" label="List of MS levels for which the peak picking is applied" help="If empty, auto mode is enabled, all peaks which aren't picked yet will get picked. Other scans are copied to the output without changes (space separated list, in order to allow for spaces in list items surround them by single quotes)">
+        <expand macro="list_integer_valsan">
+          <validator type="expression" message="a space separated list of integer values in the range 1: is required"><![CDATA[len(value.split(' ')) == len([_ for _ in value.split(' ') if  1 <= int(_)])
+]]></validator>
+        </expand>
       </param>
-    </repeat>
-    <param name="param_algorithm_report_FWHM" display="radio" type="boolean" truevalue="-algorithm:report_FWHM" falsevalue="" checked="false" optional="True" label="Add metadata for FWHM (as floatDataArray named 'FWHM' or 'FWHM_ppm', depending on param 'report_FWHM_unit') for each picked peak" help="(-report_FWHM) "/>
-    <param name="param_algorithm_report_FWHM_unit" display="radio" type="select" optional="False" value="relative" label="Unit of FWHM. Either absolute in the unit of input," help="(-report_FWHM_unit) e.g. 'm/z' for spectra, or relative as ppm (only sensible for spectra, not chromatograms)">
-      <option value="relative" selected="true">relative</option>
-      <option value="absolute">absolute</option>
-    </param>
-    <param name="param_algorithm_SignalToNoise_win_len" type="float" min="1.0" optional="True" value="200.0" label="window length in Thomson" help="(-win_len) "/>
-    <param name="param_algorithm_SignalToNoise_bin_count" type="integer" min="3" optional="True" value="30" label="number of bins for intensity values" help="(-bin_count) "/>
-    <param name="param_algorithm_SignalToNoise_min_required_elements" type="integer" min="1" optional="True" value="10" label="minimum number of elements required in a window (otherwise it is considered sparse)" help="(-min_required_elements) "/>
-    <param name="param_algorithm_SignalToNoise_write_log_messages" display="radio" type="select" optional="False" value="true" label="Write out log messages in case of sparse windows or median in rightmost histogram bin" help="(-write_log_messages) ">
-      <option value="true" selected="true">true</option>
-      <option value="false">false</option>
-    </param>
-    <expand macro="advanced_options">
-      <param name="param_processOption" display="radio" type="select" optional="False" value="inmemory" label="Whether to load all data and process them in-memory or whether to process the data on the fly (lowmemory) without loading the whole file into memory first" help="(-processOption) ">
+      <param name="report_FWHM" argument="-algorithm:report_FWHM" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Add metadata for FWHM (as floatDataArray named 'FWHM' or 'FWHM_ppm', depending on param 'report_FWHM_unit') for each picked peak" help=""/>
+      <param name="report_FWHM_unit" argument="-algorithm:report_FWHM_unit" display="radio" type="select" optional="false" label="Unit of FWHM" help="Either absolute in the unit of input, e.g. 'm/z' for spectra, or relative as ppm (only sensible for spectra, not chromatograms)">
+        <option value="relative" selected="true">relative</option>
+        <option value="absolute">absolute</option>
+        <expand macro="list_string_san"/>
+      </param>
+      <section name="SignalToNoise" title="" help="" expanded="false">
+        <param name="max_intensity" argument="-algorithm:SignalToNoise:max_intensity" type="integer" optional="true" min="-1" value="-1" label="maximal intensity considered for histogram construction" help="By default, it will be calculated automatically (see auto_mode). Only provide this parameter if you know what you are doing (and change 'auto_mode' to '-1')! All intensities EQUAL/ABOVE 'max_intensity' will be added to the LAST histogram bin. If you choose 'max_intensity' too small, the noise estimate might be too small as well.  If chosen too big, the bins become quite large (which you could counter by increasing 'bin_count', which increases runtime). In general, the Median-S/N estimator is more robust to a manual max_intensity than the MeanIterative-S/N"/>
+        <param name="auto_max_stdev_factor" argument="-algorithm:SignalToNoise:auto_max_stdev_factor" type="float" optional="true" min="0.0" max="999.0" value="3.0" label="parameter for 'max_intensity' estimation (if 'auto_mode' == 0): mean + 'auto_max_stdev_factor' * stdev" help=""/>
+        <param name="auto_max_percentile" argument="-algorithm:SignalToNoise:auto_max_percentile" type="integer" optional="true" min="0" max="100" value="95" label="parameter for 'max_intensity' estimation (if 'auto_mode' == 1): auto_max_percentile th percentile" help=""/>
+        <param name="auto_mode" argument="-algorithm:SignalToNoise:auto_mode" type="integer" optional="true" min="-1" max="1" value="0" label="method to use to determine maximal intensity: -1 --&gt; use 'max_intensity'; 0 --&gt; 'auto_max_stdev_factor' method (default); 1 --&gt; 'auto_max_percentile' method" help=""/>
+        <param name="win_len" argument="-algorithm:SignalToNoise:win_len" type="float" optional="true" min="1.0" value="200.0" label="window length in Thomson" help=""/>
+        <param name="bin_count" argument="-algorithm:SignalToNoise:bin_count" type="integer" optional="true" min="3" value="30" label="number of bins for intensity values" help=""/>
+        <param name="min_required_elements" argument="-algorithm:SignalToNoise:min_required_elements" type="integer" optional="true" min="1" value="10" label="minimum number of elements required in a window (otherwise it is considered sparse)" help=""/>
+        <param name="noise_for_empty_window" argument="-algorithm:SignalToNoise:noise_for_empty_window" type="float" optional="true" value="1e+20" label="noise value used for sparse windows" help=""/>
+        <param name="write_log_messages" argument="-algorithm:SignalToNoise:write_log_messages" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Write out log messages in case of sparse windows or median in rightmost histogram bin" help=""/>
+      </section>
+    </section>
+    <expand macro="adv_opts_macro">
+      <param name="processOption" argument="-processOption" display="radio" type="select" optional="false" label="Whether to load all data and process them in-memory or whether to process the data on the fly (lowmemory) without loading the whole file into memory first" help="">
         <option value="inmemory" selected="true">inmemory</option>
         <option value="lowmemory">lowmemory</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="param_algorithm_spacing_difference_gap" type="float" min="0.0" optional="True" value="4.0" label="The extension of a peak is stopped if the spacing between two subsequent data points exceeds 'spacing_difference_gap * min_spacing'" help="(-spacing_difference_gap) 'min_spacing' is the smaller of the two spacings from the peak apex to its two neighboring points. '0' to disable the constraint. Not applicable to chromatograms"/>
-      <param name="param_algorithm_spacing_difference" type="float" min="0.0" optional="True" value="1.5" label="Maximum allowed difference between points during peak extension, in multiples of the minimal difference between the peak apex and its two neighboring points" help="(-spacing_difference) If this difference is exceeded a missing point is assumed (see parameter 'missing'). A higher value implies a less stringent peak definition, since individual signals within the peak are allowed to be further apart. '0' to disable the constraint. Not applicable to chromatograms"/>
-      <param name="param_algorithm_missing" type="integer" min="0" optional="True" value="1" label="Maximum number of missing points allowed when extending a peak to the left or to the right" help="(-missing) A missing data point occurs if the spacing between two subsequent data points exceeds 'spacing_difference * min_spacing'. 'min_spacing' is the smaller of the two spacings from the peak apex to its two neighboring points. Not applicable to chromatograms"/>
-      <param name="param_algorithm_SignalToNoise_max_intensity" type="integer" min="-1" optional="True" value="-1" label="maximal intensity considered for histogram construction" help="(-max_intensity) By default, it will be calculated automatically (see auto_mode). Only provide this parameter if you know what you are doing (and change 'auto_mode' to '-1')! All intensities EQUAL/ABOVE 'max_intensity' will be added to the LAST histogram bin. If you choose 'max_intensity' too small, the noise estimate might be too small as well.  If chosen too big, the bins become quite large (which you could counter by increasing 'bin_count', which increases runtime). In general, the Median-S/N estimator is more robust to a manual max_intensity than the MeanIterative-S/N"/>
-      <param name="param_algorithm_SignalToNoise_auto_max_stdev_factor" type="float" min="0.0" max="999.0" optional="True" value="3.0" label="parameter for 'max_intensity' estimation (if 'auto_mode' == 0): mean + 'auto_max_stdev_factor' * stdev" help="(-auto_max_stdev_factor) "/>
-      <param name="param_algorithm_SignalToNoise_auto_max_percentile" type="integer" min="0" max="100" optional="True" value="95" label="parameter for 'max_intensity' estimation (if 'auto_mode' == 1): auto_max_percentile th percentile" help="(-auto_max_percentile) "/>
-      <param name="param_algorithm_SignalToNoise_auto_mode" type="integer" min="-1" max="1" optional="True" value="0" label="method to use to determine maximal intensity: -1 --&gt; use 'max_intensity'; 0 --&gt; 'auto_max_stdev_factor' method (default); 1 --&gt; 'auto_max_percentile' method" help="(-auto_mode) "/>
-      <param name="param_algorithm_SignalToNoise_noise_for_empty_window" type="float" value="1e+20" label="noise value used for sparse windows" help="(-noise_for_empty_window) "/>
+      <param name="force" argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides 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" optional="true" multiple="true" label="Optional outputs">
+      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
+    </param>
   </inputs>
   <outputs>
-    <data name="param_out" format="mzml"/>
+    <data name="out" label="${tool.name} on ${on_string}: out" format="mzml"/>
+    <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>Finds mass spectrometric peaks in profile mass spectra.
+  <tests>
+    <expand macro="autotest_PeakPickerHiRes"/>
+    <expand macro="manutest_PeakPickerHiRes"/>
+  </tests>
+  <help><![CDATA[Finds mass spectrometric peaks in profile mass spectra.
 
 
-For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.3.0/html/TOPP_PeakPickerHiRes.html</help>
+For more information, visit http://www.openms.de/doxygen/release/2.6.0/html/TOPP_PeakPickerHiRes.html]]></help>
+  <expand macro="references"/>
 </tool>