changeset 10:23ecd1ee4422 draft default tip

"planemo upload for repository https://github.com/msproteomicstools/msproteomicstools/blob/master/TRIC-README.md commit 75f5dee4cc5cb3dbfac3d1d32d8bceb2a22634d7"
author galaxyp
date Fri, 10 Dec 2021 00:29:34 +0000
parents 9ad7babdbedd
children
files feature_alignment.xml macros.xml test-data/feature_alignment_1_openswath_output_cluster_ids.csv test-data/feature_alignment_1_openswath_output_matrix.csv test-data/feature_alignment_2_output_1_ids.csv test-data/feature_alignment_2_output_2_matrix.csv test-data/feature_alignment_3_openswath_output_cluster_ids.csv test-data/feature_alignment_3_openswath_output_splinePy_cluster_ids.csv test-data/feature_alignment_3_openswath_output_splineR_cluster_ids.csv test-data/feature_alignment_5_peakview_output_matrix.csv tool_dependencies.xml
diffstat 11 files changed, 310 insertions(+), 158 deletions(-) [+]
line wrap: on
line diff
--- a/feature_alignment.xml	Sat May 30 05:27:37 2015 -0400
+++ b/feature_alignment.xml	Fri Dec 10 00:29:34 2021 +0000
@@ -1,109 +1,218 @@
-<tool id="feature_alignment" name="Feature Alignment" version="0.1">
-    <description>of peakgroups below a FDR</description>
+<tool id="feature_alignment" name="TRIC" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@">
+    <description>integrates information from all available runs via a graph-based alignment strategy</description>
+    <macros>
+        <token name="@TOOL_VERSION@">0.11.0</token>
+        <token name="@GALAXY_VERSION@">0</token>
+        <import>macros.xml</import>
+    </macros>
     <requirements>
-        <requirement type="package" version="2.7">python</requirement>
-        <requirement type="package" version="0.3.2">msproteomicstools</requirement>
+        <requirement type="package" version="@TOOL_VERSION@">msproteomicstools</requirement>
+        <requirement type="package" version="2.8.6">rpy2</requirement>
     </requirements>
-    <stdio>
-        <!-- Anything other than zero is an error -->
-        <exit_code range="1:" />
-        <exit_code range=":-1" />
-        <!-- In case the return code has not been set propery check stderr too -->
-        <regex match="Error:" />
-        <regex match="Exception:" />
-    </stdio>
     <version_command>feature_alignment.py --version</version_command>
-    <command>
-<![CDATA[
+    <command detect_errors="exit_code"><![CDATA[
     feature_alignment.py 
-        --in #echo '" "'.join([ str($file) for $file in $inputs ]) #
-        --file_format $iformat
-        ##if str($iformat) == "openswath":
-            --out $out
-        ##end if
+        --in #echo '' ''.join([ str($file) for $file in $inputs ])
+        --out out.tsv
         --out_matrix out_matrix.tsv
-        --out_ids $out_ids
-        --fdr_cutoff $fdr_cutoff
-        #if $max_fdr_quality:
-            --max_fdr_quality $max_fdr_quality
+        --out_ids out_ids.tsv
+        --file_format '$iformat'
+        --method '$method_sel.method'
+        --matrix_output_method '$matrix_output_method'
+        --realign_method '$realign_method'
+        #if $max_rt_diff_cond.max_rt_diff_sel == 'opt_max_rt_diff_enabled':
+            --max_rt_diff '$max_rt_diff_cond.max_rt_diff'
         #end if
-        #if $max_rt_diff:
-            --max_rt_diff $max_rt_diff
+        #if $iso_max_rt_diff_cond.iso_max_rt_diff_sel == 'opt_iso_max_rt_diff_enabled':
+            --iso_max_rt_diff '$iso_max_rt_diff_cond.iso_max_rt_diff'
+        #end if
+        #if $frac_selected_cond.frac_selected_sel == 'opt_frac_selected_enabled':
+            --frac_selected '$frac_selected_cond.frac_selected'
         #end if
-        #if $iso_max_rt_diff:
-            --iso_max_rt_diff $iso_max_rt_diff
+        #if $fdr_cond.fdr_sel == 'opt_target_fdr':
+            --target_fdr '$fdr_cond.target_fdr'
+        #elif $fdr_cond.fdr_sel == 'opt_fdr_cutoff':
+            --fdr_cutoff '$fdr_cond.fdr_cutoff'
+        #else:
+            --target_fdr '0'
         #end if
-        #if $frac_selected:
-            --frac_selected $frac_selected
+        --max_fdr_quality '$max_fdr_quality'
+        #if $method_sel.method == 'LocalMST' or $method_sel.method == 'LocalMSTAllCluster':
+            --mst:useRTCorrection '$method_sel.mst_useRTCorrection'
+            --mst:Stdev_multiplier '$method_sel.mst_Stdev_multiplier'
+            --mst:useLocalStdev '$method_sel.mst_useLocalStdev'
+            --mst:useReference '$method_sel.mst_useReference'
+        #end if
+        #if $further_params.disable_isotopic_grouping:
+            --disable_isotopic_grouping
+        #end if
+        #if $further_params.dscore_cond.dscore_sel == 'opt_dscore_enabled':
+            --use_dscore_filter
+            --dscore_cutoff '$further_params.dscore_cond.dscore_cutoff'
         #end if
-        --method $method
-        --matrix_output_method $matrix_output_method
-        --realign_method $realign_method
-        &&
-        mv out_matrix.tsv $out_matrix
+        #if $further_params.nr_high_conf_exp_cond.nr_high_conf_exp_sel == 'opt_nr_high_conf_exp_enabled':
+            --nr_high_conf_exp '$further_params.nr_high_conf_exp_cond.nr_high_conf_exp'
+        #end if
+        #if $further_params.readmethod != 'disabled':
+            --readmethod '$further_params.readmethod'
+        #end if
+        #if $further_params.alignment_score_cond.alignment_score_sel == 'opt_alignment_score_enabled':
+            --alignment_score '$further_params.alignment_score_cond.alignment_score'
+        #end if
 
-]]></command>
+    #if $iformat == 'openswath':
+        && cat out.tsv > '$out'
+    #end if
+    && cat out_matrix.tsv > '$out_matrix'
+    && cat out_ids.tsv > '$out_ids'
+    ]]></command>
     <inputs>
