view TextExporter.xml @ 14:b5de4c3efbdd 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:44:36 +0000
parents 1b03536aa3c9
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: [File Converter]-->
<tool id="TextExporter" name="TextExporter" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
  <description>Exports various XML formats to a text file</description>
  <macros>
    <token name="@EXECUTABLE@">TextExporter</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 "centroids_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir consensus_centroids &&
#end if
#if "elements_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir consensus_elements &&
#end if
#if "features_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  mkdir consensus_features &&
#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 "centroids_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -consensus:centroids
  'consensus_centroids/output.${gxy2omsext("csv")}'
#end if
#if "elements_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -consensus:elements
  'consensus_elements/output.${gxy2omsext("csv")}'
#end if
#if "features_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  -consensus:features
  'consensus_features/output.${gxy2omsext("csv")}'
#end if
#if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
  | tee '$stdout'
#end if

## Postprocessing
&& mv 'out/output.${out_type}' '$out'
#if "centroids_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'consensus_centroids/output.${gxy2omsext("csv")}' '$consensus_centroids'
#end if
#if "elements_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'consensus_elements/output.${gxy2omsext("csv")}' '$consensus_elements'
#end if
#if "features_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
  && mv 'consensus_features/output.${gxy2omsext("csv")}' '$consensus_features'
