diff AccurateMassSearch.xml @ 16:532cf3ddcc91 draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 3d1e5f37fd16524a415f707772eeb7ead848c5e3
author galaxyp
date Thu, 01 Dec 2022 19:05:06 +0000
parents 2dea459da18e
children 31e674c86840
line wrap: on
line diff
--- a/AccurateMassSearch.xml	Fri Nov 06 19:42:49 2020 +0000
+++ b/AccurateMassSearch.xml	Thu Dec 01 19:05:06 2022 +0000
@@ -1,13 +1,11 @@
 <?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="AccurateMassSearch" name="AccurateMassSearch" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
+<tool id="AccurateMassSearch" name="AccurateMassSearch" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
   <description>Match MS signals to molecules from a database by mass.</description>
   <macros>
     <token name="@EXECUTABLE@">AccurateMassSearch</token>
     <import>macros.xml</import>
-    <import>macros_autotest.xml</import>
-    <import>macros_test.xml</import>
   </macros>
   <expand macro="requirements"/>
   <expand macro="stdio"/>
@@ -30,13 +28,23 @@
   mkdir negative_adducts &&
   ln -s '$negative_adducts' 'negative_adducts/${re.sub("[^\w\-_]", "_", $negative_adducts.element_identifier)}.$gxy2omsext($negative_adducts.ext)' &&
 #end if
