diff MapAlignerPoseClustering.xml @ 6:e237cb433a92 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 020906fb54bde7fc143c356f41975c378a741315"
author galaxyp
date Wed, 09 Sep 2020 12:47:05 +0000
parents e86e83ac0cd3
children d17db97d139f
line wrap: on
line diff
--- a/MapAlignerPoseClustering.xml	Fri May 17 09:45:04 2019 -0400
+++ b/MapAlignerPoseClustering.xml	Wed Sep 09 12:47:05 2020 +0000
@@ -1,192 +1,158 @@
 <?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="MapAlignerPoseClustering" name="MapAlignerPoseClustering" version="2.3.0">
+<tool id="MapAlignerPoseClustering" name="MapAlignerPoseClustering" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
   <description>Corrects retention time distortions between maps using a pose clustering approach.</description>
   <macros>
     <token name="@EXECUTABLE@">MapAlignerPoseClustering</token>
     <import>macros.xml</import>
+    <import>macros_autotest.xml</import>
+    <import>macros_test.xml</import>
   </macros>
-  <expand macro="references"/>
-  <expand macro="stdio"/>
   <expand macro="requirements"/>
-  <command detect_errors="aggressive"><![CDATA[
-
-  #import re
-
-  mkdir -p ./results_trafoxml ./results_out &&
-  MapAlignerPoseClustering
-
--in
-#for $infile in $param_in:
-    '$infile'
-#end for
+  <expand macro="stdio"/>
+  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
+@EXT_FOO@
+#import re
 
--out
-#for $infile in $param_in:
-  #set escaped_element_identifier = re.sub('[^\w\-\s]', '_', str($infile.element_identifier))
-  './results_out/${escaped_element_identifier}.${infile.extension}'
-#end for
-
--trafo_out
-#for $infile in $param_in:
-  #set escaped_element_identifier = re.sub('[^\w\-\s]', '_', str($infile.element_identifier))
-  './results_trafoxml/${escaped_element_identifier}.trafoxml'
-#end for
-
-#if $param_reference_file:
-  -reference:file $param_reference_file
+## Preprocessing
+mkdir in &&
+${ ' '.join(["ln -s '%s' 'in/%s.%s' &&" % (_, re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in if _]) }
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir out &&
 #end if
-#if $param_reference_index:
-  -reference:index $param_reference_index
+#if "trafo_out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  mkdir trafo_out &&
 #end if
-#if $param_algorithm_max_num_peaks_considered:
-  -algorithm:max_num_peaks_considered $param_algorithm_max_num_peaks_considered
-#end if
-#if $param_algorithm_superimposer_mz_pair_max_distance:
-  -algorithm:superimposer:mz_pair_max_distance $param_algorithm_superimposer_mz_pair_max_distance
+#if $reference.file:
+  mkdir reference.file &&
+  ln -s '$reference.file' 'reference.file/${re.sub("[^\w\-_]", "_", $reference.file.element_identifier)}.$gxy2omsext($reference.file.ext)' &&
 #end if
-#if $param_algorithm_superimposer_num_used_points:
-  -algorithm:superimposer:num_used_points $param_algorithm_superimposer_num_used_points
-#end if
-#if $param_algorithm_superimposer_scaling_bucket_size:
-  -algorithm:superimposer:scaling_bucket_size $param_algorithm_superimposer_scaling_bucket_size
-#end if
-#if $param_algorithm_superimposer_shift_bucket_size:
-  -algorithm:superimposer:shift_bucket_size $param_algorithm_superimposer_shift_bucket_size
-#end if
-#if $param_algorithm_pairfinder_second_nearest_gap:
-  -algorithm:pairfinder:second_nearest_gap $param_algorithm_pairfinder_second_nearest_gap
-#end if
-#if $param_algorithm_pairfinder_use_identifications:
-  -algorithm:pairfinder:use_identifications
-#end if
-#if $param_algorithm_pairfinder_ignore_charge:
-  -algorithm:pairfinder:ignore_charge
-#end if
-#if $param_algorithm_pairfinder_distance_RT_max_difference:
-  -algorithm:pairfinder:distance_RT:max_difference $param_algorithm_pairfinder_distance_RT_max_difference
+
+## 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
+${' '.join(["'in/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in if _])}
+#if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
+  -out
+  ${' '.join(["'out/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), _.ext) for _ in $in if _])}
 #end if
-#if $param_algorithm_pairfinder_distance_MZ_max_difference:
-  -algorithm:pairfinder:distance_MZ:max_difference $param_algorithm_pairfinder_distance_MZ_max_difference
+#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 _])}
+#end if
+#if $reference.file:
+  -reference:file
+  'reference.file/${re.sub("[^\w\-_]", "_", $reference.file.element_identifier)}.$gxy2omsext($reference.file.ext)'
 #end if
-#if $param_algorithm_pairfinder_distance_MZ_unit:
-  -algorithm:pairfinder:distance_MZ:unit
-  #if " " in str($param_algorithm_pairfinder_distance_MZ_unit):
-    "$param_algorithm_pairfinder_distance_MZ_unit"
-  #else
-    $param_algorithm_pairfinder_distance_MZ_unit
-  #end if
+#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
+  | tee '$stdout'
 #end if
-#if $adv_opts.adv_opts_selector=='advanced':
-    #if $adv_opts.param_force:
-  -force
-#end if
-    #if $adv_opts.param_algorithm_superimposer_rt_pair_distance_fraction:
-  -algorithm:superimposer:rt_pair_distance_fraction $adv_opts.param_algorithm_superimposer_rt_pair_distance_fraction
-#end if
-    #if $adv_opts.param_algorithm_superimposer_max_shift:
-  -algorithm:superimposer:max_shift $adv_opts.param_algorithm_superimposer_max_shift
+
+## 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 _])}
 #end if
-    #if $adv_opts.param_algorithm_superimposer_max_scaling:
-  -algorithm:superimposer:max_scaling $adv_opts.param_algorithm_superimposer_max_scaling
-#end if
-    #if $adv_opts.param_algorithm_superimposer_dump_buckets:
-  -algorithm:superimposer:dump_buckets     "$adv_opts.param_algorithm_superimposer_dump_buckets"
-#end if
-    #if $adv_opts.param_algorithm_superimposer_dump_pairs:
-  -algorithm:superimposer:dump_pairs     "$adv_opts.param_algorithm_superimposer_dump_pairs"
-#end if
-    #if $adv_opts.param_algorithm_pairfinder_distance_RT_exponent:
-  -algorithm:pairfinder:distance_RT:exponent $adv_opts.param_algorithm_pairfinder_distance_RT_exponent
-#end if
-    #if $adv_opts.param_algorithm_pairfinder_distance_RT_weight:
-  -algorithm:pairfinder:distance_RT:weight $adv_opts.param_algorithm_pairfinder_distance_RT_weight
-#end if
-    #if $adv_opts.param_algorithm_pairfinder_distance_MZ_exponent:
-  -algorithm:pairfinder:distance_MZ:exponent $adv_opts.param_algorithm_pairfinder_distance_MZ_exponent
-#end if
-    #if $adv_opts.param_algorithm_pairfinder_distance_MZ_weight:
-  -algorithm:pairfinder:distance_MZ:weight $adv_opts.param_algorithm_pairfinder_distance_MZ_weight
-#end if
-    #if $adv_opts.param_algorithm_pairfinder_distance_intensity_exponent:
-  -algorithm:pairfinder:distance_intensity:exponent $adv_opts.param_algorithm_pairfinder_distance_intensity_exponent
-#end if
-    #if $adv_opts.param_algorithm_pairfinder_distance_intensity_weight:
-  -algorithm:pairfinder:distance_intensity:weight $adv_opts.param_algorithm_pairfinder_distance_intensity_weight
-#end if
-    #if $adv_opts.param_algorithm_pairfinder_distance_intensity_log_transform:
-  -algorithm:pairfinder:distance_intensity:log_transform
-  #if " " in str($adv_opts.param_algorithm_pairfinder_distance_intensity_log_transform):
-    "$adv_opts.param_algorithm_pairfinder_distance_intensity_log_transform"
-  #else
-    $adv_opts.param_algorithm_pairfinder_distance_intensity_log_transform
-  #end if
-#end if
-#end if
- ]]>
-</command>
+#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 name="param_in" type="data" format="mzML,featureXML" multiple="true" label="Input files to align (all must have the same file type)" help="(-in) "/>
-    <param name="param_reference_file" type="data" format="mzML,featureXML" optional="True" label="File to use as reference (same file format as input files required)" help="(-file) "/>
-    <param name="param_reference_index" type="integer" min="0" optional="True" value="0" label="Use one of the input files as reference ('1' for the first file, etc.)" help="(-index) &lt;br&gt;If '0', no explicit reference is set - the algorithm will select a reference"/>
-    <param name="param_algorithm_max_num_peaks_considered" type="integer" min="-1" optional="True" value="1000" label="The maximal number of peaks/features to be considered per map" help="(-max_num_peaks_considered) To use all, set to '-1'"/>
-    <param name="param_algorithm_superimposer_mz_pair_max_distance" type="float" min="0.0" optional="True" value="0.5" label="Maximum of m/z deviation of corresponding elements in different maps" help="(-mz_pair_max_distance)  This condition applies to the pairs considered in hashing"/>
-    <param name="param_algorithm_superimposer_num_used_points" type="integer" min="-1" optional="True" value="2000" label="Maximum number of elements considered in each map (selected by intensity)" help="(-num_used_points)  Use this to reduce the running time and to disregard weak signals during alignment.  For using all points, set this to -1"/>
-    <param name="param_algorithm_superimposer_scaling_bucket_size" type="float" min="0.0" optional="True" value="0.005" label="The scaling of the retention time interval is being hashed into buckets of this size during pose clustering" help="(-scaling_bucket_size)  A good choice for this would be a bit smaller than the error you would expect from repeated runs"/>
-    <param name="param_algorithm_superimposer_shift_bucket_size" type="float" min="0.0" optional="True" value="3.0" label="The shift at the lower (respectively, higher) end of the retention time interval is being hashed into buckets of this size during pose clustering" help="(-shift_bucket_size)  A good choice for this would be about the time between consecutive MS scans"/>
-    <param name="param_algorithm_pairfinder_second_nearest_gap" type="float" min="1.0" optional="True" value="2.0" label="Only link features whose distance to the second nearest neighbors (for both sides) is larger by 'second_nearest_gap' than the distance between the matched pair itself" help="(-second_nearest_gap) "/>
-    <param name="param_algorithm_pairfinder_use_identifications" display="radio" type="boolean" truevalue="-algorithm:pairfinder:use_identifications" falsevalue="" checked="false" optional="True" label="Never link features that are annotated with different peptides (features without ID's always match; only the best hit per peptide identification is considered)" help="(-use_identifications) "/>
-    <param name="param_algorithm_pairfinder_ignore_charge" display="radio" type="boolean" truevalue="-algorithm:pairfinder:ignore_charge" falsevalue="" checked="false" optional="True" label="false [default]: pairing requires equal charge state (or at least one unknown charge '0'); true: Pairing irrespective of charge state" help="(-ignore_charge) "/>
-    <param name="param_algorithm_pairfinder_distance_RT_max_difference" type="float" min="0.0" optional="True" value="100.0" label="Never pair features with a larger RT distance (in seconds)" help="(-max_difference) "/>
-    <param name="param_algorithm_pairfinder_distance_MZ_max_difference" type="float" min="0.0" optional="True" value="0.3" label="Never pair features with larger m/z distance (unit defined by 'unit')" help="(-max_difference) "/>
-    <param name="param_algorithm_pairfinder_distance_MZ_unit" display="radio" type="select" optional="False" value="Da" label="Unit of the 'max_difference' paramete" help="(-unit) ">
-      <option value="Da" selected="true">Da</option>
-      <option value="ppm">ppm</option>
-    </param>
-    <expand macro="advanced_options">
-      <param name="param_force" display="radio" type="boolean" truevalue="-force" falsevalue="" checked="false" optional="True" label="Overwrite tool specific checks" help="(-force) "/>
-      <param name="param_algorithm_superimposer_rt_pair_distance_fraction" type="float" min="0.0" max="1.0" optional="True" value="0.1" label="Within each of the two maps, the pairs considered for pose clustering must be separated by at least this fraction of the total elution time interval (i.e., max - min)" help="(-rt_pair_distance_fraction)  "/>
-      <param name="param_algorithm_superimposer_max_shift" type="float" min="0.0" optional="True" value="1000.0" label="Maximal shift which is considered during histogramming (in seconds)" help="(-max_shift)  This applies for both directions"/>
-      <param name="param_algorithm_superimposer_max_scaling" type="float" min="1.0" optional="True" value="2.0" label="Maximal scaling which is considered during histogramming" help="(-max_scaling)  The minimal scaling is the reciprocal of this"/>
-      <param name="param_algorithm_superimposer_dump_buckets" type="text" size="30" label="[DEBUG] If non-empty, base filename where hash table buckets will be dumped to" help="(-dump_buckets)  A serial number for each invocation will be appended automatically">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
-      </param>
-      <param name="param_algorithm_superimposer_dump_pairs" type="text" size="30" label="[DEBUG] If non-empty, base filename where the individual hashed pairs will be dumped to (large!)" help="(-dump_pairs)  A serial number for each invocation will be appended automatically">
-        <sanitizer>
-          <valid initial="string.printable">
-            <remove value="'"/>
-            <remove value="&quot;"/>
-          </valid>
-        </sanitizer>
-      </param>
-      <param name="param_algorithm_pairfinder_distance_RT_exponent" type="float" min="0.0" optional="True" value="1.0" label="Normalized RT differences ([0-1], relative to 'max_difference') are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)" help="(-exponent) "/>
-      <param name="param_algorithm_pairfinder_distance_RT_weight" type="float" min="0.0" optional="True" value="1.0" label="Final RT distances are weighted by this facto" help="(-weight) "/>
-      <param name="param_algorithm_pairfinder_distance_MZ_exponent" type="float" min="0.0" optional="True" value="2.0" label="Normalized ([0-1], relative to 'max_difference') m/z differences are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)" help="(-exponent) "/>
-      <param name="param_algorithm_pairfinder_distance_MZ_weight" type="float" min="0.0" optional="True" value="1.0" label="Final m/z distances are weighted by this facto" help="(-weight) "/>
-      <param name="param_algorithm_pairfinder_distance_intensity_exponent" type="float" min="0.0" optional="True" value="1.0" label="Differences in relative intensity ([0-1]) are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)" help="(-exponent) "/>
-      <param name="param_algorithm_pairfinder_distance_intensity_weight" type="float" min="0.0" optional="True" value="0.0" label="Final intensity distances are weighted by this facto" help="(-weight) "/>
-      <param name="param_algorithm_pairfinder_distance_intensity_log_transform" display="radio" type="select" optional="False" value="disabled" label="Log-transform intensities?" help="(-log_transform) If disabled, d = |int_f2 - int_f1| / int_max. If enabled, d = |log(int_f2 + 1) - log(int_f1 + 1)| / log(int_max + 1))">
-        <option value="enabled">enabled</option>
-        <option value="disabled" selected="true">disabled</option>
+    <param name="in" argument="-in" type="data" format="featurexml,mzml" multiple="true" optional="false" label="Input files to align (all must have the same file type)" help=" select featurexml,mzml data sets(s)"/>
+    <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="featurexml,mzml" optional="true" label="File to use as reference (same file format as input files required)" help=" select featurexml,mzml 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="max_num_peaks_considered" argument="-algorithm:max_num_peaks_considered" type="integer" optional="true" min="-1" value="1000" label="The maximal number of peaks/features to be considered per map" help="To use all, set to '-1'"/>
+      <section name="superimposer" title="" help="" expanded="false">
+        <param name="mz_pair_max_distance" argument="-algorithm:superimposer:mz_pair_max_distance" type="float" optional="true" min="0.0" value="0.5" label="Maximum of m/z deviation of corresponding elements in different maps" help="This condition applies to the pairs considered in hashing"/>
+        <param name="rt_pair_distance_fraction" argument="-algorithm:superimposer:rt_pair_distance_fraction" type="float" optional="true" min="0.0" max="1.0" value="0.1" label="Within each of the two maps, the pairs considered for pose clustering must be separated by at least this fraction of the total elution time interval" help="(i.e., max - min).  "/>
+        <param name="num_used_points" argument="-algorithm:superimposer:num_used_points" type="integer" optional="true" min="-1" value="2000" label="Maximum number of elements considered in each map (selected by intensity)" help="Use this to reduce the running time and to disregard weak signals during alignment.  For using all points, set this to -1"/>
+        <param name="scaling_bucket_size" argument="-algorithm:superimposer:scaling_bucket_size" type="float" optional="true" min="0.0" value="0.005" label="The scaling of the retention time interval is being hashed into buckets of this size during pose clustering" help="A good choice for this would be a bit smaller than the error you would expect from repeated runs"/>
+        <param name="shift_bucket_size" argument="-algorithm:superimposer:shift_bucket_size" type="float" optional="true" min="0.0" value="3.0" label="The shift at the lower (respectively, higher) end of the retention time interval is being hashed into buckets of this size during pose clustering" help="A good choice for this would be about the time between consecutive MS scans"/>
+        <param name="max_shift" argument="-algorithm:superimposer:max_shift" type="float" optional="true" min="0.0" value="1000.0" label="Maximal shift which is considered during histogramming (in seconds)" help="This applies for both directions"/>
+        <param name="max_scaling" argument="-algorithm:superimposer:max_scaling" type="float" optional="true" min="1.0" value="2.0" label="Maximal scaling which is considered during histogramming" help="The minimal scaling is the reciprocal of this"/>
+        <param name="dump_buckets" argument="-algorithm:superimposer:dump_buckets" type="text" optional="true" value="" label="[DEBUG] If non-empty, base filename where hash table buckets will be dumped to" help="A serial number for each invocation will be appended automatically">
+          <expand macro="list_string_san"/>
+        </param>
+        <param name="dump_pairs" argument="-algorithm:superimposer:dump_pairs" type="text" optional="true" value="" label="[DEBUG] If non-empty, base filename where the individual hashed pairs will be dumped to (large!)" help="A serial number for each invocation will be appended automatically">
+          <expand macro="list_string_san"/>
+        </param>
+      </section>
+      <section name="pairfinder" title="" help="" expanded="false">
+        <param name="second_nearest_gap" argument="-algorithm:pairfinder:second_nearest_gap" type="float" optional="true" min="1.0" value="2.0" label="Only link features whose distance to the second nearest neighbors (for both sides) is larger by 'second_nearest_gap' than the distance between the matched pair itself" help=""/>
+        <param name="use_identifications" argument="-algorithm:pairfinder:use_identifications" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Never link features that are annotated with different peptides (features without ID's always match; only the best hit per peptide identification is considered)" help=""/>
+        <param name="ignore_charge" argument="-algorithm:pairfinder:ignore_charge" type="boolean" truevalue="true" falsevalue="false" checked="false" label="false [default]: pairing requires equal charge state (or at least one unknown charge '0'); true: Pairing irrespective of charge state" help=""/>
+        <param name="ignore_adduct" argument="-algorithm:pairfinder:ignore_adduct" type="boolean" truevalue="true" falsevalue="false" checked="true" label="true [default]: pairing requires equal adducts (or at least one without adduct annotation); true: Pairing irrespective of adducts" help=""/>
+        <section name="distance_RT" title="Distance component based on RT differences" help="" expanded="false">
+          <param name="max_difference" argument="-algorithm:pairfinder:distance_RT:max_difference" type="float" optional="true" min="0.0" value="100.0" label="Never pair features with a larger RT distance (in seconds)" help=""/>
+          <param name="exponent" argument="-algorithm:pairfinder:distance_RT:exponent" type="float" optional="true" min="0.0" value="1.0" label="Normalized RT differences ([0-1], relative to 'max_difference') are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)" help=""/>
+          <param name="weight" argument="-algorithm:pairfinder:distance_RT:weight" type="float" optional="true" min="0.0" value="1.0" label="Final RT distances are weighted by this facto" help=""/>
+        </section>
+        <section name="distance_MZ" title="Distance component based on m/z differences" help="" expanded="false">
+          <param name="max_difference" argument="-algorithm:pairfinder:distance_MZ:max_difference" type="float" optional="true" min="0.0" value="0.3" label="Never pair features with larger m/z distance (unit defined by 'unit')" help=""/>
+          <param name="unit" argument="-algorithm:pairfinder:distance_MZ:unit" display="radio" type="select" optional="false" label="Unit of the 'max_difference' paramete" help="">
+            <option value="Da" selected="true">Da</option>
+            <option value="ppm">ppm</option>
+            <expand macro="list_string_san"/>
+          </param>
+          <param name="exponent" argument="-algorithm:pairfinder:distance_MZ:exponent" type="float" optional="true" min="0.0" value="2.0" label="Normalized ([0-1], relative to 'max_difference') m/z differences are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)" help=""/>
+          <param name="weight" argument="-algorithm:pairfinder:distance_MZ:weight" type="float" optional="true" min="0.0" value="1.0" label="Final m/z distances are weighted by this facto" help=""/>
+        </section>
+        <section name="distance_intensity" title="Distance component based on differences in relative intensity (usually relative to highest peak in the whole data set)" help="" expanded="false">
+          <param name="exponent" argument="-algorithm:pairfinder:distance_intensity:exponent" type="float" optional="true" min="0.0" value="1.0" label="Differences in relative intensity ([0-1]) are raised to this power (using 1 or 2 will be fast, everything else is REALLY slow)" help=""/>
+          <param name="weight" argument="-algorithm:pairfinder:distance_intensity:weight" type="float" optional="true" min="0.0" value="0.0" label="Final intensity distances are weighted by this facto" help=""/>
+          <param name="log_transform" argument="-algorithm:pairfinder:distance_intensity:log_transform" display="radio" type="select" optional="false" label="Log-transform intensities" help="If disabled, d = |int_f2 - int_f1| / int_max. If enabled, d = |log(int_f2 + 1) - log(int_f1 + 1)| / log(int_max + 1))">
+            <option value="enabled">enabled</option>
+            <option value="disabled" selected="true">disabled</option>
+            <expand macro="list_string_san"/>
+          </param>
+        </section>
+      </section>
+    </section>
+    <expand macro="adv_opts_macro">
+      <param name="force" argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overwrite 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>
     </expand>
-    </inputs>
-    <outputs>
-        <collection name="out" type="list">
-            <discover_datasets pattern="__designation_and_ext__" directory="results_out"/>
-        </collection>
+    <param name="OPTIONAL_OUTPUTS" type="select" multiple="true" label="Optional outputs" optional="false">
+      <option value="out_FLAG">out (Log-transform intensities)</option>
+      <option value="trafo_out_FLAG">trafo_out (Log-transform intensities)</option>
+      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
+    </param>
+  </inputs>
+  <outputs>
+    <collection type="list" name="out" label="${tool.name} on ${on_string}: out">
+      <discover_datasets directory="out" 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__"/>
+      <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">
+      <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>
+    <expand macro="autotest_MapAlignerPoseClustering"/>
+    <expand macro="manutest_MapAlignerPoseClustering"/>
+  </tests>
+  <help><![CDATA[Corrects retention time distortions between maps using a pose clustering approach.
 
-        <collection name="trafo_out" type="list">
-            <discover_datasets pattern="__designation_and_ext__" directory="results_trafoxml"/>
-        </collection>
-    </outputs>
-    <help>Corrects retention time distortions between maps using a pose clustering approach.
 
-For more information, visit https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/2.3.0/html/TOPP_MapAlignerPoseClustering.html</help>
+For more information, visit http://www.openms.de/documentation/TOPP_MapAlignerPoseClustering.html]]></help>
+  <expand macro="references"/>
 </tool>