-
-        <param name="inputs" type="data" multiple="True" format="txt"
-            label="A list of mProphet output files containing all peakgroups" help="(--in)"/>
+        <param name="inputs" type="data" multiple="True" format="txt" label="Output files containing all peakgroups from OpenSWATH (using either mProphet or pyProphet) or Peakview." help="(--in)"/>
         <param name="iformat" type="select" label="Which input file format is used" help="(--file_format)">
             <option value="openswath" selected="True">OpenSwath</option>
-            <option value="peakview">Peakview</option>
+            <option value="mprophet">mProphet (mQuest)</option>
+            <option value="peakview">PeakView</option>
         </param>
-
-        <param name="fdr_cutoff" type="float" value="0.01" label="Seeding score cutoff" help="(--fdr_cutoff)" />
-        <param name="max_fdr_quality" type="float" value="-1.0" default="-1.0" optional="True"
-            label="Extension score cutoff"
-            help="During the extension phase of the algorithm, peakgroups of this quality will still be considered for alignment (in FDR) - it is possible to give a range in the format lower,higher+stepsize,stepsize - e.g. 0,0.31,0.01 (-1 will set it to fdr_cutoff) (--max_fdr_quality)"/>
-        <param name="max_rt_diff" type="integer" value="30" default="30" optional="True"
-            label="Maximal difference in RT for two aligned features" help="(--max_rt_diff)"/>
-        <param name="iso_max_rt_diff" type="integer" value="10" default="10" optional="True"
-            label="Maximal difference in RT for two isotopic channels in the same run" help="(--iso_max_rt_diff)" />
-        <param name="frac_selected" type="float" value="0.0" min="0" max="1" optional="True"
-            label="Do not write peakgroup if selected in less than this fraction of runs" help="(--frac_selected)"/>
-        <param name="method" type="select"
-            label="Which method to use for the clustering"
-            help="Note that the MST options will perform a local, MST guided alignment while the other options will use a reference-guided alignment. The global option will also move peaks which are below the selected FDR threshold. (--method)" >
-            <option value='best_overall' selected="True">best_overall</option>
-            <option value='best_cluster_score'>best_cluster_score</option>
-            <option value='global_best_cluster_score'>global_best_cluster_score</option>
-            <option value='global_best_overall'>global_best_overall</option>
-            <option value='LocalMST'>LocalMST</option>
-            <option value='LocalMSTAllCluster'>LocalMSTAllCluster</option>
-        </param>
-
+        <conditional name="method_sel">
+            <param name="method" type="select" label="Which method to use for the clustering"
+                help="Note that the MST options will perform a local, MST guided alignment while the other options will use a reference-guided alignment. The global option will also move peaks which are below the selected FDR threshold. (--method)" >
+                <option value="best_overall" selected="True">best overall</option>
+                <option value="best_cluster_score">best cluster score</option>
+                <option value="global_best_cluster_score">global best cluster score</option>
+                <option value="global_best_overall">global best overall</option>
+                <option value="LocalMST">LocalMST</option>
+                <option value="LocalMSTAllCluster">LocalMSTAllCluster</option>
+            </param>
+            <when value="best_overall"/>
+            <when value="best_cluster_score"/>
+            <when value="global_best_cluster_score"/>
+            <when value="global_best_overall"/>
+            <when value="LocalMST">
+                <expand macro="mst_params"/>
+            </when>
+            <when value="LocalMSTAllCluster">
+                <expand macro="mst_params"/>
+            </when>
+        </conditional>
         <param name="matrix_output_method" type="select"
             label="Which columns are written besides Intensity" help="(--matrix_output_method)">
