view FeatureFinderCentroided.xml @ 15:1a709ba66f2f draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 3d1e5f37fd16524a415f707772eeb7ead848c5e3
author galaxyp
date Thu, 01 Dec 2022 18:57:17 +0000
parents b57f420a47b9
children d0c5325cb998
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: [Quantitation]-->
<tool id="FeatureFinderCentroided" name="FeatureFinderCentroided" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
  <description>Detects two-dimensional features in LC-MS data.</description>
  <macros>
    <token name="@EXECUTABLE@">FeatureFinderCentroided</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 &&
#if $seeds:
  mkdir seeds &&
  ln -s '$seeds' 'seeds/${re.sub("[^\w\-_]", "_", $seeds.element_identifier)}.$gxy2omsext($seeds.ext)' &&
#end if
#if "out_mzq_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir out_mzq &&
#end if

## 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("featurexml")}'
#if $seeds:
  -seeds
  'seeds/${re.sub("[^\w\-_]", "_", $seeds.element_identifier)}.$gxy2omsext($seeds.ext)'
#end if
#if "out_mzq_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -out_mzq
  'out_mzq/output.${gxy2omsext("mzq")}'
#end if
#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
  | tee '$stdout'
#end if

## Postprocessing
&& mv 'out/output.${gxy2omsext("featurexml")}' '$out'
#if "out_mzq_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'out_mzq/output.${gxy2omsext("mzq")}' '$out_mzq'
#end if
#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 file" help=" select mzml data sets(s)"/>
    <param argument="-seeds" type="data" format="featurexml" optional="true" label="User specified seed list" help=" select featurexml data sets(s)"/>
    <section name="algorithm" title="Algorithm section" help="" expanded="false">
      <section name="debug" title="" help="" expanded="false">
        <param name="pseudo_rt_shift" argument="-algorithm:debug:pseudo_rt_shift" type="float" optional="true" min="1.0" value="500.0" label="Pseudo RT shift used when" help=""/>
      </section>
      <section name="intensity" title="Settings for the calculation of a score indicating if a peak's intensity is significant in the local environment (between 0 and 1)" help="" expanded="false">
        <param name="bins" argument="-algorithm:intensity:bins" type="integer" optional="true" min="1" value="10" label="Number of bins per dimension (RT and m/z)" help="The higher this value, the more local the intensity significance score is.. This parameter should be decreased, if the algorithm is used on small regions of a map"/>
      </section>
      <section name="mass_trace" title="Settings for the calculation of a score indicating if a peak is part of a mass trace (between 0 and 1)" help="" expanded="false">
        <param name="mz_tolerance" argument="-algorithm:mass_trace:mz_tolerance" type="float" optional="true" min="0.0" value="0.03" label="Tolerated m/z deviation of peaks belonging to the same mass trace" help="It should be larger than the m/z resolution of the instrument.. This value must be smaller than that 1/charge_high!"/>
        <param name="min_spectra" argument="-algorithm:mass_trace:min_spectra" type="integer" optional="true" min="1" value="10" label="Number of spectra that have to show a similar peak mass in a mass trace" help=""/>
        <param name="max_missing" argument="-algorithm:mass_trace:max_missing" type="integer" optional="true" min="0" value="1" label="Number of consecutive spectra where a high mass deviation or missing peak is acceptable" help="This parameter should be well below 'min_spectra'!"/>
        <param name="slope_bound" argument="-algorithm:mass_trace:slope_bound" type="float" optional="true" min="0.0" value="0.1" label="The maximum slope of mass trace intensities when extending from the highest peak" help="This parameter is important to separate overlapping elution peaks.. It should be increased if feature elution profiles fluctuate a lot"/>
      </section>
      <section name="isotopic_pattern" title="Settings for the calculation of a score indicating if a peak is part of a isotopic pattern (between 0 and 1)" help="" expanded="false">
        <param name="charge_low" argument="-algorithm:isotopic_pattern:charge_low" type="integer" optional="true" min="1" value="1" label="Lowest charge to search fo" help=""/>
        <param name="charge_high" argument="-algorithm:isotopic_pattern:charge_high" type="integer" optional="true" min="1" value="4" label="Highest charge to search fo" help=""/>
        <param name="mz_tolerance" argument="-algorithm:isotopic_pattern:mz_tolerance" type="float" optional="true" min="0.0" value="0.03" label="Tolerated m/z deviation from the theoretical isotopic pattern" help="It should be larger than the m/z resolution of the instrument.. This value must be smaller than that 1/charge_high!"/>
        <param name="intensity_percentage" argument="-algorithm:isotopic_pattern:intensity_percentage" type="float" optional="true" min="0.0" max="100.0" value="10.0" label="Isotopic peaks that contribute more than this percentage to the overall isotope pattern intensity must be present" help=""/>
        <param name="intensity_percentage_optional" argument="-algorithm:isotopic_pattern:intensity_percentage_optional" type="float" optional="true" min="0.0" max="100.0" value="0.1" label="Isotopic peaks that contribute more than this percentage to the overall isotope pattern intensity can be missing" help=""/>
        <param name="optional_fit_improvement" argument="-algorithm:isotopic_pattern:optional_fit_improvement" type="float" optional="true" min="0.0" max="100.0" value="2.0" label="Minimal percental improvement of isotope fit to allow leaving out an optional peak" help=""/>
        <param name="mass_window_width" argument="-algorithm:isotopic_pattern:mass_window_width" type="float" optional="true" min="1.0" max="200.0" value="25.0" label="Window width in Dalton for precalculation of estimated isotope distributions" help=""/>
        <param name="abundance_12C" argument="-algorithm:isotopic_pattern:abundance_12C" type="float" optional="true" min="0.0" max="100.0" value="98.93" label="Rel" help="abundance of the light carbon. Modify if labeled"/>
        <param name="abundance_14N" argument="-algorithm:isotopic_pattern:abundance_14N" type="float" optional="true" min="0.0" max="100.0" value="99.632" label="Rel" help="abundance of the light nitrogen. Modify if labeled"/>
      </section>
      <section name="seed" title="Settings that determine which peaks are considered a seed" help="" expanded="false">
        <param name="min_score" argument="-algorithm:seed:min_score" type="float" optional="true" min="0.0" max="1.0" value="0.8" label="Minimum seed score a peak has to reach to be used as seed" help="The seed score is the geometric mean of intensity score, mass trace score and isotope pattern score.. If your features show a large deviation from the averagene isotope distribution or from an gaussian elution profile, lower this score"/>
      </section>
      <section name="fit" title="Settings for the model fitting" help="" expanded="false">
        <param name="max_iterations" argument="-algorithm:fit:max_iterations" type="integer" optional="true" min="1" value="500" label="Maximum number of iterations of the fit" help=""/>
      </section>
      <section name="feature" title="Settings for the features (intensity, quality assessment, ...)" help="" expanded="false">
        <param name="min_score" argument="-algorithm:feature:min_score" type="float" optional="true" min="0.0" max="1.0" value="0.7" label="Feature score threshold for a feature to be reported" help="The feature score is the geometric mean of the average relative deviation and the correlation between the model and the observed peaks"/>
        <param name="min_isotope_fit" argument="-algorithm:feature:min_isotope_fit" type="float" optional="true" min="0.0" max="1.0" value="0.8" label="Minimum isotope fit of the feature before model fitting" help=""/>
        <param name="min_trace_score" argument="-algorithm:feature:min_trace_score" type="float" optional="true" min="0.0" max="1.0" value="0.5" label="Trace score threshold" help="Traces below this threshold are removed after the model fitting.. This parameter is important for features that overlap in m/z dimension"/>
        <param name="min_rt_span" argument="-algorithm:feature:min_rt_span" type="float" optional="true" min="0.0" max="1.0" value="0.333" label="Minimum RT span in relation to extended area that has to remain after model fitting" help=""/>
        <param name="max_rt_span" argument="-algorithm:feature:max_rt_span" type="float" optional="true" min="0.5" value="2.5" label="Maximum RT span in relation to extended area that the model is allowed to have" help=""/>
        <param name="rt_shape" argument="-algorithm:feature:rt_shape" type="select" optional="true" label="Choose model used for RT profile fitting" help="If set to symmetric a gauss shape is used, in case of asymmetric an EGH shape is used">
          <option value="symmetric" selected="true">symmetric</option>
          <option value="asymmetric">asymmetric</option>
          <expand macro="list_string_san" name="rt_shape"/>
        </param>
        <param name="max_intersection" argument="-algorithm:feature:max_intersection" type="float" optional="true" min="0.0" max="1.0" value="0.35" label="Maximum allowed intersection of features" help=""/>
        <param name="reported_mz" argument="-algorithm:feature:reported_mz" type="select" optional="true" label="The mass type that is reported for features" help="'maximum' returns the m/z value of the highest mass trace.. 'average' returns the intensity-weighted average m/z value of all contained peaks.. 'monoisotopic' returns the monoisotopic m/z value derived from the fitted isotope model">
          <option value="maximum">maximum</option>
          <option value="average">average</option>
          <option value="monoisotopic" selected="true">monoisotopic</option>
          <expand macro="list_string_san" name="reported_mz"/>
        </param>
      </section>
      <section name="user-seed" title="Settings for user-specified seeds" help="" expanded="false">
        <param name="rt_tolerance" argument="-algorithm:user-seed:rt_tolerance" type="float" optional="true" min="0.0" value="5.0" label="Allowed RT deviation of seeds from the user-specified seed position" help=""/>
        <param name="mz_tolerance" argument="-algorithm:user-seed:mz_tolerance" type="float" optional="true" min="0.0" value="1.1" label="Allowed m/z deviation of seeds from the user-specified seed position" help=""/>
        <param name="min_score" argument="-algorithm:user-seed:min_score" type="float" optional="true" min="0.0" max="1.0" value="0.5" label="Overwrites 'seed:min_score' for user-specified seeds" help="The cutoff is typically a bit lower in this case"/>
      </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" 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="out_mzq_FLAG">out_mzq (Optional output file of MzQuantML)</option>
      <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="featurexml"/>
    <data name="out_mzq" label="${tool.name} on ${on_string}: out_mzq" format="mzq">
      <filter>OPTIONAL_OUTPUTS is not None and "out_mzq_FLAG" in OPTIONAL_OUTPUTS</filter>
    </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_FeatureFinderCentroided_1 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
        <param name="pseudo_rt_shift" value="500.0"/>
      </section>
      <param name="in" value="FeatureFinderCentroided_1_input.mzML"/>
      <output name="out" file="FeatureFinderCentroided_1_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
      <section name="algorithm">
        <section name="intensity">
          <param name="bins" value="1"/>
        </section>
        <section name="mass_trace">
          <param name="mz_tolerance" value="0.02"/>
          <param name="min_spectra" value="14"/>
          <param name="max_missing" value="1"/>
          <param name="slope_bound" value="0.1"/>
        </section>
        <section name="isotopic_pattern">
          <param name="charge_low" value="2"/>
          <param name="charge_high" value="2"/>
          <param name="mz_tolerance" value="0.02"/>
          <param name="intensity_percentage" value="10.0"/>
          <param name="intensity_percentage_optional" value="0.1"/>
          <param name="optional_fit_improvement" value="2.0"/>
          <param name="mass_window_width" value="100.0"/>
          <param name="abundance_12C" value="98.93"/>
          <param name="abundance_14N" value="99.632"/>
        </section>
        <section name="seed">
          <param name="min_score" value="0.8"/>
        </section>
        <section name="fit">
          <param name="max_iterations" value="500"/>
        </section>
        <section name="feature">
          <param name="min_score" value="0.7"/>
          <param name="min_isotope_fit" value="0.8"/>
          <param name="min_trace_score" value="0.5"/>
          <param name="min_rt_span" value="0.333"/>
          <param name="max_rt_span" value="2.5"/>
          <param name="rt_shape" value="symmetric"/>
          <param name="max_intersection" value="0.35"/>
          <param name="reported_mz" value="monoisotopic"/>
        </section>
        <section name="user-seed">
          <param name="rt_tolerance" value="5.0"/>
          <param name="mz_tolerance" value="1.1"/>
          <param name="min_score" value="0.5"/>
        </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[Detects two-dimensional features in LC-MS data.


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