#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 argument="-in" type="data" format="consensusxml,featurexml,idxml,mzml" label="Input file" help=" select consensusxml,featurexml,idxml,mzml data sets(s)"/>
    <param argument="-out_type" type="select" label="Output file type -- default: determined from file extension, ambiguous file extensions are interpreted as tsv" help="">
      <option value="csv">csv</option>
      <option value="tsv">tabular (tsv)</option>
      <option value="txt">txt</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="-replacement" type="text" value="_" label="Used to replace occurrences of the separator in strings before writing, if 'quoting' is 'none'" help="">
      <expand macro="list_string_san" name="replacement"/>
    </param>
    <param argument="-quoting" type="select" label="Method for quoting of strings: 'none' for no quoting, 'double' for quoting with doubling of embedded quotes" help="'escape' for quoting with backslash-escaping of embedded quotes">
      <option value="none" selected="true">none</option>
      <option value="double">double</option>
      <option value="escape">escape</option>
      <expand macro="list_string_san" name="quoting"/>
    </param>
    <param argument="-no_ids" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Suppresses output of identification data" help=""/>
    <section name="feature" title="Options for featureXML input files" help="" expanded="false">
      <param name="minimal" argument="-feature:minimal" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Set this flag to write only three attributes: RT, m/z, and intensity" help=""/>
      <param name="add_metavalues" argument="-feature:add_metavalues" type="integer" min="-1" max="100" value="-1" label="Add columns for meta values which occur with a certain frequency (0-100%)" help="Set to -1 to omit meta values (default)"/>
    </section>
    <section name="id" title="Options for idXML input files" help="" expanded="false">
      <param name="proteins_only" argument="-id:proteins_only" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Set this flag if you want only protein information from an idXML file" help=""/>
      <param name="peptides_only" argument="-id:peptides_only" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Set this flag if you want only peptide information from an idXML file" help=""/>
      <param name="protein_groups" argument="-id:protein_groups" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Set this flag if you want to also write indist" help="group information from an idXML file"/>
      <param name="first_dim_rt" argument="-id:first_dim_rt" type="boolean" truevalue="true" falsevalue="false" checked="false" label="If this flag is set the first_dim RT of the peptide hits will also be printed (if present)" help=""/>
      <param name="add_metavalues" argument="-id:add_metavalues" type="integer" min="-1" max="100" value="-1" label="Add columns for meta values of PeptideID (=spectrum) entries which occur with a certain frequency (0-100%)" help="Set to -1 to omit meta values (default)"/>
      <param name="add_hit_metavalues" argument="-id:add_hit_metavalues" type="integer" min="-1" max="100" value="-1" label="Add columns for meta values of PeptideHit (=PSM) entries which occur with a certain frequency (0-100%)" help="Set to -1 to omit meta values (default)"/>
      <param name="add_protein_hit_metavalues" argument="-id:add_protein_hit_metavalues" type="integer" min="-1" max="100" value="-1" label="Add columns for meta values on protein level which occur with a certain frequency (0-100%)" help="Set to -1 to omit meta values (default)"/>
    </section>
    <section name="consensus" title="Options for consensusXML input files" help="" expanded="false">
      <param name="sorting_method" argument="-consensus:sorting_method" type="select" label="Sorting options can be combined" help="The precedence is: sort_by_size, sort_by_maps, sorting_method">
        <option value="none" selected="true">none</option>
        <option value="RT">RT</option>
        <option value="MZ">MZ</option>
        <option value="RT_then_MZ">RT_then_MZ</option>
        <option value="intensity">intensity</option>
        <option value="quality_decreasing">quality_decreasing</option>
        <option value="quality_increasing">quality_increasing</option>
        <expand macro="list_string_san" name="sorting_method"/>
      </param>
      <param name="sort_by_maps" argument="-consensus:sort_by_maps" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Apply a stable sort by the covered maps, lexicographically" help=""/>
      <param name="sort_by_size" argument="-consensus:sort_by_size" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Apply a stable sort by decreasing size" help="(i.e., the number of elements)"/>
      <param name="add_metavalues" argument="-consensus:add_metavalues" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Add columns for ConsensusFeature meta values" help=""/>
    </section>
    <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="centroids_FLAG">centroids (Output file for centroids of consensus features)</option>
      <option value="elements_FLAG">elements (Output file for elements of consensus features)</option>
      <option value="features_FLAG">features (Output file for consensus features and contained elements from all maps (writes 'nan's if elements are missing))</option>
      <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="csv">
      <change_format>
        <when input="out_type" value="tsv" format="tabular"/>
        <when input="out_type" value="txt" format="txt"/>
      </change_format>
    </data>
    <data name="consensus_centroids" label="${tool.name} on ${on_string}: consensus:centroids" format="csv">
      <filter>OPTIONAL_OUTPUTS is not None and "centroids_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="consensus_elements" label="${tool.name} on ${on_string}: consensus:elements" format="csv">
      <filter>OPTIONAL_OUTPUTS is not None and "elements_FLAG" in OPTIONAL_OUTPUTS</filter>
    </data>
    <data name="consensus_features" label="${tool.name} on ${on_string}: consensus:features" format="csv">
      <filter>OPTIONAL_OUTPUTS is not None and "features_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>
    <!-- TOPP_TextExporter_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="TextExporter_1_input.featureXML"/>
      <output name="out" value="TextExporter_1_output.txt" compare="sim_size" delta_frac="0.7" ftype="txt"/>
      <param name="out_type" value="txt"/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
        <param name="add_metavalues" value="false"/>
      </section>
      <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_TextExporter_2 -->
    <test expect_num_outputs="5">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="TextExporter_2_input.consensusXML"/>
      <output name="out" value="TextExporter_2_consensus_tsv.tmp" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
      <param name="out_type" value="tsv"/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="true"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="RT_then_MZ"/>
        <param name="sort_by_maps" value="true"/>
        <param name="sort_by_size" value="true"/>
        <param name="add_metavalues" value="true"/>
      </section>
      <output name="consensus_centroids" value="TextExporter_2_consensus_centroids.tmp" compare="sim_size" delta_frac="0.7" ftype="csv"/>
      <output name="consensus_elements" value="TextExporter_2_consensus_elements.tmp" compare="sim_size" delta_frac="0.7" ftype="csv"/>
      <output name="consensus_features" value="TextExporter_2_consensus_features.tmp" compare="sim_size" delta_frac="0.7" ftype="csv"/>
      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,centroids_FLAG,elements_FLAG,features_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_TextExporter_3 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="TextExporter_3_input.idXML"/>
      <output name="out" value="TextExporter_3_output.txt" compare="sim_size" delta_frac="0.7" ftype="txt"/>
      <param name="out_type" value="txt"/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
        <param name="add_metavalues" value="false"/>
      </section>
      <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_TextExporter_4 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="TextExporter_3_input.idXML"/>
      <output name="out" value="TextExporter_4_output_proteins.txt" compare="sim_size" delta_frac="0.7" ftype="txt"/>
      <param name="out_type" value="txt"/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="true"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
        <param name="add_metavalues" value="false"/>
      </section>
      <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_TextExporter_5 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="TextExporter_5_input.idXML"/>
      <output name="out" value="TextExporter_5_output_peptides.txt" compare="sim_size" delta_frac="0.7" ftype="txt"/>
      <param name="out_type" value="txt"/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="true"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="true"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
        <param name="add_metavalues" value="false"/>
      </section>
      <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_TextExporter_6 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="TextExporter_6_input.featureXML"/>
      <output name="out" value="TextExporter_6_output.txt" compare="sim_size" delta_frac="0.7" ftype="txt"/>
      <param name="out_type" value="txt"/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="true"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
        <param name="add_metavalues" value="false"/>
      </section>
      <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_TextExporter_7 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="TextExporter_7_input.consensusXML"/>
      <output name="out" value="TextExporter_7_consensus_tsv.tmp" compare="sim_size" delta_frac="0.7" ftype="tabular"/>
      <param name="out_type" value="tsv"/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="RT_then_MZ"/>
        <param name="sort_by_maps" value="true"/>
        <param name="sort_by_size" value="true"/>
        <param name="add_metavalues" value="false"/>
      </section>
      <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_TextExporter_8 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="TextExporter_1_input.featureXML"/>
      <output name="out" value="TextExporter_8_output.txt" compare="sim_size" delta_frac="0.7" ftype="txt"/>
      <param name="out_type" value="txt"/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="true"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="-1"/>
        <param name="add_hit_metavalues" value="-1"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
        <param name="add_metavalues" value="false"/>
      </section>
      <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_TextExporter_9 -->
    <test expect_num_outputs="2">
      <section name="adv_opts">
        <param name="force" value="false"/>
        <param name="test" value="true"/>
      </section>
      <param name="in" value="TextExporter_9_input.idXML"/>
      <output name="out" value="TextExporter_9_output.txt" compare="sim_size" delta_frac="0.7" ftype="txt"/>
      <param name="out_type" value="txt"/>
      <param name="replacement" value="_"/>
      <param name="quoting" value="none"/>
      <param name="no_ids" value="false"/>
      <section name="feature">
        <param name="minimal" value="false"/>
        <param name="add_metavalues" value="-1"/>
      </section>
      <section name="id">
        <param name="proteins_only" value="false"/>
        <param name="peptides_only" value="false"/>
        <param name="protein_groups" value="false"/>
        <param name="first_dim_rt" value="false"/>
        <param name="add_metavalues" value="0"/>
        <param name="add_hit_metavalues" value="0"/>
        <param name="add_protein_hit_metavalues" value="-1"/>
      </section>
      <section name="consensus">
        <param name="sorting_method" value="none"/>
        <param name="sort_by_maps" value="false"/>
        <param name="sort_by_size" value="false"/>
        <param name="add_metavalues" value="false"/>
      </section>
      <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>
  </tests>
  <help><![CDATA[Exports various XML formats to a text file.


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