view MassTraceExtractor.xml @ 14:02e876ada338 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:27:39 +0000
parents 29d893e855c6
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: [Quantitation]-->
<tool id="MassTraceExtractor" name="MassTraceExtractor" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
  <description>Detects mass traces in centroided LC-MS data</description>
  <macros>
    <token name="@EXECUTABLE@">MassTraceExtractor</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.${out_type}'

## Postprocessing
&& mv 'out/output.${out_type}' '$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 centroided mzML file" help=" select mzml data sets(s)"/>
    <param argument="-out_type" type="select" label="output file type -- default: determined from file extension or content" help="">
      <option value="consensusXML">consensusxml</option>
      <option value="featureXML">featurexml</option>
      <validator type="expression" message="A value needs to be selected">value != "select a value"</validator>
      <expand macro="list_string_san" name="out_type"/>
    </param>
    <section name="algorithm" title="Algorithm parameters section" help="" expanded="false">
      <section name="common" title="" help="" expanded="false">
        <param name="noise_threshold_int" argument="-algorithm:common:noise_threshold_int" type="float" value="10.0" label="Intensity threshold below which peaks are regarded as noise" help=""/>
        <param name="chrom_peak_snr" argument="-algorithm:common:chrom_peak_snr" type="float" value="3.0" label="Minimum signal-to-noise a mass trace should have" help=""/>
        <param name="chrom_fwhm" argument="-algorithm:common:chrom_fwhm" type="float" value="5.0" label="Expected chromatographic peak width (in seconds)" help=""/>
      </section>
      <section name="mtd" title="" help="" expanded="false">
        <param name="mass_error_ppm" argument="-algorithm:mtd:mass_error_ppm" type="float" value="20.0" label="Allowed mass deviation (in ppm)" help=""/>
        <param name="reestimate_mt_sd" argument="-algorithm:mtd:reestimate_mt_sd" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Enables dynamic re-estimation of m/z variance during mass trace collection stage" help=""/>
        <param name="quant_method" argument="-algorithm:mtd:quant_method" type="select" label="Method of quantification for mass traces" help="For LC data 'area' is recommended, 'median' for direct injection data. 'max_height' simply uses the most intense peak in the trace">
          <option value="area" selected="true">area</option>
          <option value="median">median</option>
          <option value="max_height">max_height</option>
          <expand macro="list_string_san" name="quant_method"/>
        </param>
        <param name="trace_termination_criterion" argument="-algorithm:mtd:trace_termination_criterion" type="select" label="Termination criterion for the extension of mass traces" help="In 'outlier' mode, trace extension cancels if a predefined number of consecutive outliers are found (see trace_termination_outliers parameter). In 'sample_rate' mode, trace extension in both directions stops if ratio of found peaks versus visited spectra falls below the 'min_sample_rate' threshold">
          <option value="outlier" selected="true">outlier</option>
          <option value="sample_rate">sample_rate</option>
          <expand macro="list_string_san" name="trace_termination_criterion"/>
        </param>
        <param name="trace_termination_outliers" argument="-algorithm:mtd:trace_termination_outliers" type="integer" value="5" label="Mass trace extension in one direction cancels if this number of consecutive spectra with no detectable peaks is reached" help=""/>
        <param name="min_sample_rate" argument="-algorithm:mtd:min_sample_rate" type="float" value="0.5" label="Minimum fraction of scans along the mass trace that must contain a peak" help=""/>
        <param name="min_trace_length" argument="-algorithm:mtd:min_trace_length" type="float" value="5.0" label="Minimum expected length of a mass trace (in seconds)" help=""/>
        <param name="max_trace_length" argument="-algorithm:mtd:max_trace_length" type="float" value="-1.0" label="Maximum expected length of a mass trace (in seconds)" help="Set to a negative value to disable maximal length check during mass trace detection"/>
      </section>
      <section name="epd" title="" help="" expanded="false">
        <param name="width_filtering" argument="-algorithm:epd:width_filtering" type="select" label="Enable filtering of unlikely peak widths" help="The fixed setting filters out mass traces outside the [min_fwhm, max_fwhm] interval (set parameters accordingly!). The auto setting filters with the 5 and 95% quantiles of the peak width distribution">
          <option value="off">off</option>
          <option value="fixed" selected="true">fixed</option>
          <option value="auto">auto</option>
          <expand macro="list_string_san" name="width_filtering"/>
        </param>
        <param name="min_fwhm" argument="-algorithm:epd:min_fwhm" type="float" value="1.0" label="Minimum full-width-at-half-maximum of chromatographic peaks (in seconds)" help="Ignored if parameter width_filtering is off or auto"/>
        <param name="max_fwhm" argument="-algorithm:epd:max_fwhm" type="float" value="60.0" label="Maximum full-width-at-half-maximum of chromatographic peaks (in seconds)" help="Ignored if parameter width_filtering is off or auto"/>
        <param name="masstrace_snr_filtering" argument="-algorithm:epd:masstrace_snr_filtering" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Apply post-filtering by signal-to-noise ratio after smoothing" help=""/>
        <param name="enabled" argument="-algorithm:epd:enabled" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Enables/disables the chromatographic peak detection of mass traces" 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="consensusxml">
      <change_format>
        <when input="out_type" value="featureXML" format="featurexml"/>
      </change_format>
    </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>
  <tests>
    <!-- TOPP_MassTraceExtractor_1 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="MassTraceExtractor_1_input.mzML"/>
      <output name="out" value="MassTraceExtractor_1_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <section name="algorithm">
        <section name="common">
          <param name="noise_threshold_int" value="10.0"/>
          <param name="chrom_peak_snr" value="3.0"/>
          <param name="chrom_fwhm" value="5.0"/>
        </section>
        <section name="mtd">
          <param name="mass_error_ppm" value="20.0"/>
          <param name="reestimate_mt_sd" value="true"/>
          <param name="quant_method" value="area"/>
          <param name="trace_termination_criterion" value="outlier"/>
          <param name="trace_termination_outliers" value="5"/>
          <param name="min_sample_rate" value="0.5"/>
          <param name="min_trace_length" value="5.0"/>
          <param name="max_trace_length" value="-1.0"/>
        </section>
        <section name="epd">
          <param name="width_filtering" value="off"/>
          <param name="min_fwhm" value="3.0"/>
          <param name="max_fwhm" value="60.0"/>
          <param name="masstrace_snr_filtering" value="false"/>
          <param name="enabled" 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>
      <assert_stdout>
        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
      </assert_stdout>
    </test>
    <!-- TOPP_MassTraceExtractor_2 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="MassTraceExtractor_1_input.mzML"/>
      <output name="out" value="MassTraceExtractor_2_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
      <param name="out_type" value="featureXML"/>
      <section name="algorithm">
        <section name="common">
          <param name="noise_threshold_int" value="10.0"/>
          <param name="chrom_peak_snr" value="3.0"/>
          <param name="chrom_fwhm" value="5.0"/>
        </section>
        <section name="mtd">
          <param name="mass_error_ppm" value="20.0"/>
          <param name="reestimate_mt_sd" value="true"/>
          <param name="quant_method" value="area"/>
          <param name="trace_termination_criterion" value="outlier"/>
          <param name="trace_termination_outliers" value="5"/>
          <param name="min_sample_rate" value="0.5"/>
          <param name="min_trace_length" value="6.0"/>
          <param name="max_trace_length" value="12.0"/>
        </section>
        <section name="epd">
          <param name="width_filtering" value="off"/>
          <param name="min_fwhm" value="3.0"/>
          <param name="max_fwhm" value="60.0"/>
          <param name="masstrace_snr_filtering" value="false"/>
          <param name="enabled" 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>
      <assert_stdout>
        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
      </assert_stdout>
    </test>
  </tests>
  <help><![CDATA[Detects mass traces in centroided LC-MS data.


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