diff MapAlignerIdentification.xml @ 8:8434f070e939 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:22:07 +0000
parents 992bb7e5bf8d
children 77b66c1c5415
line wrap: on
line diff
--- a/MapAlignerIdentification.xml	Fri Nov 06 20:03:19 2020 +0000
+++ b/MapAlignerIdentification.xml	Thu Dec 01 19:22:07 2022 +0000
@@ -1,13 +1,11 @@
 <?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="MapAlignerIdentification" name="MapAlignerIdentification" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
+<tool id="MapAlignerIdentification" name="MapAlignerIdentification" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
   <description>Corrects retention time distortions between maps based on common peptide identifications.</description>
   <macros>
     <token name="@EXECUTABLE@">MapAlignerIdentification</token>
     <import>macros.xml</import>
-    <import>macros_autotest.xml</import>
-    <import>macros_test.xml</import>
   </macros>
   <expand macro="requirements"/>
   <expand macro="stdio"/>
@@ -16,13 +14,20 @@
 #import re
 
 ## Preprocessing
-mkdir in &&
-${ ' '.join(["ln -s '%s' 'in/%s.%s' &&" % (_, re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in if _]) }
+mkdir in_cond.in &&
+#if $in_cond.in_select == "no"
+mkdir ${' '.join(["'in_cond.in/%s'" % (i) for i, f in enumerate($in_cond.in) if f])} && 
+${' '.join(["ln -s '%s' 'in_cond.in/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_cond.in) if f])}
+#else
+ln -s '$in_cond.in' 'in_cond.in/${re.sub("[^\w\-_]", "_", $in_cond.in.element_identifier)}.$gxy2omsext($in_cond.in.ext)' &&
+#end if
 #if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   mkdir out &&
+  mkdir ${' '.join(["'out/%s'" % (i) for i, f in enumerate($in_cond.in) if f])} && 
 #end if
 #if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   mkdir trafo_out &&
+  mkdir ${' '.join(["'trafo_out/%s'" % (i) for i, f in enumerate($in_cond.in) if f])} && 
 #end if
 #if $design:
   mkdir design &&
@@ -40,14 +45,18 @@
 python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
 @EXECUTABLE@ -ini @EXECUTABLE@.ctd
 -in
-${' '.join(["'in/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in if _])}
+#if $in_cond.in_select == "no"
+${' '.join(["'in_cond.in/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_cond.in) if f])}
+#else
+'in_cond.in/${re.sub("[^\w\-_]", "_", $in_cond.in.element_identifier)}.$gxy2omsext($in_cond.in.ext)'
+#end if
 #if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   -out
-  ${' '.join(["'out/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), _.ext) for _ in $in if _])}
+  ${' '.join(["'out/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), f.ext) for i, f in enumerate($in_cond.in) if f])}
 #end if
 #if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   -trafo_out
-  ${' '.join(["'trafo_out/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext("trafoxml")) for _ in $in if _])}
+  ${' '.join(["'trafo_out/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext("trafoxml")) for i, f in enumerate($in_cond.in) if f])}
 #end if
 #if $design:
   -design
@@ -63,7 +72,7 @@
 
 ## Postprocessing
 #if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
-  ${' '.join(["&& mv -n 'in/%(id)s.%(gext)s' 'trafo_out/%(id)s'"%{"id": re.sub('[^\w\-_]', '_', _.element_identifier), "gext": $gxy2omsext("trafoxml")} for _ in $trafo_out if _])}
+  ${' '.join(["&& mv -n 'trafo_out/%(bn)s/%(id)s.%(gext)s' 'trafo_out/%(bn)s/%(id)s'"%{"bn": i, "id": re.sub('[^\w\-_]', '_', f.element_identifier), "gext": $gxy2omsext("trafoxml")} for i, f in enumerate($in_cond.in) if f])}
 #end if
 #if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
   && mv '@EXECUTABLE@.ctd' '$ctd_out'
@@ -73,45 +82,59 @@
     <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
   </configfiles>
   <inputs>
-    <param name="in" argument="-in" type="data" format="consensusxml,featurexml,idxml" multiple="true" optional="false" label="Input files to align (all must have the same file type)" help=" select consensusxml,featurexml,idxml data sets(s)"/>
-    <param name="design" argument="-design" type="data" format="tabular" optional="true" label="input file containing the experimental design" help=" select tabular data sets(s)"/>
+    <conditional name="in_cond">
+      <param name="in_select" type="select" label="Run tool in batch mode for -in">
+        <option value="no">No: process all datasets jointly</option>
+        <option value="yes">Yes: process each dataset in an independent job</option>
+      </param>
+      <when value="no">
+        <param argument="-in" type="data" format="consensusxml,featurexml,idxml,sqlite" multiple="true" optional="false" label="Input files to align (all must have the same file type)" help=" select consensusxml,featurexml,idxml,sqlite data sets(s)"/>
+      </when>
+      <when value="yes">
+        <param argument="-in" type="data" format="consensusxml,featurexml,idxml,sqlite" multiple="false" optional="false" label="Input files to align (all must have the same file type)" help=" select consensusxml,featurexml,idxml,sqlite data sets(s)"/>
+      </when>
+    </conditional>
+    <param argument="-design" type="data" format="tabular" optional="true" label="Input file containing the experimental design" help=" select tabular data sets(s)"/>
+    <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?" help=""/>
     <section name="reference" title="Options to define a reference file (use either 'file' or 'index', not both)" help="" expanded="false">
-      <param name="file" argument="-reference:file" type="data" format="consensusxml,featurexml,idxml" optional="true" label="File to use as reference" help=" select consensusxml,featurexml,idxml data sets(s)"/>
+      <param name="file" argument="-reference:file" type="data" format="consensusxml,featurexml,idxml,sqlite" optional="true" label="File to use as reference" help=" select consensusxml,featurexml,idxml,sqlite data sets(s)"/>
       <param name="index" argument="-reference:index" type="integer" optional="true" min="0" value="0" label="Use one of the input files as reference ('1' for the first file, etc.)" help="If '0', no explicit reference is set - the algorithm will select a reference"/>
     </section>
     <section name="algorithm" title="Algorithm parameters section" help="" expanded="false">
-      <param name="score_cutoff" argument="-algorithm:score_cutoff" type="boolean" truevalue="true" falsevalue="false" checked="false" label="If only IDs above a score cutoff should be used" help="Used together with min_score"/>
-      <param name="min_score" argument="-algorithm:min_score" type="float" optional="true" value="0.05" label="Minimum score for an ID to be considered" help="Applies to the last score calculated.. Unless you have very few runs or identifications, increase this value to focus on more informative peptides"/>
+      <param name="score_type" argument="-algorithm:score_type" type="text" optional="true" value="" label="Name of the score type to use for ranking and filtering (.oms input only)" help="If left empty, a score type is picked automatically">
+        <expand macro="list_string_san" name="score_type"/>
+      </param>
+      <param name="score_cutoff" argument="-algorithm:score_cutoff" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use only IDs above a score cut-off (parameter 'min_score') for alignment?" help=""/>
+      <param name="min_score" argument="-algorithm:min_score" type="float" optional="true" value="0.05" label="If 'score_cutoff' is 'true': Minimum score for an ID to be considered" help="Unless you have very few runs or identifications, increase this value to focus on more informative peptides"/>
       <param name="min_run_occur" argument="-algorithm:min_run_occur" type="integer" optional="true" min="2" value="2" label="Minimum number of runs (incl" help="reference, if any) in which a peptide must occur to be used for the alignment.. Unless you have very few runs or identifications, increase this value to focus on more informative peptides"/>
       <param name="max_rt_shift" argument="-algorithm:max_rt_shift" type="float" optional="true" min="0.0" value="0.5" label="Maximum realistic RT difference for a peptide (median per run vs" help="reference). Peptides with higher shifts (outliers) are not used to compute the alignment.. If 0, no limit (disable filter); if &gt; 1, the final value in seconds; if &lt;= 1, taken as a fraction of the range of the reference RT scale"/>
       <param name="use_unassigned_peptides" argument="-algorithm:use_unassigned_peptides" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Should unassigned peptide identifications be used when computing an alignment of feature or consensus maps" help="If 'false', only peptide IDs assigned to features will be used"/>
       <param name="use_feature_rt" argument="-algorithm:use_feature_rt" type="boolean" truevalue="true" falsevalue="false" checked="false" label="When aligning feature or consensus maps, don't use the retention time of a peptide identification directly; instead, use the retention time of the centroid of the feature (apex of the elution profile) that the peptide was matched to" help="If different identifications are matched to one feature, only the peptide closest to the centroid in RT is used.. Precludes 'use_unassigned_peptides'"/>
+      <param name="use_adducts" argument="-algorithm:use_adducts" type="boolean" truevalue="true" falsevalue="false" checked="true" label="If IDs contain adducts, treat differently adducted variants of the same molecule as different" help=""/>
     </section>
     <section name="model" title="Options to control the modeling of retention time transformations from data" help="" expanded="false">
-      <param name="type" argument="-model:type" display="radio" type="select" optional="false" label="Type of model" help="">
+      <param name="type" argument="-model:type" type="select" optional="true" label="Type of model" help="">
         <option value="linear">linear</option>
         <option value="b_spline" selected="true">b_spline</option>
         <option value="lowess">lowess</option>
         <option value="interpolated">interpolated</option>
-        <expand macro="list_string_san"/>
+        <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" display="radio" type="select" optional="true" label="Weight x values" help="">
-          <option value="">default (nothing chosen)</option>
+        <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"/>
+          <expand macro="list_string_san" name="x_weight"/>
         </param>
-        <param name="y_weight" argument="-model:linear:y_weight" display="radio" type="select" optional="true" label="Weight y values" help="">
-          <option value="">default (nothing chosen)</option>
+        <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"/>
+          <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=""/>
@@ -121,12 +144,12 @@
       <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" display="radio" type="select" optional="false" 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)">
+        <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"/>
+          <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>
@@ -134,38 +157,38 @@
         <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" display="radio" type="select" optional="false" 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">
+        <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"/>
+          <expand macro="list_string_san" name="interpolation_type"/>
         </param>
-        <param name="extrapolation_type" argument="-model:lowess:extrapolation_type" display="radio" type="select" optional="false" 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">
+        <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"/>
+          <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" display="radio" type="select" optional="false" label="Type of interpolation to apply" help="">
+        <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"/>
+          <expand macro="list_string_san" name="interpolation_type"/>
         </param>
-        <param name="extrapolation_type" argument="-model:interpolated:extrapolation_type" display="radio" type="select" optional="false" 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">
+        <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"/>
+          <expand macro="list_string_san" name="extrapolation_type"/>
         </param>
       </section>
     </section>
     <expand macro="adv_opts_macro">
-      <param name="force" argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/>
-      <param name="test" argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help="">
-        <expand macro="list_string_san"/>
+      <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">
@@ -176,11 +199,11 @@
   </inputs>
   <outputs>
     <collection type="list" name="out" label="${tool.name} on ${on_string}: out">
-      <discover_datasets directory="out" pattern="__name_and_ext__"/>
+      <discover_datasets directory="out" recurse="true" pattern="__name_and_ext__"/>
       <filter>OPTIONAL_OUTPUTS is not None and "out_FLAG" in OPTIONAL_OUTPUTS</filter>
     </collection>
     <collection type="list" name="trafo_out" label="${tool.name} on ${on_string}: trafo_out">
-      <discover_datasets directory="trafo_out" format="trafoxml" pattern="__name__"/>
+      <discover_datasets directory="trafo_out" recurse="true" format="trafoxml" pattern="__name__"/>
       <filter>OPTIONAL_OUTPUTS is not None and "trafo_out_FLAG" in OPTIONAL_OUTPUTS</filter>
     </collection>
     <data name="stdout" format="txt" label="${tool.name} on ${on_string}: stdout">
@@ -190,13 +213,496 @@
       <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
     </data>
   </outputs>
-  <tests>
-    <expand macro="autotest_MapAlignerIdentification"/>
-    <expand macro="manutest_MapAlignerIdentification"/>
+  <tests><!-- TOPP_MapAlignerIdentification_1 -->
+    <test expect_num_outputs="2">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <conditional name="in_cond">
+        <param name="in" value="MapAlignerIdentification_1_input1.featureXML,MapAlignerIdentification_1_input2.featureXML"/>
+      </conditional>
+      <output_collection name="out" count="2"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_type" value=""/>
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+        <param name="use_adducts" value="true"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <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_MapAlignerIdentification_2 -->
+    <test expect_num_outputs="2">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <conditional name="in_cond">
+        <param name="in" value="MapAlignerIdentification_1_input1.featureXML"/>
+      </conditional>
+      <output_collection name="out" count="1"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerIdentification_1_input2.featureXML"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_type" value=""/>
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+        <param name="use_adducts" value="true"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <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_MapAlignerIdentification_3 -->
+    <test expect_num_outputs="2">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <conditional name="in_cond">
+        <param name="in" value="MapAlignerIdentification_1_input2.featureXML,MapAlignerIdentification_1_input1.featureXML"/>
+      </conditional>
+      <output_collection name="out" count="2"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="reference">
+        <param name="index" value="1"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_type" value=""/>
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+        <param name="use_adducts" value="true"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <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_MapAlignerIdentification_4 -->
+    <test expect_num_outputs="2">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <conditional name="in_cond">
+        <param name="in" value="MapAlignerIdentification_1_input1.featureXML,MapAlignerIdentification_1_input2.featureXML"/>
+      </conditional>
+      <output_collection name="out" count="2"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="reference">
+        <param name="index" value="2"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_type" value=""/>
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+        <param name="use_adducts" value="true"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <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_MapAlignerIdentification_5 -->
+    <test expect_num_outputs="2">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <conditional name="in_cond">
+        <param name="in" value="MapAlignerIdentification_5_input1.consensusXML,MapAlignerIdentification_5_input2.consensusXML"/>
+      </conditional>
+      <output_collection name="out" count="2"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="reference">
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_type" value=""/>
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+        <param name="use_adducts" value="true"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <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_MapAlignerIdentification_6 -->
+    <test expect_num_outputs="2">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <conditional name="in_cond">
+        <param name="in" value="MapAlignerIdentification_1_input1.featureXML"/>
+      </conditional>
+      <output_collection name="trafo_out" count="1"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerIdentification_1_input2.featureXML"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_type" value=""/>
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.0"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+        <param name="use_adducts" value="true"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <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_MapAlignerIdentification_7 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="force" value="true"/>
+        <param name="test" value="true"/>
+      </section>
+      <conditional name="in_cond">
+        <param name="in" value="MapAlignerIdentification_7_input1.idXML"/>
+      </conditional>
+      <output_collection name="out" count="1"/>
+      <output_collection name="trafo_out" count="1"/>
+      <param name="store_original_rt" value="false"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerIdentification_7_input2.idXML"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_type" value=""/>
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.5"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+        <param name="use_adducts" value="true"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <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,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <!-- TOPP_MapAlignerIdentification_8 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <conditional name="in_cond">
+        <param name="in" value="MapAlignerIdentification_8_input1.oms"/>
+      </conditional>
+      <output_collection name="out" count="1"/>
+      <output_collection name="trafo_out" count="1"/>
+      <param name="store_original_rt" value="true"/>
+      <section name="reference">
+        <param name="file" value="MapAlignerIdentification_8_input2.oms"/>
+        <param name="index" value="0"/>
+      </section>
+      <section name="algorithm">
+        <param name="score_type" value=""/>
+        <param name="score_cutoff" value="false"/>
+        <param name="min_score" value="0.05"/>
+        <param name="min_run_occur" value="2"/>
+        <param name="max_rt_shift" value="0.5"/>
+        <param name="use_unassigned_peptides" value="true"/>
+        <param name="use_feature_rt" value="false"/>
+        <param name="use_adducts" value="true"/>
+      </section>
+      <section name="model">
+        <param name="type" value="b_spline"/>
+        <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,trafo_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
   </tests>
   <help><![CDATA[Corrects retention time distortions between maps based on common peptide identifications.
 
 
-For more information, visit http://www.openms.de/doxygen/release/2.6.0/html/TOPP_MapAlignerIdentification.html]]></help>
+For more information, visit http://www.openms.de/doxygen/release/2.8.0/html/TOPP_MapAlignerIdentification.html]]></help>
   <expand macro="references"/>
 </tool>