-            <option value='none' selected="True">None</option>
-            <option value='RT'>RT</option>
-            <option value='score'>Score</option>
-            <option value='source'>Source</option>
-            <option value='full'>Full</option>
+            <option value="none" selected="True">None</option>
+            <option value="RT">RT</option>
+            <option value="score">Score</option>
+            <option value="source">Source</option>
+            <option value="full">Full</option>
         </param>
         <param name="realign_method" type="select" label="How to re-align runs in retention time" help="(--realign_method)">
-            <option value='diRT' selected="True">Use only deltaiRT from the input file</option>
-            <option value='linear'>Perform a linear regression using best peakgroups</option>
-            <!--option value='splineR'>Perform a spline fit using R</option-->
-            <!--option value='splineR_external'>Perform a spline fit using R</option-->
-            <option value='splinePy'>Use Python native spline from scikits.datasmooth (slow!)</option>
-            <option value='lowess'>Use Robust locally weighted regression (lowess smoother)</option>
-            <option value='CVSpline'>Splines with cross-validation</option>
-            <option value='nonCVSpline'>Splines without cross-validation</option>
-            <option value='earth' >Use Multivariate Adaptive Regression Splines using py-earth</option>
+            <option value="diRT" selected="True">Use only deltaiRT (diRT) from the input file</option>
+            <option value="linear">Perform a linear regression using best peakgroups</option>
+            <option value="lowess">Use Robust locally weighted regression (lowess smoother)</option>
+            <option value="splinePy">Use Python native spline from scikits.datasmooth (slow!)</option>
+            <option value="CVSpline">Splines with cross-validation</option>
+            <option value="nonCVSpline">Splines without cross-validation</option>
+            <option value="WeightedNearestNeighbour">WeightedNearestNeighbour</option>
+            <option value="SmoothLLDMedian">SmoothLLDMedian</option>
+            <option value="splineR">Perform a spline fit using R</option>
+            <option value="splineR_external">Perform a spline fit using R (external)</option>
+            <option value="Earth">Use Multivariate Adaptive Regression Splines using py-earth</option>
+            <option value="lowess_cython">lowess_cython</option>
         </param>
