view MapRTTransformer.xml @ 13:aec26bf377fb draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 3d1e5f37fd16524a415f707772eeb7ead848c5e3
author galaxyp
date Thu, 01 Dec 2022 19:14:37 +0000
parents 88ac532206c7
children 317a5cb79894
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: [Map Alignment]-->
<tool id="MapRTTransformer" name="MapRTTransformer" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
  <description>Applies retention time transformations to maps.</description>
  <macros>
    <token name="@EXECUTABLE@">MapRTTransformer</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
#if $in:
  mkdir in &&
  ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
#end if
#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir out &&
#end if
mkdir trafo_in &&
ln -s '$trafo_in' 'trafo_in/${re.sub("[^\w\-_]", "_", $trafo_in.element_identifier)}.$gxy2omsext($trafo_in.ext)' &&
#if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir trafo_out &&
#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
#if $in:
  -in
  'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)'
#end if
#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -out
  'out/output.${in.ext}'
#end if
-trafo_in
'trafo_in/${re.sub("[^\w\-_]", "_", $trafo_in.element_identifier)}.$gxy2omsext($trafo_in.ext)'
#if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -trafo_out
  'trafo_out/output.${gxy2omsext("trafoxml")}'
#end if
#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
  | tee '$stdout'
#end if

## Postprocessing
#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'out/output.${in.ext}' '$out'
#end if
#if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'trafo_out/output.${gxy2omsext("trafoxml")}' '$trafo_out'
#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="consensusxml,featurexml,idxml,mzml" optional="true" label="Input file to transform (separated by blanks)" help=" select consensusxml,featurexml,idxml,mzml data sets(s)"/>
    <param argument="-trafo_in" type="data" format="trafoxml" optional="false" label="Transformation to apply" help=" select trafoxml data sets(s)"/>
    <param argument="-invert" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Invert transformation (approximatively) before applying it" help=""/>
    <param argument="-store_original_rt" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Store the original retention times (before transformation) as meta data in the output file" help=""/>
    <section name="model" title="Options to control the modeling of retention time transformations from data" help="" expanded="false">
      <param name="type" argument="-model:type" type="select" optional="true" label="Type of model" help="">
        <option value="none" selected="true">none</option>
        <option value="linear">linear</option>
        <option value="b_spline">b_spline</option>
        <option value="lowess">lowess</option>
        <option value="interpolated">interpolated</option>
        <expand macro="list_string_san" name="type"/>
      </param>
      <section name="linear" title="Parameters for 'linear' model" help="" expanded="false">
        <param name="symmetric_regression" argument="-model:linear:symmetric_regression" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Perform linear regression on 'y - x' vs" help="'y + x', instead of on 'y' vs. 'x'"/>
        <param name="x_weight" argument="-model:linear:x_weight" type="select" optional="true" label="Weight x values" help="">
          <option value="1/x">1/x</option>
          <option value="1/x2">1/x2</option>
          <option value="ln(x)">ln(x)</option>
          <option value=""></option>
          <expand macro="list_string_san" name="x_weight"/>
        </param>
        <param name="y_weight" argument="-model:linear:y_weight" type="select" optional="true" label="Weight y values" help="">
          <option value="1/y">1/y</option>
          <option value="1/y2">1/y2</option>
          <option value="ln(y)">ln(y)</option>
          <option value=""></option>
          <expand macro="list_string_san" name="y_weight"/>
        </param>
        <param name="x_datum_min" argument="-model:linear:x_datum_min" type="float" optional="true" value="1e-15" label="Minimum x value" help=""/>
        <param name="x_datum_max" argument="-model:linear:x_datum_max" type="float" optional="true" value="1000000000000000.0" label="Maximum x value" help=""/>
        <param name="y_datum_min" argument="-model:linear:y_datum_min" type="float" optional="true" value="1e-15" label="Minimum y value" help=""/>
        <param name="y_datum_max" argument="-model:linear:y_datum_max" type="float" optional="true" value="1000000000000000.0" label="Maximum y value" help=""/>
      </section>
      <section name="b_spline" title="Parameters for 'b_spline' model" help="" expanded="false">
        <param name="wavelength" argument="-model:b_spline:wavelength" type="float" optional="true" min="0.0" value="0.0" label="Determines the amount of smoothing by setting the number of nodes for the B-spline" help="The number is chosen so that the spline approximates a low-pass filter with this cutoff wavelength. The wavelength is given in the same units as the data; a higher value means more smoothing. '0' sets the number of nodes to twice the number of input points"/>
        <param name="num_nodes" argument="-model:b_spline:num_nodes" type="integer" optional="true" min="0" value="5" label="Number of nodes for B-spline fitting" help="Overrides 'wavelength' if set (to two or greater). A lower value means more smoothing"/>
        <param name="extrapolate" argument="-model:b_spline:extrapolate" type="select" optional="true" label="Method to use for extrapolation beyond the original data range" help="'linear': Linear extrapolation using the slope of the B-spline at the corresponding endpoint. 'b_spline': Use the B-spline (as for interpolation). 'constant': Use the constant value of the B-spline at the corresponding endpoint. 'global_linear': Use a linear fit through the data (which will most probably introduce discontinuities at the ends of the data range)">
          <option value="linear" selected="true">linear</option>
          <option value="b_spline">b_spline</option>
          <option value="constant">constant</option>
          <option value="global_linear">global_linear</option>
          <expand macro="list_string_san" name="extrapolate"/>
        </param>
        <param name="boundary_condition" argument="-model:b_spline:boundary_condition" type="integer" optional="true" min="0" max="2" value="2" label="Boundary condition at B-spline endpoints: 0 (value zero), 1 (first derivative zero) or 2 (second derivative zero)" help=""/>
      </section>
      <section name="lowess" title="Parameters for 'lowess' model" help="" expanded="false">
        <param name="span" argument="-model:lowess:span" type="float" optional="true" min="0.0" max="1.0" value="0.666666666666667" label="Fraction of datapoints (f) to use for each local regression (determines the amount of smoothing)" help="Choosing this parameter in the range .2 to .8 usually results in a good fit"/>
        <param name="num_iterations" argument="-model:lowess:num_iterations" type="integer" optional="true" min="0" value="3" label="Number of robustifying iterations for lowess fitting" help=""/>
        <param name="delta" argument="-model:lowess:delta" type="float" optional="true" value="-1.0" label="Nonnegative parameter which may be used to save computations (recommended value is 0.01 of the range of the input" help="e.g. for data ranging from 1000 seconds to 2000 seconds, it could be set to 10). Setting a negative value will automatically do this"/>
        <param name="interpolation_type" argument="-model:lowess:interpolation_type" type="select" optional="true" label="Method to use for interpolation between datapoints computed by lowess" help="'linear': Linear interpolation. 'cspline': Use the cubic spline for interpolation. 'akima': Use an akima spline for interpolation">
          <option value="linear">linear</option>
          <option value="cspline" selected="true">cspline</option>
          <option value="akima">akima</option>
          <expand macro="list_string_san" name="interpolation_type"/>
        </param>
        <param name="extrapolation_type" argument="-model:lowess:extrapolation_type" type="select" optional="true" label="Method to use for extrapolation outside the data range" help="'two-point-linear': Uses a line through the first and last point to extrapolate. 'four-point-linear': Uses a line through the first and second point to extrapolate in front and and a line through the last and second-to-last point in the end. 'global-linear': Uses a linear regression to fit a line through all data points and use it for interpolation">
          <option value="two-point-linear">two-point-linear</option>
          <option value="four-point-linear" selected="true">four-point-linear</option>
          <option value="global-linear">global-linear</option>
          <expand macro="list_string_san" name="extrapolation_type"/>
        </param>
      </section>
      <section name="interpolated" title="Parameters for 'interpolated' model" help="" expanded="false">
        <param name="interpolation_type" argument="-model:interpolated:interpolation_type" type="select" optional="true" label="Type of interpolation to apply" help="">
          <option value="linear">linear</option>
          <option value="cspline" selected="true">cspline</option>
          <option value="akima">akima</option>
          <expand macro="list_string_san" name="interpolation_type"/>
        </param>
        <param name="extrapolation_type" argument="-model:interpolated:extrapolation_type" type="select" optional="true" label="Type of extrapolation to apply: two-point-linear: use the first and last data point to build a single linear model, four-point-linear: build two linear models on both ends using the first two / last two points, global-linear: use all points to build a single linear model" help="Note that global-linear may not be continuous at the border">
          <option value="two-point-linear" selected="true">two-point-linear</option>
          <option value="four-point-linear">four-point-linear</option>
          <option value="global-linear">global-linear</option>
          <expand macro="list_string_san" name="extrapolation_type"/>
        </param>
      </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_FLAG">out (Output file (same file type as 'in'))</option>
      <option value="trafo_out_FLAG">trafo_out (Transformation output file)</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_source="in" metadata_source="in">
      <filter>OPTIONAL_OUTPUTS is not None and "out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="trafo_out" label="${tool.name} on ${on_string}: trafo_out" format="trafoxml">
      <filter>OPTIONAL_OUTPUTS is not None and "trafo_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="stdout" format="txt" label="${tool.name} on ${on_string}: stdout">
      <filter>OPTIONAL_OUTPUTS is None</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_MapRTTransformer_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="MapRTTransformer_1_input.featureXML"/>
      <output name="out" file="MapRTTransformer_1_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight"/>
          <param name="y_weight"/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <!-- TOPP_MapRTTransformer_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="MapRTTransformer_2_input.mzML"/>
      <output name="out" file="MapRTTransformer_2_output.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight"/>
          <param name="y_weight"/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <!-- TOPP_MapRTTransformer_3 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="trafo_in" value="MapAlignerPoseClustering_1_trafo2.trafoXML"/>
      <output name="trafo_out" file="MapRTTransformer_3_trafo.trafoXML" compare="sim_size" delta_frac="0.7" ftype="trafoxml"/>
      <param name="invert" value="true"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight"/>
          <param name="y_weight"/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,trafo_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <!-- TOPP_MapRTTransformer_4 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="MapRTTransformer_4_input.chrom.mzML"/>
      <output name="out" file="MapRTTransformer_4_output.chrom.mzML" compare="sim_size" delta_frac="0.7" ftype="mzml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight"/>
          <param name="y_weight"/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <!-- TOPP_MapRTTransformer_5 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
      <output name="out" file="MapRTTransformer_5_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_none.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="false"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight"/>
          <param name="y_weight"/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
    <!-- TOPP_MapRTTransformer_6 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="MapRTTransformer_1_input.featureXML"/>
      <output name="out" file="MapRTTransformer_6_output.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
      <param name="trafo_in" value="MapRTTransformer_trafo_linear.trafoXML"/>
      <param name="invert" value="false"/>
      <param name="store_original_rt" value="true"/>
      <section name="model">
        <param name="type" value="none"/>
        <section name="linear">
          <param name="symmetric_regression" value="false"/>
          <param name="x_weight"/>
          <param name="y_weight"/>
          <param name="x_datum_min" value="1e-15"/>
          <param name="x_datum_max" value="1000000000000000.0"/>
          <param name="y_datum_min" value="1e-15"/>
          <param name="y_datum_max" value="1000000000000000.0"/>
        </section>
        <section name="b_spline">
          <param name="wavelength" value="0.0"/>
          <param name="num_nodes" value="5"/>
          <param name="extrapolate" value="linear"/>
          <param name="boundary_condition" value="2"/>
        </section>
        <section name="lowess">
          <param name="span" value="0.666666666666667"/>
          <param name="num_iterations" value="3"/>
          <param name="delta" value="-1.0"/>
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="four-point-linear"/>
        </section>
        <section name="interpolated">
          <param name="interpolation_type" value="cspline"/>
          <param name="extrapolation_type" value="two-point-linear"/>
        </section>
      </section>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
    </test>
  </tests>
  <help><![CDATA[Applies retention time transformations to maps.


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