view QCCalculator.xml @ 14:f6f07c3e99a2 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:34:05 +0000
parents d0607dfea8fa
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="QCCalculator" name="QCCalculator" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
  <description>Calculates basic quality parameters from MS experiments and subsequent analysis data as identification or feature detection</description>
  <macros>
    <token name="@EXECUTABLE@">QCCalculator</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)' &&
mkdir out &&
#if $id:
  mkdir id &&
  cp '$id' 'id/${re.sub("[^\w\-_]", "_", $id.element_identifier)}.$gxy2omsext($id.ext)' &&
#end if
#if $feature:
  mkdir feature &&
  cp '$feature' 'feature/${re.sub("[^\w\-_]", "_", $feature.element_identifier)}.$gxy2omsext($feature.ext)' &&
#end if
#if $consensus:
  mkdir consensus &&
  cp '$consensus' 'consensus/${re.sub("[^\w\-_]", "_", $consensus.element_identifier)}.$gxy2omsext($consensus.ext)' &&
#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
'out/output.${out_type}'
#if $id:
  -id
  'id/${re.sub("[^\w\-_]", "_", $id.element_identifier)}.$gxy2omsext($id.ext)'
#end if
#if $feature:
  -feature
  'feature/${re.sub("[^\w\-_]", "_", $feature.element_identifier)}.$gxy2omsext($feature.ext)'
#end if
#if $consensus:
  -consensus
  'consensus/${re.sub("[^\w\-_]", "_", $consensus.element_identifier)}.$gxy2omsext($consensus.ext)'
#end if

## Postprocessing
&& mv 'out/output.${out_type}' '$out'
#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 argument="-in" type="data" format="mzml" label="raw data input file (this is relevant if you want to look at MS1, MS2 and precursor peak information)" help=" select mzml data sets(s)"/>
    <param argument="-out_type" type="select" label="Output file type -- default: determined from file extension or content" help="">
      <option value="mzQC">mzqc</option>
      <option value="qcML">qcml</option>
      <validator type="expression" message="A value needs to be selected">value != "select a value"</validator>
      <expand macro="list_string_san" name="out_type"/>
    </param>
    <param argument="-label" type="text" value="label" label="unique name for the run that can be used in a figure label" help="">
      <expand macro="list_string_san" name="label"/>
    </param>
    <param argument="-name" type="text" optional="true" value="" label="name of the person creating this mzQC file" help="">
      <expand macro="list_string_san" name="name"/>
    </param>
    <param argument="-address" type="text" optional="true" value="" label="contact address (mail/e-mail or phone)" help="">
      <expand macro="list_string_san" name="address"/>
    </param>
    <param argument="-description" type="text" optional="true" value="" label="description and comments about the mzQC file contents" help="">
      <expand macro="list_string_san" name="description"/>
    </param>
    <param argument="-id" type="data" format="idxml" optional="true" label="Input idXML file containing the identifications" help="Your identifications will be exported in an easy-to-read format select idxml data sets(s)"/>
    <param argument="-feature" type="data" format="featurexml" optional="true" label="feature input file (this is relevant for most QC issues)" help=" select featurexml data sets(s)"/>
    <param argument="-consensus" type="data" format="consensusxml" optional="true" label="consensus input file (this is only used for charge state deconvoluted output" help="Use the consensusXML output form the DeCharger) select consensusxml data sets(s)"/>
    <param argument="-remove_duplicate_features" type="boolean" truevalue="true" falsevalue="false" checked="false" label="This flag should be set, if you work with a set of merged features" help=""/>
    <expand macro="adv_opts_macro">
      <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="ctd_out_FLAG">Output used ctd (ini) configuration file</option>
    </param>
  </inputs>
  <outputs>
    <data name="out" label="${tool.name} on ${on_string}: out" format="mzqc">
      <change_format>
        <when input="out_type" value="qcML" format="qcml"/>
      </change_format>
    </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>
    <!-- TOPP_QCCalculator_1 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="QCCalculator_input.mzML"/>
      <output name="out" value="QCCalculator_1_output.qcML" compare="sim_size" delta_frac="0.7" ftype="qcml"/>
      <param name="out_type" value="qcML"/>
      <param name="label" value="label"/>
      <param name="name" value=""/>
      <param name="address" value=""/>
      <param name="description" value=""/>
      <param name="remove_duplicate_features" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
      <assert_stdout>
        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
      </assert_stdout>
    </test>
    <!-- TOPP_QCCalculator_2 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="QCCalculator_input.mzML"/>
      <output name="out" value="QCCalculator_2_output.mzQC" compare="sim_size" delta_frac="0.7" ftype="mzqc"/>
      <param name="out_type" value="mzQC"/>
      <param name="label" value="label"/>
      <param name="name" value="name"/>
      <param name="address" value="address"/>
      <param name="description" value="description"/>
      <param name="id" value="OpenPepXL_output.idXML"/>
      <param name="feature" value="FeatureFinderMetaboIdent_1_output.featureXML"/>
      <param name="remove_duplicate_features" value="false"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
      <output name="ctd_out" ftype="xml">
        <assert_contents>
          <is_valid_xml/>
        </assert_contents>
      </output>
      <assert_stdout>
        <has_text_matching expression="@EXECUTABLE@ took .* \(wall\), .* \(CPU\), .* \(system\), .* \(user\)(; Peak Memory Usage: 32 MB)?."/>
      </assert_stdout>
    </test>
    <test expect_num_outputs="1">
      <!-- took test data from another test w mzML input -->
      <param name="adv_opts|test" value="true"/>
      <param name="in" ftype="mzml" value="OpenPepXL_input.mzML"/>
      <param name="out_type" value="qcML"/>
      <output name="out" ftype="qcml" value="QCCalculator1.qcML" compare="sim_size" delta="250"/>
    </test>
    <test expect_num_outputs="1">
      <!-- took test data from another test w mzML,idXML,consensusXML input -->
      <param name="adv_opts|test" value="true"/>
      <param name="in" ftype="mzml" value="OpenPepXL_input.mzML"/>
      <param name="id" ftype="idxml" value="OpenPepXL_output.idXML"/>
      <param name="consensus" ftype="consensusxml" value="OpenPepXL_input.consensusXML"/>
      <param name="out_type" value="qcML"/>
      <output name="out" ftype="qcml" value="QCCalculator2.qcML" compare="sim_size" delta="250"/>
    </test>
    <test expect_num_outputs="1">
      <!-- took test data from another test w mzML,idXML,featureXML input -->
      <param name="adv_opts|test" value="true"/>
      <param name="in" ftype="mzml" value="IDMapper_4_input.mzML"/>
      <param name="id" ftype="idxml" value="IDMapper_4_input.idXML"/>
      <param name="feature" ftype="featurexml" value="IDMapper_4_input.featureXML"/>
      <param name="out_type" value="qcML"/>
      <output name="out" ftype="qcml" value="QCCalculator3.qcML" compare="sim_size" delta="250"/>
    </test>
  </tests>
  <help><![CDATA[Calculates basic quality parameters from MS experiments and subsequent analysis data as identification or feature detection.


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