+        <conditional name="max_rt_diff_cond">
+            <param name="max_rt_diff_sel" type="select" label="Enable difference in RT for two aligned features" help="Maximal difference in RT for two aligned features">
+                <option value="opt_max_rt_diff_disabled" selected="True">disabled</option>
+                <option value="opt_max_rt_diff_enabled">set difference in RT</option>
+            </param>
+            <when value="opt_max_rt_diff_disabled"/>
+            <when value="opt_max_rt_diff_enabled">
+                <param name="max_rt_diff" type="integer" value="30" label="Difference in RT (in seconds) for two aligned features" help="(--max_rt_diff)"/>
+            </when>
+        </conditional>
+        <conditional name="iso_max_rt_diff_cond">
+            <param name="iso_max_rt_diff_sel" type="select" label="Enable difference in RT for two isotopic channels" help="Maximal difference in RT (in seconds) for two isotopic channels in the same run">
+                <option value="opt_iso_max_rt_diff_disabled" selected="True">disabled</option>
+                <option value="opt_iso_max_rt_diff_enabled">set difference in RT</option>
+            </param>
+            <when value="opt_iso_max_rt_diff_disabled"/>
+            <when value="opt_iso_max_rt_diff_enabled">
+                <param name="iso_max_rt_diff" type="integer" value="30" label="Difference in RT (in seconds) for two isotopic channels." help="(--iso_max_rt_diff)" />
+            </when>
+        </conditional>
+        <conditional name="frac_selected_cond">
+            <param name="frac_selected_sel" type="select" label="Enable fraction of runs" help="Do not write peakgroup if selected in less than this fraction of runs">
+                <option value="opt_frac_selected_disabled" selected="True">disabled</option>
+                <option value="opt_frac_selected_enabled">set fraction of runs</option>
+            </param>
+            <when value="opt_frac_selected_disabled"/>
+            <when value="opt_frac_selected_enabled">
+                <param name="frac_selected" type="float" value="0.0" min="0" max="1" label="Fraction of runs" help="(--frac_selected)"/>
+            </when>
+        </conditional>
+        <conditional name="fdr_cond">
+            <param name="fdr_sel" type="select" label="Choose FDR method" help="">
+                <option value="opt_fdr_disabled">disabled</option>
+                <option value="opt_target_fdr" selected="True">Target FDR</option>
+                <option value="opt_fdr_cutoff">FDR cutoff</option>
+            </param>
+            <when value="opt_fdr_disabled"/>
+            <when value="opt_target_fdr">
+                <param name="target_fdr" type="float" value="0.01" label="Target FDR" help="Refers to the desired FDR on assay level. (--target_fdr)"/>
+            </when>
+            <when value="opt_fdr_cutoff">
+                <param name="fdr_cutoff" type="float" value="0.01" label="Seeding score cutoff" help="A fixed m-score cutoff which does not take into account the number of runs (use target_fdr instead). (--fdr_cutoff)" />
+            </when>
+        </conditional>
+        <param name="max_fdr_quality" type="float" value="0.05" min="0" label="Extension score cutoff"
+               help="During the extension phase of the algorithm, peakgroups of this quality will still be considered for alignment (in FDR) - it is possible to give a range in the format lower,higher+stepsize,stepsize - e.g. 0,0.31,0.01  (-1 will set it to fdr_cutoff) (--max_fdr_quality)"/>
+        <section name="further_params" title="Further parameters" expanded="False">
+            <param name="disable_isotopic_grouping" type="boolean" truevalue="True" falsevalue="False" checked="false" label="Disable grouping of isotopic variants"
+                   help="Disable grouping of isotopic variants by peptide_group_label, thus disabling matching of isotopic variants of the same peptide across channels. If turned off, each isotopic channel will be matched independently of the other. If enabled, the more certain identification will be used to infer the location of the peak in the other channel. (--disable_isotopic_grouping)"/>
+            <conditional name="dscore_cond">
+                <param name="dscore_sel" type="select" label="Enable the filter by d score (this is mainly for speedup)" help="">
+                    <option value="opt_dscore_disabled" selected="True">disabled</option>
+                    <option value="opt_dscore_enabled">Use d score filter</option>
+                </param>
+                <when value="opt_dscore_disabled"/>
+                <when value="opt_dscore_enabled">
+                    <param name="dscore_cutoff" type="float" value="1.96" label="d score cut-off"
+                           help="Quality cutoff to still consider a feature for alignment using the d_score: everything below this d-score is discarded (this is mainly for speedup). (--dscore_cutoff)"/>
+                </when>
+            </conditional>
+            <conditional name="nr_high_conf_exp_cond">
+                <param name="nr_high_conf_exp_sel" type="select" label="Enable the filter by d score (this is mainly for speedup)" help="">
+                    <option value="opt_nr_high_conf_exp_disabled" selected="True">disabled</option>
+                    <option value="opt_nr_high_conf_exp_enabled">Use number of experiments</option>
+                </param>
+                <when value="opt_nr_high_conf_exp_disabled"/>
+                <when value="opt_nr_high_conf_exp_enabled">
+                    <param name="nr_high_conf_exp" type="integer" value="1" optional="True" label="Number of experiments with high confidence"
+                           help="Number of experiments in which the peptide needs to be identified with high confidence (e.g. above fdr_curoff). (--nr_high_conf_exp)"/>
+                </when>
+            </conditional>
+            <param name="readmethod" type="select" label="Read full or minimal transition groups" optional="True" help="(--readmethod)">
+                <option value="disabled" selected="True">disabled</option>
+                <option value="minimal">minimal</option>
+                <option value="full">full</option>
+            </param>
+            <conditional name="alignment_score_cond">
+                <param name="alignment_score_sel" type="select" label="Enable the filter by d score (this is mainly for speedup)" help="">
+                    <option value="opt_alignment_score_disabled" selected="True">disabled</option>
+                    <option value="opt_alignment_score_enabled">Use number of experiments</option>
+                </param>
+                <when value="opt_alignment_score_disabled"/>
+                <when value="opt_alignment_score_enabled">
+                    <param name="alignment_score" type="float" value="0.0001" optional="True" label="Alignment score"
+                           help="Minimal score needed for a feature to be considered for alignment between runs (e.g. score needed to be considered an 'anchor point' for pairwise alignment). (--alignment_score)"/>
+                </when>
+            </conditional>
+        </section>
     </inputs>
     <outputs>
         <!-- Matrix containing one peak group per row -->
         <data format="tabular" name="out_matrix"/>
         <!-- Id file only containing the ids -->
         <data format="tabular" name="out_ids"/>
-        <!-- Output file with filtered peakgroups for quantification (only works for OpenSWATH) -->
+        <!-- Output file with filtered peakgroups for quantification -->
         <data format="tabular" name="out">
