view MetaboliteAdductDecharger.xml @ 3:9abfac54c0d2 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit f5fcdd54599554099fb00b1973cc91a766ad246a"
author galaxyp
date Wed, 23 Sep 2020 14:05:07 +0000
parents 5fc991c2ea56
children 8231d93c1988
line wrap: on
line source

<?xml version='1.0' encoding='UTF-8'?>
<!--This is a configuration file for the integration of a tools into Galaxy (https://galaxyproject.org/). This file was automatically generated using CTDConverter.-->
<!--Proposed Tool Section: [Utilities]-->
<tool id="MetaboliteAdductDecharger" name="MetaboliteAdductDecharger" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
  <description>Decharges and merges different feature charge variants of the same metabolite.</description>
  <macros>
    <token name="@EXECUTABLE@">MetaboliteAdductDecharger</token>
    <import>macros.xml</import>
    <import>macros_autotest.xml</import>
    <import>macros_test.xml</import>
  </macros>
  <expand macro="requirements"/>
  <expand macro="stdio"/>
  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
@EXT_FOO@
#import re

## Preprocessing
mkdir in &&
ln -s '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
mkdir out_cm &&
#if "out_fm_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir out_fm &&
#end if
#if "outpairs_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir outpairs &&
#end if

## Main program call

set -o pipefail &&
@EXECUTABLE@ -write_ctd ./ &&
python3 '$__tool_directory__/fill_ctd.py' '@EXECUTABLE@.ctd' '$args_json' '$hardcoded_json' &&
@EXECUTABLE@ -ini @EXECUTABLE@.ctd
-in
'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)'
-out_cm
'out_cm/output.${gxy2omsext("consensusxml")}'
#if "out_fm_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -out_fm
  'out_fm/output.${gxy2omsext("featurexml")}'
#end if
#if "outpairs_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -outpairs
  'outpairs/output.${gxy2omsext("consensusxml")}'
#end if
#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
  | tee '$stdout'
#end if

## Postprocessing
&& mv 'out_cm/output.${gxy2omsext("consensusxml")}' '$out_cm'
#if "out_fm_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'out_fm/output.${gxy2omsext("featurexml")}' '$out_fm'
#end if
#if "outpairs_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'outpairs/output.${gxy2omsext("consensusxml")}' '$outpairs'
#end if
#if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
  && mv '@EXECUTABLE@.ctd' '$ctd_out'
#end if]]></command>
  <configfiles>
    <inputs name="args_json" data_style="paths"/>
    <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
  </configfiles>
  <inputs>
    <param name="in" argument="-in" type="data" format="featurexml" optional="false" label="input file" help=" select featurexml data sets(s)"/>
    <section name="algorithm" title="Feature decharging algorithm section" help="" expanded="false">
      <section name="MetaboliteFeatureDeconvolution" title="" help="" expanded="false">
        <param name="charge_min" argument="-algorithm:MetaboliteFeatureDeconvolution:charge_min" type="integer" optional="true" value="1" label="Minimal possible charge" help=""/>
        <param name="charge_max" argument="-algorithm:MetaboliteFeatureDeconvolution:charge_max" type="integer" optional="true" value="3" label="Maximal possible charge" help=""/>
        <param name="charge_span_max" argument="-algorithm:MetaboliteFeatureDeconvolution:charge_span_max" type="integer" optional="true" min="1" value="3" label="Maximal range of charges for a single analyte" help="i.e. observing q1=[5,6,7] implies span=3. Setting this to 1 will only find adduct variants of the same charge"/>
        <param name="q_try" argument="-algorithm:MetaboliteFeatureDeconvolution:q_try" display="radio" type="select" optional="false" label="Try different values of charge for each feature according to the above settings ('heuristic' [does not test all charges, just the likely ones] or 'all' ), or leave feature charge untouched ('feature')" help="">
          <option value="feature" selected="true">feature</option>
          <option value="heuristic">heuristic</option>
          <option value="all">all</option>
          <expand macro="list_string_san"/>
        </param>
        <param name="retention_max_diff" argument="-algorithm:MetaboliteFeatureDeconvolution:retention_max_diff" type="float" optional="true" value="1.0" label="Maximum allowed RT difference between any two features if their relation shall be determined" help=""/>
        <param name="retention_max_diff_local" argument="-algorithm:MetaboliteFeatureDeconvolution:retention_max_diff_local" type="float" optional="true" value="1.0" label="Maximum allowed RT difference between between two co-features, after adduct shifts have been accounted for (if you do not have any adduct shifts, this value should be equal to 'retention_max_diff', otherwise it should be smaller!)" help=""/>
        <param name="mass_max_diff" argument="-algorithm:MetaboliteFeatureDeconvolution:mass_max_diff" type="float" optional="true" min="0.0" value="0.05" label="Maximum allowed mass tolerance per feature" help="Defines a symmetric tolerance window around the feature. When looking at possible feature pairs, the allowed feature-wise errors are combined for consideration of possible adduct shifts. For ppm tolerances, each window is based on the respective observed feature mz (instead of putative experimental mzs causing the observed one)!"/>
        <param name="unit" argument="-algorithm:MetaboliteFeatureDeconvolution: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="potential_adducts" argument="-algorithm:MetaboliteFeatureDeconvolution:potential_adducts" type="text" optional="true" value="H:+:0.4 Na:+:0.25 NH4:+:0.25 K:+:0.1 H-2O-1:0:0.05" label="Adducts used to explain mass differences in format: 'Elements:Charge(+/-/0):Probability[:RTShift[:Label]]'" help="i.e. the number of '+' or '-' indicate the charge ('0' if neutral adduct), e.g. 'Ca:++:0.5' indicates +2. Probabilites have to be in (0,1]. The optional RTShift param indicates the expected RT shift caused by this adduct, e.g. '(2)H4H-4:0:1:-3' indicates a 4 deuterium label, which causes early elution by 3 seconds. As fifth parameter you can add a label for every feature with this adduct. This also determines the map number in the consensus file. Adduct element losses are written in the form 'H-2'. All provided adducts need to have the same charge sign or be neutral! Mixing of adducts with different charge directions is only allowed as neutral complexes. For example, 'H-1Na:0:0.05' can be used to model Sodium gains (with balancing deprotonation) in negative mode (space separated list, in order to allow for spaces in list items surround them by single quotes)">
          <expand macro="list_string_val"/>
          <expand macro="list_string_san"/>
        </param>
        <param name="max_neutrals" argument="-algorithm:MetaboliteFeatureDeconvolution:max_neutrals" type="integer" optional="true" value="1" label="Maximal number of neutral adducts(q=0) allowed" help="Add them in the 'potential_adducts' section!"/>
        <param name="use_minority_bound" argument="-algorithm:MetaboliteFeatureDeconvolution:use_minority_bound" type="text" optional="true" value="true" label="Prune the considered adduct transitions by transition probabilities" help="">
          <expand macro="list_string_san"/>
        </param>
        <param name="max_minority_bound" argument="-algorithm:MetaboliteFeatureDeconvolution:max_minority_bound" type="integer" optional="true" min="0" value="3" label="Limits allowed adduct compositions and changes between compositions in the underlying graph optimization problem by introducing a probability-based threshold: the minority bound sets the maximum count of the least probable adduct (according to 'potential_adducts' param) within a charge variant with maximum charge only containing the most likely adduct otherwise" help="E.g., for 'charge_max' 4 and 'max_minority_bound' 2 with most probable adduct being H+ and least probable adduct being Na+, this will allow adduct compositions of '2(H+),2(Na+)' but not of '1(H+),3(Na+)'. Further, adduct compositions/changes less likely than '2(H+),2(Na+)' will be discarded as well"/>
        <param name="min_rt_overlap" argument="-algorithm:MetaboliteFeatureDeconvolution:min_rt_overlap" type="float" optional="true" min="0.0" max="1.0" value="0.66" label="Minimum overlap of the convex hull' RT intersection measured against the union from two features (if CHs are given)" help=""/>
        <param name="intensity_filter" argument="-algorithm:MetaboliteFeatureDeconvolution:intensity_filter" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Enable the intensity filter, which will only allow edges between two equally charged features if the intensity of the feature with less likely adducts is smaller than that of the other feature" help="It is not used for features of different charge"/>
        <param name="negative_mode" argument="-algorithm:MetaboliteFeatureDeconvolution:negative_mode" type="text" optional="true" value="false" label="Enable negative ionization mode" help="">
          <expand macro="list_string_san"/>
        </param>
        <param name="default_map_label" argument="-algorithm:MetaboliteFeatureDeconvolution:default_map_label" type="text" optional="true" value="decharged features" label="Label of map in output consensus file where all features are put by default" help="">
          <expand macro="list_string_san"/>
        </param>
        <param name="verbose_level" argument="-algorithm:MetaboliteFeatureDeconvolution:verbose_level" type="integer" optional="true" min="0" max="3" value="0" label="Amount of debug information given during processing" help=""/>
      </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>
    <param name="OPTIONAL_OUTPUTS" type="select" multiple="true" label="Optional outputs" optional="true">
      <option value="out_fm_FLAG">out_fm (Amount of debug information given during processing)</option>
      <option value="outpairs_FLAG">outpairs (Amount of debug information given during processing)</option>
      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
    </param>
  </inputs>
  <outputs>
    <data name="out_cm" label="${tool.name} on ${on_string}: out_cm" format="consensusxml"/>
    <data name="out_fm" label="${tool.name} on ${on_string}: out_fm" format="featurexml">
      <filter>OPTIONAL_OUTPUTS is not None and "out_fm_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="outpairs" label="${tool.name} on ${on_string}: outpairs" format="consensusxml">
      <filter>OPTIONAL_OUTPUTS is not None and "outpairs_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="ctd_out" format="xml" label="${tool.name} on ${on_string}: ctd">
      <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
  </outputs>
  <tests>
    <expand macro="autotest_MetaboliteAdductDecharger"/>
    <expand macro="manutest_MetaboliteAdductDecharger"/>
  </tests>
  <help><![CDATA[Decharges and merges different feature charge variants of the same metabolite.


For more information, visit http://www.openms.de/documentation/UTILS_MetaboliteAdductDecharger.html]]></help>
  <expand macro="references"/>
</tool>