-#if $db.mapping:
-  mkdir db.mapping &&
-  ${ ' '.join(["ln -s '%s' 'db.mapping/%s.%s' &&" % (_, re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $db.mapping if _]) }
+#if $db.mapping_cond.mapping:
+  mkdir db.mapping_cond.mapping &&
+  #if $db.mapping_cond.mapping_select == "no"
+  mkdir ${' '.join(["'db.mapping_cond.mapping/%s'" % (i) for i, f in enumerate($db.mapping_cond.mapping) if f])} && 
+  ${' '.join(["ln -s '%s' 'db.mapping_cond.mapping/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($db.mapping_cond.mapping) if f])}
+  #else
+  ln -s '$db.mapping_cond.mapping' 'db.mapping_cond.mapping/${re.sub("[^\w\-_]", "_", $db.mapping_cond.mapping.element_identifier)}.$gxy2omsext($db.mapping_cond.mapping.ext)' &&
+  #end if
 #end if
-#if $db.struct:
-  mkdir db.struct &&
-  ${ ' '.join(["ln -s '%s' 'db.struct/%s.%s' &&" % (_, re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $db.struct if _]) }
+#if $db.struct_cond.struct:
+  mkdir db.struct_cond.struct &&
+  #if $db.struct_cond.struct_select == "no"
+  mkdir ${' '.join(["'db.struct_cond.struct/%s'" % (i) for i, f in enumerate($db.struct_cond.struct) if f])} && 
+  ${' '.join(["ln -s '%s' 'db.struct_cond.struct/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($db.struct_cond.struct) if f])}
+  #else
+  ln -s '$db.struct_cond.struct' 'db.struct_cond.struct/${re.sub("[^\w\-_]", "_", $db.struct_cond.struct.element_identifier)}.$gxy2omsext($db.struct_cond.struct.ext)' &&
+  #end if
 #end if
 
 ## Main program call
@@ -51,7 +59,7 @@
 'out/output.${gxy2omsext("mztab")}'
 #if "out_annotation_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   -out_annotation
-  'out_annotation/output.${in.ext}'
+  'out_annotation/output.${out_annotation_type}'
 #end if
 #if $positive_adducts:
   -positive_adducts
@@ -61,13 +69,21 @@
   -negative_adducts
   'negative_adducts/${re.sub("[^\w\-_]", "_", $negative_adducts.element_identifier)}.$gxy2omsext($negative_adducts.ext)'
 #end if
-#if $db.mapping:
+#if $db.mapping_cond.mapping:
   -db:mapping
-  ${' '.join(["'db.mapping/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $db.mapping if _])}
+  #if $db.mapping_cond.mapping_select == "no"
+  ${' '.join(["'db.mapping_cond.mapping/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($db.mapping_cond.mapping) if f])}
+  #else
+  'db.mapping_cond.mapping/${re.sub("[^\w\-_]", "_", $db.mapping_cond.mapping.element_identifier)}.$gxy2omsext($db.mapping_cond.mapping.ext)'
+  #end if
 #end if
-#if $db.struct:
+#if $db.struct_cond.struct:
   -db:struct
-  ${' '.join(["'db.struct/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $db.struct if _])}
+  #if $db.struct_cond.struct_select == "no"
+  ${' '.join(["'db.struct_cond.struct/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($db.struct_cond.struct) if f])}
+  #else
+  'db.struct_cond.struct/${re.sub("[^\w\-_]", "_", $db.struct_cond.struct.element_identifier)}.$gxy2omsext($db.struct_cond.struct.ext)'
+  #end if
 #end if
 #if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
   | tee '$stdout'
@@ -76,7 +92,7 @@
 ## Postprocessing
 && mv 'out/output.${gxy2omsext("mztab")}' '$out'
 #if "out_annotation_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
-  && mv 'out_annotation/output.${in.ext}' '$out_annotation'
+  && mv 'out_annotation/output.${out_annotation_type}' '$out_annotation'
 #end if
 #if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
   && mv '@EXECUTABLE@.ctd' '$ctd_out'
@@ -86,37 +102,69 @@
     <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="consensusxml,featurexml" optional="false" label="featureXML or consensusXML file" help=" select consensusxml,featurexml data sets(s)"/>
-    <param name="positive_adducts" argument="-positive_adducts" type="data" format="tabular" optional="true" label="This file contains the list of potential positive adducts that will be looked for in the database" help="Edit the list if you wish to exclude/include adducts. By default CHEMISTRY/PositiveAdducts.tsv in OpenMS/share is used select tabular data sets(s)"/>
-    <param name="negative_adducts" argument="-negative_adducts" type="data" format="tabular" optional="true" label="This file contains the list of potential negative adducts that will be looked for in the database" help="Edit the list if you wish to exclude/include adducts. By default CHEMISTRY/NegativeAdducts.tsv in OpenMS/share is used select tabular data sets(s)"/>
+    <param argument="-in" type="data" format="consensusxml,featurexml" optional="false" label="featureXML or consensusXML file" help=" select consensusxml,featurexml data sets(s)"/>
+    <param name="out_annotation_type" type="select" optional="false" label="File type of output out_annotation (A copy of the input file, annotated with matching hits from the database.)">
+      <option value="featureXML">featurexml</option>
+      <option value="consensusXML">consensusxml</option>
+      <option value="oms">sqlite (oms)</option>
+    </param>
+    <param argument="-positive_adducts" type="data" format="tabular" optional="true" label="This file contains the list of potential positive adducts that will be looked for in the database" help="Edit the list if you wish to exclude/include adducts. By default CHEMISTRY/PositiveAdducts.tsv in OpenMS/share is used select tabular data sets(s)"/>
+    <param argument="-negative_adducts" type="data" format="tabular" optional="true" label="This file contains the list of potential negative adducts that will be looked for in the database" help="Edit the list if you wish to exclude/include adducts. By default CHEMISTRY/NegativeAdducts.tsv in OpenMS/share is used select tabular data sets(s)"/>
     <section name="db" title="Database files which contain the identifications" help="" expanded="false">
-      <param name="mapping" argument="-db:mapping" type="data" format="tabular" multiple="true" optional="true" label="Database input file(s), containing three tab-separated columns of mass, formula, identifie" help="If 'mass' is 0, it is re-computed from the molecular sum formula. By default CHEMISTRY/HMDBMappingFile.tsv in OpenMS/share is used! If empty, the default will be used select tabular data sets(s)"/>
-      <param name="struct" argument="-db:struct" type="data" format="tabular" multiple="true" optional="true" label="Database input file(s), containing four tab-separated columns of identifier, name, SMILES, INCHI.The identifier should match with mapping file" help="SMILES and INCHI are reported in the output, but not used otherwise. By default CHEMISTRY/HMDB2StructMapping.tsv in OpenMS/share is used! If empty, the default will be used select tabular data sets(s)"/>
+      <conditional name="mapping_cond">
+        <param name="mapping_select" type="select" label="Run tool in batch mode for -mapping">
+          <option value="no">No: process all datasets jointly</option>
+          <option value="yes">Yes: process each dataset in an independent job</option>
+        </param>
+        <when value="no">
+          <param name="mapping" argument="-db:mapping" type="data" format="tabular" multiple="true" optional="true" label="Database input file(s), containing three tab-separated columns of mass, formula, identifie" help="If 'mass' is 0, it is re-computed from the molecular sum formula. By default CHEMISTRY/HMDBMappingFile.tsv in OpenMS/share is used! If empty, the default will be used select tabular data sets(s)"/>
+        </when>
+        <when value="yes">
+          <param name="mapping" argument="-db:mapping" type="data" format="tabular" multiple="false" optional="true" label="Database input file(s), containing three tab-separated columns of mass, formula, identifie" help="If 'mass' is 0, it is re-computed from the molecular sum formula. By default CHEMISTRY/HMDBMappingFile.tsv in OpenMS/share is used! If empty, the default will be used select tabular data sets(s)"/>
+        </when>
+      </conditional>
+      <conditional name="struct_cond">
+        <param name="struct_select" type="select" label="Run tool in batch mode for -struct">
+          <option value="no">No: process all datasets jointly</option>
+          <option value="yes">Yes: process each dataset in an independent job</option>
+        </param>
+        <when value="no">
+          <param name="struct" argument="-db:struct" type="data" format="tabular" multiple="true" optional="true" label="Database input file(s), containing four tab-separated columns of identifier, name, SMILES, INCHI.The identifier should match with mapping file" help="SMILES and INCHI are reported in the output, but not used otherwise. By default CHEMISTRY/HMDB2StructMapping.tsv in OpenMS/share is used! If empty, the default will be used select tabular data sets(s)"/>
+        </when>
+        <when value="yes">
+          <param name="struct" argument="-db:struct" type="data" format="tabular" multiple="false" optional="true" label="Database input file(s), containing four tab-separated columns of identifier, name, SMILES, INCHI.The identifier should match with mapping file" help="SMILES and INCHI are reported in the output, but not used otherwise. By default CHEMISTRY/HMDB2StructMapping.tsv in OpenMS/share is used! If empty, the default will be used select tabular data sets(s)"/>
+        </when>
+      </conditional>
     </section>
     <section name="algorithm" title="Algorithm parameters section" help="" expanded="false">
       <param name="mass_error_value" argument="-algorithm:mass_error_value" type="float" optional="true" value="5.0" label="Tolerance allowed for accurate mass search" help=""/>
-      <param name="mass_error_unit" argument="-algorithm:mass_error_unit" display="radio" type="select" optional="false" label="Unit of mass error (ppm or Da)" help="">
+      <param name="mass_error_unit" argument="-algorithm:mass_error_unit" type="select" optional="true" label="Unit of mass error (ppm or Da)" help="">
         <option value="ppm" selected="true">ppm</option>
         <option value="Da">Da</option>
-        <expand macro="list_string_san"/>
+        <expand macro="list_string_san" name="mass_error_unit"/>
       </param>
-      <param name="ionization_mode" argument="-algorithm:ionization_mode" display="radio" type="select" optional="false" label="Positive or negative ionization mode" help="If 'auto' is used, the first feature of the input map must contain the meta-value 'scan_polarity'. If its missing, the tool will exit with error">
+      <param name="ionization_mode" argument="-algorithm:ionization_mode" type="select" optional="true" label="Positive or negative ionization mode" help="If 'auto' is used, the first feature of the input map must contain the meta-value 'scan_polarity'. If its missing, the tool will exit with error">
         <option value="positive" selected="true">positive</option>
         <option value="negative">negative</option>
         <option value="auto">auto</option>
-        <expand macro="list_string_san"/>
+        <expand macro="list_string_san" name="ionization_mode"/>
       </param>
       <param name="isotopic_similarity" argument="-algorithm:isotopic_similarity" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Computes a similarity score for each hit (only if the feature exhibits at least two isotopic mass traces)" help=""/>
       <param name="use_feature_adducts" argument="-algorithm:use_feature_adducts" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Whether to filter AMS candidates mismatching available feature adduct annotation" help=""/>
-      <param name="keep_unidentified_masses" argument="-algorithm:keep_unidentified_masses" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Keep features that did not yield any DB hit" help=""/>
+      <param name="keep_unidentified_masses" argument="-algorithm:keep_unidentified_masses" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Keep features that did not yield any DB hit" help=""/>
+      <param name="id_format" argument="-algorithm:id_format" type="select" optional="true" label="Use legacy (ProteinID/PeptideID based storage of metabolomics data) with mzTab-v1.0.0 as output format or novel Identification Data (ID) with mzTab-v2.0.0-M as output format (ID and its MzTab-M output is currently only support for featureXML files)" help="">
+        <option value="legacy" selected="true">legacy</option>
+        <option value="ID">ID</option>
+        <expand macro="list_string_san" name="id_format"/>
+      </param>
       <section name="mzTab" title="" help="" expanded="false">
         <param name="exportIsotopeIntensities" argument="-algorithm:mzTab:exportIsotopeIntensities" type="boolean" truevalue="true" falsevalue="false" checked="false" label="[featureXML input only] Export column with available isotope trace intensities (opt_global_MTint)" help=""/>
       </section>
     </section>
     <expand macro="adv_opts_macro">
-      <param name="force" argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides 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 argument="-force" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Overrides tool-specific checks" help=""/>
+      <param argument="-test" type="hidden" optional="true" value="False" label="Enables the test mode (needed for internal use only)" help="">
+        <expand macro="list_string_san" name="test"/>
       </param>
     </expand>
     <param name="OPTIONAL_OUTPUTS" type="select" optional="true" multiple="true" label="Optional outputs">
@@ -126,20 +174,214 @@
   </inputs>
   <outputs>
     <data name="out" label="${tool.name} on ${on_string}: out" format="mztab"/>
-    <data name="out_annotation" label="${tool.name} on ${on_string}: out_annotation" format_source="in" metadata_source="in">
+    <data name="out_annotation" label="${tool.name} on ${on_string}: out_annotation" format="consensusxml">
+      <change_format>
+        <when input="out_annotation_type" value="featureXML" format="featurexml"/>
+        <when input="out_annotation_type" value="oms" format="sqlite"/>
+      </change_format>
       <filter>OPTIONAL_OUTPUTS is not None and "out_annotation_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_AccurateMassSearch"/>
-    <expand macro="manutest_AccurateMassSearch"/>
+  <tests><!-- UTILS_AccurateMassSearch_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="ConsensusMapNormalizer_input.consensusXML"/>
+      <output name="out" file="AccurateMassSearch_1_output.tmp.mzTab" compare="sim_size" delta_frac="0.7" ftype="mztab"/>
+      <param name="positive_adducts" value="CHEMISTRY/PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="CHEMISTRY/NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <conditional name="mapping_cond">
+          <param name="mapping" value="CHEMISTRY/HMDBMappingFile.tsv" ftype="tabular"/>
+        </conditional>
+        <conditional name="struct_cond">
+          <param name="struct" value="CHEMISTRY/HMDB2StructMapping.tsv" ftype="tabular"/>
+        </conditional>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="true"/>
+        <param name="id_format" value="legacy"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <!-- UTILS_AccurateMassSearch_2 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
+      <output name="out" file="AccurateMassSearch_2_output.tmp.mzTab" compare="sim_size" delta_frac="0.7" ftype="mztab"/>
+      <param name="out_annotation_type" value="featureXML"/>
+      <output name="out_annotation" file="AccurateMassSearch_2_output.tmp.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <conditional name="mapping_cond">
+          <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
+        </conditional>
+        <conditional name="struct_cond">
+          <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
+        </conditional>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="false"/>
+        <param name="id_format" value="legacy"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="true"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <!-- UTILS_AccurateMassSearch_3 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
+      <output name="out" file="AccurateMassSearch_3_output.tmp.mzTab" compare="sim_size" delta_frac="0.7" ftype="mztab"/>
+      <param name="out_annotation_type" value="featureXML"/>
+      <output name="out_annotation" file="AccurateMassSearch_2_output.tmp.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <conditional name="mapping_cond">
+          <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
+        </conditional>
+        <conditional name="struct_cond">
+          <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
+        </conditional>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="true"/>
+        <param name="id_format" value="legacy"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <!-- UTILS_AccurateMassSearch_5 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
+      <output name="out" file="AccurateMassSearch_5_output.tmp.mzTab" compare="sim_size" delta_frac="0.7" ftype="mztab"/>
+      <param name="out_annotation_type" value="oms"/>
+      <output name="out_annotation" file="AccurateMassSearch_5_output.tmp.oms" compare="sim_size" delta_frac="0.7" ftype="sqlite"/>
+      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <conditional name="mapping_cond">
+          <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
+        </conditional>
+        <conditional name="struct_cond">
+          <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
+        </conditional>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="true"/>
+        <param name="id_format" value="ID"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
+    <!-- UTILS_AccurateMassSearch_6 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in" value="AccurateMassSearch_2_input.featureXML"/>
+      <output name="out" file="AccurateMassSearch_6_output.tmp.mzTab" compare="sim_size" delta_frac="0.7" ftype="mztab"/>
+      <param name="out_annotation_type" value="featureXML"/>
+      <output name="out_annotation" file="AccurateMassSearch_6_output.tmp.featureXML" compare="sim_size" delta_frac="0.7" ftype="featurexml"/>
+      <param name="positive_adducts" value="AMS_PositiveAdducts.tsv" ftype="tabular"/>
+      <param name="negative_adducts" value="AMS_NegativeAdducts.tsv" ftype="tabular"/>
+      <section name="db">
+        <conditional name="mapping_cond">
+          <param name="mapping" value="AMS_test_Mapping.tsv" ftype="tabular"/>
+        </conditional>
+        <conditional name="struct_cond">
+          <param name="struct" value="AMS_test_Struct.tsv" ftype="tabular"/>
+        </conditional>
+      </section>
+      <section name="algorithm">
+        <param name="mass_error_value" value="5.0"/>
+        <param name="mass_error_unit" value="ppm"/>
+        <param name="ionization_mode" value="positive"/>
+        <param name="isotopic_similarity" value="false"/>
+        <param name="use_feature_adducts" value="false"/>
+        <param name="keep_unidentified_masses" value="true"/>
+        <param name="id_format" value="ID"/>
+        <section name="mzTab">
+          <param name="exportIsotopeIntensities" value="false"/>
+        </section>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_annotation_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
   </tests>
   <help><![CDATA[Match MS signals to molecules from a database by mass.
 
 
-For more information, visit http://www.openms.de/doxygen/release/2.6.0/html/UTILS_AccurateMassSearch.html]]></help>
+For more information, visit http://www.openms.de/doxygen/release/2.8.0/html/UTILS_AccurateMassSearch.html]]></help>
   <expand macro="references"/>
 </tool>