-            <!-- according to the documentation this output only works for SWATH, 
-            but it is a requirement argument in python argparse.
-            So we need to output it. -->
-            <!--filter>iformat == 'openswath'</filter-->
+            <filter>iformat == 'openswath'</filter>
         </data>
     </outputs>
     <tests>
@@ -111,59 +220,70 @@
             <param name="inputs" value="feature_alignment_openswath_input_1.csv" ftype="txt" />
             <param name="iformat" value="openswath" />
             <param name="method" value="best_cluster_score" />
+            <param name="fdr_sel" value="opt_fdr_disabled" />
             <param name="max_fdr_quality" value="0.4" />
             <param name="matrix_output_method" value="RT" />
-            <output name="out_matrix" file="feature_alignment_1_openswath_output_matrix.csv" ftype="tabular" />
+            <output name="out_matrix" file="feature_alignment_1_openswath_output_matrix.csv" lines_diff="2" ftype="tabular" />
             <output name="out_ids" file="feature_alignment_1_openswath_output_cluster_ids.csv" ftype="tabular" />
         </test>
         <test>
             <param name="inputs" value="feature_alignment_openswath_input_1.csv" ftype="txt" />
             <param name="iformat" value="openswath" />
             <param name="method" value="best_overall" />
+            <param name="fdr_sel" value="opt_fdr_disabled" />
             <param name="max_fdr_quality" value="0.4" />
             <param name="matrix_output_method" value="RT" />
-            <output name="out_matrix" file="feature_alignment_2_output_2_matrix.csv" ftype="tabular" />
+            <output name="out_matrix" file="feature_alignment_2_output_2_matrix.csv" lines_diff="2" ftype="tabular" />
             <output name="out_ids" file="feature_alignment_2_output_1_ids.csv" ftype="tabular" />
         </test>
-        <!-- needs R dependency; The python equivalent should be enough I guess.
         <test>
             <param name="inputs" value="feature_alignment_3_openswath_input.csv" ftype="txt" />
             <param name="iformat" value="openswath" />
             <param name="realign_method" value="splineR" />
             <param name="method" value="best_cluster_score" />
+            <param name="fdr_sel" value="opt_fdr_disabled" />
             <param name="max_fdr_quality" value="0.4" />
-            <param name="maxtrix_output_method" value="RT" />
-            <output name="out_ids" file="feature_alignment_3_openswath_output_cluster_ids.csv" ftype="tabular" />
+            <param name="matrix_output_method" value="RT" />
+            <output name="out_ids" file="feature_alignment_3_openswath_output_splineR_cluster_ids.csv" ftype="tabular" />
         </test>
-        -->
         <test>
             <param name="inputs" value="feature_alignment_3_openswath_input.csv" ftype="txt" />
             <param name="iformat" value="openswath" />
             <param name="realign_method" value="splinePy" />
             <param name="method" value="best_cluster_score" />
+            <param name="fdr_sel" value="opt_fdr_disabled" />
             <param name="max_fdr_quality" value="0.4" />
             <param name="matrix_output_method" value="RT" />
-            <output name="out_ids" file="feature_alignment_3_openswath_output_cluster_ids.csv" ftype="tabular" />
+            <output name="out_ids" file="feature_alignment_3_openswath_output_splinePy_cluster_ids.csv" ftype="tabular" />
         </test>
         <test>
             <param name="inputs" value="feature_alignment_peakview_input_2.csv" ftype="txt" />
             <param name="iformat" value="peakview" />
             <param name="method" value="best_cluster_score" />
+            <param name="max_rt_diff_sel" value="opt_max_rt_diff_enabled" />
+            <param name="iso_max_rt_diff_sel" value="opt_iso_max_rt_diff_enabled" />
+            <param name="frac_selected_sel" value="opt_frac_selected_enabled" />
+            <param name="disable_isotopic_grouping" value="True" />
+            <param name="nr_high_conf_exp_sel" value="opt_nr_high_conf_exp_enabled" />
+            <param name="alignment_score_sel" value="opt_alignment_score_enabled" />
             <param name="max_fdr_quality" value="0.0001" />
+            <param name="fdr_sel" value="opt_fdr_cutoff" />
             <param name="fdr_cutoff" value="0.000000001" />
             <param name="matrix_output_method" value="RT" />
-            <output name="out_matrix" file="feature_alignment_5_peakview_output_matrix.csv" ftype="tabular" />
+            <output name="out_matrix" file="feature_alignment_5_peakview_output_matrix.csv" lines_diff="2" ftype="tabular" />
         </test>
