view PeakPickerHiRes.xml @ 10:6b01678ec2fc draft default tip

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 3d1e5f37fd16524a415f707772eeb7ead848c5e3
author galaxyp
date Thu, 01 Dec 2022 19:20:52 +0000
parents 146b59d2d3e5
children
line wrap: on
line source

<?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="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
  <description>Finds mass spectrometric peaks in profile mass spectra.</description>
  <macros>
    <token name="@EXECUTABLE@">PeakPickerHiRes</token>
    <import>macros.xml</import>
  </macros>
  <expand macro="requirements"/>
  <expand macro="stdio"/>
  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
@EXT_FOO@
#import re

## 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")}'

## 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 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" name="ms_levels">
          <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" type="select" optional="true" 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" name="report_FWHM_unit"/>
      </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 argument="-processOption" type="select" optional="true" 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" name="processOption"/>
      </param>
      <param argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/>
      <param argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help="">
        <expand macro="list_string_san" name="test"/>
      </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="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>
  <tests><!-- TOPP_PeakPickerHiRes_1 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="PeakPickerHiRes_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_output.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="true"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <!-- TOPP_PeakPickerHiRes_2 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="PeakPickerHiRes_2_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_2_output.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="true"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <!-- TOPP_PeakPickerHiRes_3 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="processOption" value="lowmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="PeakPickerHiRes_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_output_lowMem.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="true"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <!-- TOPP_PeakPickerHiRes_4 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="processOption" value="lowmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="PeakPickerHiRes_2_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_2_output.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="1.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value="1"/>
        <param name="report_FWHM" value="true"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <!-- TOPP_PeakPickerHiRes_5 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="processOption" value="inmemory"/>
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="PeakPickerHiRes_5_input.mzML"/>
      <output name="out" file="PeakPickerHiRes_5_output.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
      <section name="algorithm">
        <param name="signal_to_noise" value="0.0"/>
        <param name="spacing_difference_gap" value="4.0"/>
        <param name="spacing_difference" value="1.5"/>
        <param name="missing" value="1"/>
        <param name="ms_levels" value=""/>
        <param name="report_FWHM" value="false"/>
        <param name="report_FWHM_unit" value="relative"/>
        <section name="SignalToNoise">
          <param name="max_intensity" value="-1"/>
          <param name="auto_max_stdev_factor" value="3.0"/>
          <param name="auto_max_percentile" value="95"/>
          <param name="auto_mode" value="0"/>
          <param name="win_len" value="200.0"/>
          <param name="bin_count" value="30"/>
          <param name="min_required_elements" value="10"/>
          <param name="noise_for_empty_window" value="1e+20"/>
          <param name="write_log_messages" value="true"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </tests>
  <help><![CDATA[Finds mass spectrometric peaks in profile mass spectra.


For more information, visit http://www.openms.de/doxygen/release/2.8.0/html/TOPP_PeakPickerHiRes.html]]></help>
  <expand macro="references"/>
</tool>