view SpectraMerger.xml @ 14:b20b1f195cf2 draft default tip

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
author galaxyp
date Fri, 14 Jun 2024 21:28:09 +0000
parents 4333c513b7a1
children
line wrap: on
line source

<!--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: [Spectrum processing: Misc / Helpers]-->
<tool id="SpectraMerger" name="SpectraMerger" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
  <description>Merges spectra (each MS level separately), increasing S/N ratios</description>
  <macros>
    <token name="@EXECUTABLE@">SpectraMerger</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 &&
cp '$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" label="Input mzML file" help=" select mzml data sets(s)"/>
    <param argument="-merging_method" type="select" label="Method of merging which should be used" help="">
      <option value="average_gaussian" selected="true">average_gaussian</option>
      <option value="average_tophat">average_tophat</option>
      <option value="precursor_method">precursor_method</option>
      <option value="block_method">block_method</option>
      <expand macro="list_string_san" name="merging_method"/>
    </param>
    <section name="algorithm" title="Algorithm section for merging spectra" help="" expanded="false">
      <param name="mz_binning_width" argument="-algorithm:mz_binning_width" type="float" min="0.0" value="5.0" label="minimum m/z distance for two data points (profile data) or peaks (centroided data) to be considered distinct" help="Closer data points or peaks will be merged"/>
      <param name="mz_binning_width_unit" argument="-algorithm:mz_binning_width_unit" type="select" label="Unit in which the distance between two data points or peaks is given" help="">
        <option value="Da">Da</option>
        <option value="ppm" selected="true">ppm</option>
        <expand macro="list_string_san" name="mz_binning_width_unit"/>
      </param>
      <param name="sort_blocks" argument="-algorithm:sort_blocks" type="select" label="Sort blocks by &lt;?&gt; before merging them (useful for precursor order)" help="">
        <option value="RT_ascending" selected="true">RT_ascending</option>
        <option value="RT_descending">RT_descending</option>
        <expand macro="list_string_san" name="sort_blocks"/>
      </param>
      <section name="average_gaussian" title="" help="" expanded="false">
        <param name="spectrum_type" argument="-algorithm:average_gaussian:spectrum_type" type="select" label="Spectrum type of the MS level to be averaged" help="">
          <option value="profile">profile</option>
          <option value="centroid">centroid</option>
          <option value="automatic" selected="true">automatic</option>
          <expand macro="list_string_san" name="spectrum_type"/>
        </param>
        <param name="ms_level" argument="-algorithm:average_gaussian:ms_level" type="integer" min="0" value="1" label="If set to be 0, each MS level will be merged from 1 to max" help="Otherwise, average spectra of this level. All other spectra remain unchanged"/>
        <param name="rt_FWHM" argument="-algorithm:average_gaussian:rt_FWHM" type="float" min="0.0" max="100000000000.0" value="5.0" label="FWHM of Gauss curve in seconds to be averaged ove" help=""/>
        <param name="cutoff" argument="-algorithm:average_gaussian:cutoff" type="float" min="0.0" max="1.0" value="0.01" label="Intensity cutoff for Gaussian" help="The Gaussian RT profile decreases from 1 at its apex to 0 at infinity. Spectra for which the intensity of the Gaussian drops below the cutoff do not contribute to the average"/>
        <param name="precursor_mass_tol" argument="-algorithm:average_gaussian:precursor_mass_tol" type="float" min="0.0" value="0.0" label="PPM mass tolerance for precursor mass" help="If set, MSn (n&gt;2) spectra of precursor masses within the tolerance are averaged"/>
        <param name="precursor_max_charge" argument="-algorithm:average_gaussian:precursor_max_charge" type="integer" min="1" value="1" label="Possible maximum precursor ion charge" help="Effective only when average_gaussian:precursor_mass_tol option is active"/>
      </section>
      <section name="average_tophat" title="" help="" expanded="false">
        <param name="spectrum_type" argument="-algorithm:average_tophat:spectrum_type" type="select" label="Spectrum type of the MS level to be averaged" help="">
          <option value="profile">profile</option>
          <option value="centroid">centroid</option>
          <option value="automatic" selected="true">automatic</option>
          <expand macro="list_string_san" name="spectrum_type"/>
        </param>
        <param name="ms_level" argument="-algorithm:average_tophat:ms_level" type="integer" min="0" value="1" label="If set to be 0, each MS level will be merged from 1 to max" help="Otherwise, average spectra of this level. All other spectra remain unchanged"/>
        <param name="rt_range" argument="-algorithm:average_tophat:rt_range" type="float" min="0.0" max="100000000000.0" value="5.0" label="RT range to be averaged ove" help="i.e. +/-(RT range)/2 from each spectrum"/>
        <param name="rt_unit" argument="-algorithm:average_tophat:rt_unit" type="select" label="Unit for RT range" help="">
          <option value="scans" selected="true">scans</option>
          <option value="seconds">seconds</option>
          <expand macro="list_string_san" name="rt_unit"/>
        </param>
      </section>
      <section name="block_method" title="" help="" expanded="false">
        <param name="ms_levels" argument="-algorithm:block_method:ms_levels" type="text" value="1" label="Merge spectra of this level" help="All spectra with other MS levels remain untouched (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="rt_block_size" argument="-algorithm:block_method:rt_block_size" type="integer" min="1" value="5" label="Maximum number of scans to be summed up" help=""/>
        <param name="rt_max_length" argument="-algorithm:block_method:rt_max_length" type="float" min="0.0" max="100000000000.0" value="0.0" label="Maximum RT size of the block in seconds (0.0 = no size restriction)" help=""/>
      </section>
      <section name="precursor_method" title="" help="" expanded="false">
        <param name="mz_tolerance" argument="-algorithm:precursor_method:mz_tolerance" type="float" min="0.0" value="0.0001" label="Max m/z distance of the precursor entries of two spectra to be merged in [Da]" help=""/>
        <param name="mass_tolerance" argument="-algorithm:precursor_method:mass_tolerance" type="float" min="0.0" value="0.0" label="Max mass distance of the precursor entries of two spectra to be merged in [Da]" help="Active when set to a positive value"/>
        <param name="rt_tolerance" argument="-algorithm:precursor_method:rt_tolerance" type="float" min="0.0" value="5.0" label="Max RT distance of the precursor entries of two spectra to be merged in [s]" help=""/>
      </section>
    </section>
    <expand macro="adv_opts_macro">
      <param argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/>
      <param argument="-test" type="hidden" value="False" label="Enables the test mode (needed for internal use only)" help="" optional="true">
        <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>
    <test expect_num_outputs="1">
      <!-- just chosen an arbitrary input and autgenerated output-->
      <param name="adv_opts|test" value="true"/>
      <param name="in" ftype="mzml" value="NovorAdapter_in.mzML"/>
      <section name="algorithm">
        <section name="average_gaussian">
          <param name="ms_level" value="2"/>
        </section>
      </section>
      <output name="out" ftype="mzml" value="SpectraMerger_1.mzML" compare="sim_size"/>
    </test>
  </tests>
  <help><![CDATA[Merges spectra (each MS level separately), increasing S/N ratios.


For more information, visit https://openms.de/doxygen/release/3.1.0/html/TOPP_SpectraMerger.html]]></help>
  <expand macro="references"/>
</tool>