-
     </tests>
     <help>
 <![CDATA[
 
 **What it does**
 
-This program will select all peakgroups below the FDR cutoff in all files and try to align them to each other.
-If only one file is given, it will act as peakgroup selector (best by m_score)
-and will apply the provided FDR cutoff.
+TRIC uses a graph-based alignment strategy based on non-linear retention time correction to integrate information from all available runs. The input consists of a set of csv files derived from a targeted proteomics experiment generated by OpenSWATH (using either mProphet or pyProphet) or generated by Peakview.
+
+There are two basic running modes available. The first one uses a reference-based alignment where a single run is chosen as a reference and all other runs are aligned to it. This is a useful choice for a small number of runs that are chromatographically similar. The second mode generates a guidance tree based on chromatographic similarity of the input runs and uses this tree to align the targeted proteomics runs (the nodes in the tree are runs and the edges are pairwise alignments). Generally this mode is better for a large number of runs or for chromatographically dissimilar samples.
+
+TRIC is part of msproteomicstools. For additional help please visit the `TRIC documentation <https://github.com/msproteomicstools/msproteomicstools/blob/master/TRIC-README.md>`_
+
 ]]>
     </help>
     <citations>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Fri Dec 10 00:29:34 2021 +0000
@@ -0,0 +1,10 @@
+<?xml version="1.0" ?>
+<macros>
+     <xml name="mst_params">
+         <param name="mst_useRTCorrection" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Use aligned peakgroup RT to continue threading" help="Use aligned peakgroup RT to continue threading in MST algorithm. It is highly recommend to set this to 'True'"/>
+         <param name="mst_Stdev_multiplier" type="float" value="-1.0" label="Standard deviation multiplier"
+                help="Turn on adaptive RT tolerances: How many standard deviations the peakgroup can deviate in RT during the alignment (if less than max_rt_diff, then max_rt_diff is used). It is recommended to set this to a value between 2.0 and 4.0."/>
+         <param name="mst_useLocalStdev" type="boolean" truevalue="True" falsevalue="False" checked="false" label="Use local standard deviation" help="Use standard deviation of local region of the chromatogram. This is experimental and may not work."/>
+         <param name="mst_useReference" type="boolean" truevalue="True" falsevalue="False" checked="false" label="Use a reference-based tree for alignment" help=""/>
+    </xml>
+</macros>
\ No newline at end of file
--- a/test-data/feature_alignment_1_openswath_output_cluster_ids.csv	Sat May 30 05:27:37 2015 -0400
+++ b/test-data/feature_alignment_1_openswath_output_cluster_ids.csv	Fri Dec 10 00:29:34 2021 +0000
@@ -1,15 +1,15 @@
-f_7695999890006491586
-f_7995570933545899074
-f_13533807518639064717
-f_15970037542975291475
-f_10695898602322980677
-f_6146381832908670245
-f_17231814870828860734
-f_17124686349881931625
-f_14033255530503723792
-f_13169006090966118307
-f_17032480123683661142
-f_17254733915653094913
-f_7259477005084093710
-f_1946229642962775443
-f_1127496644798128693
+f_10695898602322980677
+f_1127496644798128693
+f_13169006090966118307
+f_13533807518639064717
+f_14033255530503723792
+f_15970037542975291475
+f_17032480123683661142
+f_17124686349881931625
+f_17231814870828860734
+f_17254733915653094913
+f_1946229642962775443
+f_6146381832908670245
+f_7259477005084093710
+f_7695999890006491586
+f_7995570933545899074
--- a/test-data/feature_alignment_1_openswath_output_matrix.csv	Sat May 30 05:27:37 2015 -0400
+++ b/test-data/feature_alignment_1_openswath_output_matrix.csv	Fri Dec 10 00:29:34 2021 +0000
@@ -1,2 +1,2 @@
-Peptide	Protein	Intensity_dataset_1.dat_0_0	RT_dataset_1.dat_0_0	Intensity_dataset_1.dat_1_0	RT_dataset_1.dat_1_0	Intensity_dataset_1.dat_2_0	RT_dataset_1.dat_2_0	Intensity_dataset_1.dat_3_0	RT_dataset_1.dat_3_0	RT_mean	RT_std	pg_pvalue
-17365_TLDTAAEKIVETATR/3_run0	Spyo_Exp3652_DDB_SeqID_324814	120.0	24.5656409693	50.0	18.2354661146	100.0	38.7373461565	130.0	36.7481804498	29.571658422550001	8.5012023683264122	1.3988719619301746e-10
+Peptide	Protein	Intensity_dataset_04182c5f-3bb8-4de3-99d9-50c0de9c87fe.dat_0_0	RT_dataset_04182c5f-3bb8-4de3-99d9-50c0de9c87fe.dat_0_0	Intensity_dataset_04182c5f-3bb8-4de3-99d9-50c0de9c87fe.dat_1_0	RT_dataset_04182c5f-3bb8-4de3-99d9-50c0de9c87fe.dat_1_0	Intensity_dataset_04182c5f-3bb8-4de3-99d9-50c0de9c87fe.dat_2_0	RT_dataset_04182c5f-3bb8-4de3-99d9-50c0de9c87fe.dat_2_0	Intensity_dataset_04182c5f-3bb8-4de3-99d9-50c0de9c87fe.dat_3_0	RT_dataset_04182c5f-3bb8-4de3-99d9-50c0de9c87fe.dat_3_0	RT_mean	RT_std	pg_pvalue
+17365_TLDTAAEKIVETATR/3_run0	Spyo_Exp3652_DDB_SeqID_324814	120.0	24.5656409693	50.0	18.2354661146	100.0	38.7373461565	130.0	36.7481804498	29.57165842255	8.501202368326412	1.3988719619301746e-10
--- a/test-data/feature_alignment_2_output_1_ids.csv	Sat May 30 05:27:37 2015 -0400
+++ b/test-data/feature_alignment_2_output_1_ids.csv	Fri Dec 10 00:29:34 2021 +0000
@@ -1,4 +1,4 @@
-f_7995570933545899074
-f_10695898602322980677
-f_14033255530503723792
-f_7259477005084093710
+f_10695898602322980677
+f_14033255530503723792
+f_7259477005084093710
+f_7995570933545899074
--- a/test-data/feature_alignment_2_output_2_matrix.csv	Sat May 30 05:27:37 2015 -0400
+++ b/test-data/feature_alignment_2_output_2_matrix.csv	Fri Dec 10 00:29:34 2021 +0000
@@ -1,2 +1,2 @@
-Peptide	Protein	Intensity_dataset_5.dat_0_0	RT_dataset_5.dat_0_0	Intensity_dataset_5.dat_1_0	RT_dataset_5.dat_1_0	Intensity_dataset_5.dat_2_0	RT_dataset_5.dat_2_0	Intensity_dataset_5.dat_3_0	RT_dataset_5.dat_3_0	RT_mean	RT_std	pg_pvalue
-17365_TLDTAAEKIVETATR/3_run0	Spyo_Exp3652_DDB_SeqID_324814	120.0	24.5656409693	130.0	88.9418431607	100.0	38.7373461565	130.0	36.7481804498	47.248252684074998	24.675612494332714	1.201290380110036e-09
+Peptide	Protein	Intensity_dataset_149f3c1b-64bd-46ee-ac39-cc3dd54f302d.dat_0_0	RT_dataset_149f3c1b-64bd-46ee-ac39-cc3dd54f302d.dat_0_0	Intensity_dataset_149f3c1b-64bd-46ee-ac39-cc3dd54f302d.dat_1_0	RT_dataset_149f3c1b-64bd-46ee-ac39-cc3dd54f302d.dat_1_0	Intensity_dataset_149f3c1b-64bd-46ee-ac39-cc3dd54f302d.dat_2_0	RT_dataset_149f3c1b-64bd-46ee-ac39-cc3dd54f302d.dat_2_0	Intensity_dataset_149f3c1b-64bd-46ee-ac39-cc3dd54f302d.dat_3_0	RT_dataset_149f3c1b-64bd-46ee-ac39-cc3dd54f302d.dat_3_0	RT_mean	RT_std	pg_pvalue
+17365_TLDTAAEKIVETATR/3_run0	Spyo_Exp3652_DDB_SeqID_324814	120.0	24.5656409693	130.0	88.9418431607	100.0	38.7373461565	130.0	36.7481804498	47.248252684075	24.675612494332714	1.201290380110036e-09
--- a/test-data/feature_alignment_3_openswath_output_cluster_ids.csv	Sat May 30 05:27:37 2015 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-7
-8
-5
-6
-11
-12
-9
-10
-f_7695999890006491586
-f_7995570933545899074
-f_13533807518639064717
-f_15970037542975291475
-f_10695898602322980677
-f_6146381832908670245
-f_17231814870828860734
-f_17124686349881931625
-f_14033255530503723792
-f_13169006090966118307
-f_17032480123683661142
-f_17254733915653094913
-f_7259477005084093710
-f_1946229642962775443
-f_1127496644798128693
-3
-4
-1
-2
-11
-12
-9
-10
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/feature_alignment_3_openswath_output_splinePy_cluster_ids.csv	Fri Dec 10 00:29:34 2021 +0000
@@ -0,0 +1,31 @@
+1
+10
+10
+11
+11
+12
+12
+2
+3
+4
+5
+6
+7
+8
+9
+9
+f_10695898602322980677
+f_1127496644798128693
+f_13169006090966118307
+f_13533807518639064717
+f_14033255530503723792
+f_15970037542975291475
+f_17032480123683661142
+f_17124686349881931625
+f_17231814870828860734
+f_17254733915653094913
+f_1946229642962775443
+f_6146381832908670245
+f_7259477005084093710
+f_7695999890006491586
+f_7995570933545899074
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/feature_alignment_3_openswath_output_splineR_cluster_ids.csv	Fri Dec 10 00:29:34 2021 +0000
@@ -0,0 +1,31 @@
+1
+10
+10
+11
+11
+12
+12
+2
+3
+4
+5
+6
+7
+8
+9
+9
+f_10695898602322980677
+f_1127496644798128693
+f_13169006090966118307
+f_13533807518639064717
+f_14033255530503723792
+f_15970037542975291475
+f_17032480123683661142
+f_17124686349881931625
+f_17231814870828860734
+f_17254733915653094913
+f_1946229642962775443
+f_6146381832908670245
+f_7259477005084093710
+f_7695999890006491586
+f_7995570933545899074
--- a/test-data/feature_alignment_5_peakview_output_matrix.csv	Sat May 30 05:27:37 2015 -0400
+++ b/test-data/feature_alignment_5_peakview_output_matrix.csv	Fri Dec 10 00:29:34 2021 +0000
@@ -1,3 +1,3 @@
-Peptide	Protein	Intensity_dataset_13.dat_ywu_L121218_002_SW.wiff (sample 1)_0	RT_dataset_13.dat_ywu_L121218_002_SW.wiff (sample 1)_0	Intensity_dataset_13.dat_ywu_L121218_003_SW.wiff (sample 1)_0	RT_dataset_13.dat_ywu_L121218_003_SW.wiff (sample 1)_0	Intensity_dataset_13.dat_ywu_L121218_004_SW.wiff (sample 1)_0	RT_dataset_13.dat_ywu_L121218_004_SW.wiff (sample 1)_0	Intensity_dataset_13.dat_ywu_L121218_005_SW.wiff (sample 1)_0	RT_dataset_13.dat_ywu_L121218_005_SW.wiff (sample 1)_0	Intensity_dataset_13.dat_ywu_L121218_006_SW.wiff (sample 1)_0	RT_dataset_13.dat_ywu_L121218_006_SW.wiff (sample 1)_0	RT_mean	RT_std	pg_pvalue
-LIGNMALLPLR+2	Actin-related protein 2/3 complex subunit 3 musculus 	2900.0	80.41	3700.0	80.3267592431513	2300.0	80.2970686001864	2300.0	80.385140821583	3200.0	80.3699472702056	80.357783187025262	0.040673693694963493	1.0
-LIGNMALLPLR+3	Actin-related protein 2/3 complex subunit 3 musculus 	150.0	80.33	97.0	80.3372300313998	140.0	80.3072715711995	120.0	80.3546761207408	98.0	80.2433156865484	80.314498681977696	0.038705249414076479	1.0
+Peptide	Protein	Intensity_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_002_SW.wiff (sample 1)_0	RT_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_002_SW.wiff (sample 1)_0	Intensity_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_003_SW.wiff (sample 1)_0	RT_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_003_SW.wiff (sample 1)_0	Intensity_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_004_SW.wiff (sample 1)_0	RT_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_004_SW.wiff (sample 1)_0	Intensity_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_005_SW.wiff (sample 1)_0	RT_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_005_SW.wiff (sample 1)_0	Intensity_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_006_SW.wiff (sample 1)_0	RT_dataset_6b0147ab-64bc-4532-8b71-f590fada827e.dat_ywu_L121218_006_SW.wiff (sample 1)_0	RT_mean	RT_std	pg_pvalue
+LIGNMALLPLR+2	Actin-related protein 2/3 complex subunit 3 musculus 	2900.0	80.41	3700.0	80.3267592431513	2300.0	80.2970686001864	2300.0	80.385140821583	3200.0	80.3699472702056	80.35778318702526	0.04067369369496349	1.0
+LIGNMALLPLR+3	Actin-related protein 2/3 complex subunit 3 musculus 	150.0	80.33	97.0	80.3372300313998	140.0	80.3072715711995	120.0	80.3546761207408	98.0	80.2433156865484	80.3144986819777	0.03870524941407648	1.0
--- a/tool_dependencies.xml	Sat May 30 05:27:37 2015 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-<?xml version="1.0"?>
-<tool_dependency>
-  <package name="python" version="2.7">
-    <repository changeset_revision="92611fea803c" name="package_python_2_7" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
-  </package>
-  <package name="msproteomicstools" version="0.3.2">
-    <repository changeset_revision="4381e493affd" name="package_python_2_7_msproteomicstools_0_3_2" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
-  </package>
-</tool_dependency>