diff LowMemPeakPickerHiRes.xml @ 8:d8a68a6dec7b draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 020906fb54bde7fc143c356f41975c378a741315"
author galaxyp
date Wed, 09 Sep 2020 20:09:21 +0000
parents b615970f6f01
children
line wrap: on
line diff
--- a/LowMemPeakPickerHiRes.xml	Fri May 17 10:25:17 2019 -0400
+++ b/LowMemPeakPickerHiRes.xml	Wed Sep 09 20:09:21 2020 +0000
@@ -1,137 +1,99 @@
 <?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: [Utilities]-->
-<tool id="LowMemPeakPickerHiRes" name="LowMemPeakPickerHiRes" version="2.3.0">
+<tool id="LowMemPeakPickerHiRes" name="LowMemPeakPickerHiRes" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>Finds mass spectrometric peaks in profile mass spectra.</description>
   <macros>
     <token name="@EXECUTABLE@">LowMemPeakPickerHiRes</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[LowMemPeakPickerHiRes
+  <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_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>
+      <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>
-    </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>
+      <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="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="ctd_out_FLAG">Output used ctd (ini) configuration file</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_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) "/>
-    </expand>
   </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_LowMemPeakPickerHiRes"/>
+    <expand macro="manutest_LowMemPeakPickerHiRes"/>
+  </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/UTILS_LowMemPeakPickerHiRes.html</help>
+For more information, visit http://www.openms.de/documentation/UTILS_LowMemPeakPickerHiRes.html]]></help>
+  <expand macro="references"/>
 </tool>