view SiriusAdapter.xml @ 10:b7505ec60b7d draft default tip

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
author galaxyp
date Fri, 14 Jun 2024 21:30:01 +0000
parents 0c27444604dd
children
line wrap: on
line source

<!--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: []-->
<tool id="SiriusAdapter" name="SiriusAdapter" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
  <description>Tool for metabolite identification using single and tandem mass spectrometry</description>
  <macros>
    <token name="@EXECUTABLE@">SiriusAdapter</token>
    <import>macros.xml</import>
  </macros>
  <expand macro="requirements"/>
  <expand macro="stdio"/>
  <command detect_errors="exit_code"><![CDATA[@QUOTE_FOO@
@EXT_FOO@
#import re

## Preprocessing
mkdir in &&
cp '$in' 'in/${re.sub("[^\w\-_]", "_", $in.element_identifier)}.$gxy2omsext($in.ext)' &&
#if $in_featureinfo:
  mkdir in_featureinfo &&
  cp '$in_featureinfo' 'in_featureinfo/${re.sub("[^\w\-_]", "_", $in_featureinfo.element_identifier)}.$gxy2omsext($in_featureinfo.ext)' &&
#end if
#if "out_sirius_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir out_sirius &&
#end if
#if "out_fingerid_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir out_fingerid &&
#end if
#if "out_ms_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir out_ms &&
#end if
#if "out_annotated_spectra_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir out_annotated_spectra &&
#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)'
#if $in_featureinfo:
  -in_featureinfo
  'in_featureinfo/${re.sub("[^\w\-_]", "_", $in_featureinfo.element_identifier)}.$gxy2omsext($in_featureinfo.ext)'
#end if
#if "out_sirius_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -out_sirius
  'out_sirius/output.${gxy2omsext("mztab")}'
#end if
#if "out_fingerid_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -out_fingerid
  'out_fingerid/output.${gxy2omsext("mztab")}'
#end if
#if "out_ms_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -out_ms
  'out_ms/output.${gxy2omsext("sirius.ms")}'
#end if
#if "out_annotated_spectra_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -out_annotated_spectra
  'out_annotated_spectra/output.${gxy2omsext("mzml")}'
#end if
#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
  | tee '$stdout'
#end if

## Postprocessing
#if "out_sirius_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'out_sirius/output.${gxy2omsext("mztab")}' '$out_sirius'
#end if
#if "out_fingerid_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'out_fingerid/output.${gxy2omsext("mztab")}' '$out_fingerid'
#end if
#if "out_ms_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'out_ms/output.${gxy2omsext("sirius.ms")}' '$out_ms'
#end if
#if "out_annotated_spectra_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'out_annotated_spectra/output.${gxy2omsext("mzml")}' '$out_annotated_spectra'
#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[{"sirius_executable": "\$(which sirius)", "log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
  </configfiles>
  <inputs>
    <param argument="-in" type="data" format="mzml" label="MzML Input file" help=" select mzml data sets(s)"/>
    <param argument="-in_featureinfo" type="data" format="featurexml" optional="true" label="FeatureXML input with feature and adduct information" help=" select featurexml data sets(s)"/>
    <param argument="-out_project_space" type="text" optional="true" value="" label="Output directory for SIRIUS project space" help="">
      <expand macro="list_string_san" name="out_project_space"/>
    </param>
    <param argument="-sirius_user_email" type="text" optional="true" value="" label="E-mail for your SIRIUS account" help="">
      <expand macro="list_string_san" name="sirius_user_email"/>
    </param>
    <param argument="-sirius_user_password" type="text" optional="true" value="" label="Password for your SIRIUS account" help="">
      <expand macro="list_string_san" name="sirius_user_password"/>
    </param>
    <section name="preprocessing" title="" help="" expanded="false">
      <param name="filter_by_num_masstraces" argument="-preprocessing:filter_by_num_masstraces" type="integer" min="1" value="1" label="Number of mass traces each feature has to have to be included" help="To use this parameter, setting the feature_only flag is necessary"/>
      <param name="precursor_mz_tolerance" argument="-preprocessing:precursor_mz_tolerance" type="float" value="10.0" label="Tolerance window for precursor selection (Feature selection in regard to the precursor)" help=""/>
      <param name="precursor_mz_tolerance_unit" argument="-preprocessing:precursor_mz_tolerance_unit" type="select" label="Unit of the precursor_mz_tolerance" help="">
        <option value="Da">Da</option>
        <option value="ppm" selected="true">ppm</option>
        <expand macro="list_string_san" name="precursor_mz_tolerance_unit"/>
      </param>
      <param name="precursor_rt_tolerance" argument="-preprocessing:precursor_rt_tolerance" type="float" value="5.0" label="Tolerance window (left and right) for precursor selection [seconds]" help=""/>
      <param name="isotope_pattern_iterations" argument="-preprocessing:isotope_pattern_iterations" type="integer" value="3" label="Number of iterations that should be performed to extract the C13 isotope pattern" help="If no peak is found (C13 distance) the function will abort. Be careful with noisy data - since this can lead to wrong isotope patterns"/>
      <param name="feature_only" argument="-preprocessing:feature_only" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Uses the feature information from in_featureinfo to reduce the search space to MS2 associated with a feature" help=""/>
      <param name="no_masstrace_info_isotope_pattern" argument="-preprocessing:no_masstrace_info_isotope_pattern" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use this flag if the masstrace information from a feature should be discarded and the isotope_pattern_iterations should be used instead" help=""/>
    </section>
    <section name="project" title="" help="" expanded="false">
      <param name="maxmz" argument="-project:maxmz" type="integer" value="-1" label="Just consider compounds with a precursor mz lower or equal" help="this maximum mz. All other compounds in the input file. are ignored"/>
      <param name="loglevel" argument="-project:loglevel" type="text" optional="true" value="" label="Set logging level of the Jobs SIRIUS will execute" help="Valid values: SEVERE, WARNING, INFO, FINER, ALL. Default: WARNING">
        <expand macro="list_string_san" name="loglevel"/>
      </param>
      <param name="ignore_formula" argument="-project:ignore_formula" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Ignore given molecular formula in internal .ms format, while processing" help=""/>
      <param name="q" argument="-project:q" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Suppress shell output" help=""/>
    </section>
    <section name="sirius" title="" help="" expanded="false">
      <param name="ppm_max" argument="-sirius:ppm_max" type="float" value="10.0" label="Maximum allowed mass deviation in ppm for decomposing masses [ppm]" help=""/>
      <param name="ppm_max_ms2" argument="-sirius:ppm_max_ms2" type="float" value="10.0" label="Maximum allowed mass deviation in ppm for decomposing masses in MS2 [ppm].If not specified, the same value as for the MS1 is used" help=""/>
      <param name="tree_timeout" argument="-sirius:tree_timeout" type="integer" min="0" value="100" label="Time out in seconds per fragmentation tree computations" help="0 for an infinite amount of time"/>
      <param name="compound_timeout" argument="-sirius:compound_timeout" type="integer" min="0" value="100" label="Maximal computation time in seconds for a single compound" help="0 for an infinite amount of time"/>
      <param name="no_recalibration" argument="-sirius:no_recalibration" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Disable recalibration of input spectra" help=""/>
      <param name="profile" argument="-sirius:profile" type="select" label="Name of the configuration profile" help="">
        <option value="default" selected="true">default</option>
        <option value="qtof">qtof</option>
        <option value="orbitrap">orbitrap</option>
        <option value="fticr">fticr</option>
        <expand macro="list_string_san" name="profile"/>
      </param>
      <param name="formulas" argument="-sirius:formulas" type="text" optional="true" value="" label="Specify the neutral molecular formula of the measured compound to compute its tree or a list of candidate formulas the method should discriminate" help="Omit this option if you want to consider all possible molecular formulas">
        <expand macro="list_string_san" name="formulas"/>
      </param>
      <param name="ions_enforced" argument="-sirius:ions_enforced" type="text" optional="true" value="" label="The iontype/adduct of the MS/MS data" help="Example: [M+H]+, . [M-H]-, [M+Cl]-, [M+Na]+, [M]+. You can also provide a . comma separated list of adducts">
        <expand macro="list_string_san" name="ions_enforced"/>
      </param>
      <param name="candidates" argument="-sirius:candidates" type="integer" min="0" value="10" label="The number of formula candidates in the SIRIUS output" help=""/>
      <param name="candidates_per_ion" argument="-sirius:candidates_per_ion" type="integer" value="1" label="Minimum number of candidates in the output for each ionization" help="Set to force output of results for each possible ionization, even if not part of highest ranked results"/>
      <param name="elements_considered" argument="-sirius:elements_considered" type="text" value="SBrClBSe" label="Set the allowed elements for rare element detection" help="Write SBrClBSe to allow the elements S,Br,Cl,B and Se">
        <expand macro="list_string_san" name="elements_considered"/>
      </param>
      <param name="elements_enforced" argument="-sirius:elements_enforced" type="text" value="CHNOP" label="Enforce elements for molecular formula determination" help="Write CHNOPSCl to allow the elements C, H, N, O, P, S and Cl. Add numbers in brackets to restrict the minimal and maximal allowed occurrence of these elements: CHNOP[5]S[8]Cl[1-2]. When one number is given then it is interpreted as upper bound">
        <expand macro="list_string_san" name="elements_enforced"/>
      </param>
      <param name="no_isotope_score" argument="-sirius:no_isotope_score" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Disable isotope pattern score" help=""/>
      <param name="no_isotope_filter" argument="-sirius:no_isotope_filter" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Disable molecular formula filte" help="When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score"/>
      <param name="ions_considered" argument="-sirius:ions_considered" type="text" value="[M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]-" label="the iontype/adduct of the MS/MS data" help="Example: [M+H]+, [M-H]-, [M+Cl]-, [M+Na]+, [M]+. You can also provide a comma separated list of adducts">
        <expand macro="list_string_san" name="ions_considered"/>
      </param>
      <param name="db" argument="-sirius:db" type="text" value="none" label="Search formulas in the Union of the given databases db-name1,db-name2,db-name3" help="If no database is given all possible molecular formulas will be respected (no database is used). Example: possible DBs: ALL,BIO,PUBCHEM,MESH,HMDB,KNAPSACK,CHEBI,PUBMED,KEGG,HSDB,MACONDA,METACYC,GNPS,ZINCBIO,UNDP,YMDB,PLANTCYC,NORMAN,ADDITIONAL,PUBCHEMANNOTATIONBIO,PUBCHEMANNOTATIONDRUG,PUBCHEMANNOTATIONSAFETYANDTOXIC,PUBCHEMANNOTATIONFOOD,KEGGMINE,ECOCYCMINE,YMDBMINE">
        <expand macro="list_string_san" name="db"/>
      </param>
      <param name="solver" argument="-sirius:solver" type="text" value="CLP" label="For GUROBI and CPLEX environment variables need to be configured" help="(see SIRIUS manual: https://boecker-lab.github.io/docs.sirius.github.io/install/)">
        <expand macro="list_string_san" name="solver"/>
      </param>
    </section>
    <section name="fingerid" title="" help="" expanded="false">
      <param name="db" argument="-fingerid:db" type="text" optional="true" value="" label="Search structures in the Union of the given databases db-name1,db-name2,db-name3" help="If no database is given all possible molecular formulas will be respected (no database is used). Example: possible DBs: ALL,BIO,PUBCHEM,MESH,HMDB,KNAPSACK,CHEBI,PUBMED,KEGG,HSDB,MACONDA,METACYC,GNPS,ZINCBIO,UNDP,YMDB,PLANTCYC,NORMAN,ADDITIONAL,PUBCHEMANNOTATIONBIO,PUBCHEMANNOTATIONDRUG,PUBCHEMANNOTATIONSAFETYANDTOXIC,PUBCHEMANNOTATIONFOOD,KEGGMINE,ECOCYCMINE,YMDBMINE">
        <expand macro="list_string_san" name="db"/>
      </param>
    </section>
    <expand macro="adv_opts_macro">
      <param argument="-converter_mode" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use this flag in combination with the out_ms file to convert the input mzML and featureXML to a .ms file" help="Without further SIRIUS processing"/>
      <param argument="-read_sirius_stdout" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Read and print the standard output and error of the Sirius executable, even if it succeeds" help=""/>
      <param argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/>
      <param argument="-test" type="hidden" value="False" label="Enables the test mode (needed for internal use only)" help="" optional="true">
        <expand macro="list_string_san" name="test"/>
      </param>
    </expand>
    <param name="OPTIONAL_OUTPUTS" type="select" optional="true" multiple="true" label="Optional outputs">
      <option value="out_sirius_FLAG">out_sirius (MzTab output file for SIRIUS results)</option>
      <option value="out_fingerid_FLAG">out_fingerid (MzTab output file for CSI:FingerID, if this parameter is given, SIRIUS will search for a molecular structure using CSI:FingerID after determining the sum formula)</option>
      <option value="out_ms_FLAG">out_ms (Internal SIRIUS .ms format after OpenMS preprocessing)</option>
      <option value="out_annotated_spectra_FLAG">out_annotated_spectra (Export spectra with fragment annotations from SIRIUS)</option>
      <option value="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
    </param>
  </inputs>
  <outputs>
    <data name="out_sirius" label="${tool.name} on ${on_string}: out_sirius" format="mztab">
      <filter>OPTIONAL_OUTPUTS is not None and "out_sirius_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="out_fingerid" label="${tool.name} on ${on_string}: out_fingerid" format="mztab">
      <filter>OPTIONAL_OUTPUTS is not None and "out_fingerid_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="out_ms" label="${tool.name} on ${on_string}: out_ms" format="sirius.ms">
      <filter>OPTIONAL_OUTPUTS is not None and "out_ms_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="out_annotated_spectra" label="${tool.name} on ${on_string}: out_annotated_spectra" format="mzml">
      <filter>OPTIONAL_OUTPUTS is not None and "out_annotated_spectra_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="stdout" format="txt" label="${tool.name} on ${on_string}: stdout">
      <filter>OPTIONAL_OUTPUTS is None</filter>
    </data>
    <data name="ctd_out" format="xml" label="${tool.name} on ${on_string}: ctd">
      <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
  </outputs>
  <tests/>
  <help><![CDATA[Tool for metabolite identification using single and tandem mass spectrometry


For more information, visit https://openms.de/doxygen/release/3.1.0/html/TOPP_SiriusAdapter.html]]></help>
  <expand macro="references"/>
</tool>