diff QualityControl.xml @ 4:bd210b86fb5d 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:18:12 +0000
parents 2f08fa7ab72c
children ea02cc72f0b9
line wrap: on
line diff
--- a/QualityControl.xml	Fri Nov 06 20:28:00 2020 +0000
+++ b/QualityControl.xml	Thu Dec 01 19:18:12 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: [Quality Control]-->
-<tool id="QualityControl" name="QualityControl" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@" profile="20.05">
+<tool id="QualityControl" name="QualityControl" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05">
   <description>Computes various QC metrics from many possible input files (only the consensusXML is required). The more optional files you provide, the more metrics you get.</description>
   <macros>
     <token name="@EXECUTABLE@">QualityControl</token>
     <import>macros.xml</import>
-    <import>macros_autotest.xml</import>
-    <import>macros_test.xml</import>
   </macros>
   <expand macro="requirements"/>
   <expand macro="stdio"/>
@@ -18,13 +16,23 @@
 ## Preprocessing
 mkdir in_cm &&
 ln -s '$in_cm' 'in_cm/${re.sub("[^\w\-_]", "_", $in_cm.element_identifier)}.$gxy2omsext($in_cm.ext)' &&
-#if $in_raw:
-  mkdir in_raw &&
-  ${ ' '.join(["ln -s '%s' 'in_raw/%s.%s' &&" % (_, re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in_raw if _]) }
+#if $in_raw_cond.in_raw:
+  mkdir in_raw_cond.in_raw &&
+  #if $in_raw_cond.in_raw_select == "no"
+  mkdir ${' '.join(["'in_raw_cond.in_raw/%s'" % (i) for i, f in enumerate($in_raw_cond.in_raw) if f])} && 
+  ${' '.join(["ln -s '%s' 'in_raw_cond.in_raw/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_raw_cond.in_raw) if f])}
+  #else
+  ln -s '$in_raw_cond.in_raw' 'in_raw_cond.in_raw/${re.sub("[^\w\-_]", "_", $in_raw_cond.in_raw.element_identifier)}.$gxy2omsext($in_raw_cond.in_raw.ext)' &&
+  #end if
 #end if
-#if $in_postFDR:
-  mkdir in_postFDR &&
-  ${ ' '.join(["ln -s '%s' 'in_postFDR/%s.%s' &&" % (_, re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in_postFDR if _]) }
+#if $in_postFDR_cond.in_postFDR:
+  mkdir in_postFDR_cond.in_postFDR &&
+  #if $in_postFDR_cond.in_postFDR_select == "no"
+  mkdir ${' '.join(["'in_postFDR_cond.in_postFDR/%s'" % (i) for i, f in enumerate($in_postFDR_cond.in_postFDR) if f])} && 
+  ${' '.join(["ln -s '%s' 'in_postFDR_cond.in_postFDR/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_postFDR_cond.in_postFDR) if f])}
+  #else
+  ln -s '$in_postFDR_cond.in_postFDR' 'in_postFDR_cond.in_postFDR/${re.sub("[^\w\-_]", "_", $in_postFDR_cond.in_postFDR.element_identifier)}.$gxy2omsext($in_postFDR_cond.in_postFDR.ext)' &&
+  #end if
 #end if
 #if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   mkdir out &&
@@ -34,14 +42,20 @@
 #end if
 #if "out_feat_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   mkdir out_feat &&
+  mkdir ${' '.join(["'out_feat/%s'" % (i) for i, f in enumerate($in_postFDR_cond.in_postFDR) if f])} && 
 #end if
 #if $in_contaminants:
   mkdir in_contaminants &&
   ln -s '$in_contaminants' 'in_contaminants/${re.sub("[^\w\-_]", "_", $in_contaminants.element_identifier)}.$gxy2omsext($in_contaminants.ext)' &&
 #end if
-#if $in_trafo:
-  mkdir in_trafo &&
-  ${ ' '.join(["ln -s '%s' 'in_trafo/%s.%s' &&" % (_, re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in_trafo if _]) }
+#if $in_trafo_cond.in_trafo:
+  mkdir in_trafo_cond.in_trafo &&
+  #if $in_trafo_cond.in_trafo_select == "no"
+  mkdir ${' '.join(["'in_trafo_cond.in_trafo/%s'" % (i) for i, f in enumerate($in_trafo_cond.in_trafo) if f])} && 
+  ${' '.join(["ln -s '%s' 'in_trafo_cond.in_trafo/%s/%s.%s' && " % (f, i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_trafo_cond.in_trafo) if f])}
+  #else
+  ln -s '$in_trafo_cond.in_trafo' 'in_trafo_cond.in_trafo/${re.sub("[^\w\-_]", "_", $in_trafo_cond.in_trafo.element_identifier)}.$gxy2omsext($in_trafo_cond.in_trafo.ext)' &&
+  #end if
 #end if
 
 ## Main program call
@@ -52,13 +66,21 @@
 @EXECUTABLE@ -ini @EXECUTABLE@.ctd
 -in_cm
 'in_cm/${re.sub("[^\w\-_]", "_", $in_cm.element_identifier)}.$gxy2omsext($in_cm.ext)'
-#if $in_raw:
+#if $in_raw_cond.in_raw:
   -in_raw
-  ${' '.join(["'in_raw/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in_raw if _])}
+  #if $in_raw_cond.in_raw_select == "no"
+  ${' '.join(["'in_raw_cond.in_raw/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_raw_cond.in_raw) if f])}
+  #else
+  'in_raw_cond.in_raw/${re.sub("[^\w\-_]", "_", $in_raw_cond.in_raw.element_identifier)}.$gxy2omsext($in_raw_cond.in_raw.ext)'
+  #end if
 #end if
-#if $in_postFDR:
+#if $in_postFDR_cond.in_postFDR:
   -in_postFDR
-  ${' '.join(["'in_postFDR/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in_postFDR if _])}
+  #if $in_postFDR_cond.in_postFDR_select == "no"
+  ${' '.join(["'in_postFDR_cond.in_postFDR/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_postFDR_cond.in_postFDR) if f])}
+  #else
+  'in_postFDR_cond.in_postFDR/${re.sub("[^\w\-_]", "_", $in_postFDR_cond.in_postFDR.element_identifier)}.$gxy2omsext($in_postFDR_cond.in_postFDR.ext)'
+  #end if
 #end if
 #if "out_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   -out
@@ -70,15 +92,19 @@
 #end if
 #if "out_feat_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
   -out_feat
-  ${' '.join(["'out_feat/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext("featurexml")) for _ in $in_postFDR if _])}
+  ${' '.join(["'out_feat/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext("featurexml")) for i, f in enumerate($in_postFDR_cond.in_postFDR) if f])}
 #end if
 #if $in_contaminants:
   -in_contaminants
   'in_contaminants/${re.sub("[^\w\-_]", "_", $in_contaminants.element_identifier)}.$gxy2omsext($in_contaminants.ext)'
 #end if
-#if $in_trafo:
+#if $in_trafo_cond.in_trafo:
   -in_trafo
-  ${' '.join(["'in_trafo/%s.%s'"%(re.sub('[^\w\-_]', '_', _.element_identifier), $gxy2omsext(_.ext)) for _ in $in_trafo if _])}
+  #if $in_trafo_cond.in_trafo_select == "no"
+  ${' '.join(["'in_trafo_cond.in_trafo/%s/%s.%s'"%(i, re.sub('[^\w\-_]', '_', f.element_identifier), $gxy2omsext(f.ext)) for i, f in enumerate($in_trafo_cond.in_trafo) if f])}
+  #else
+  'in_trafo_cond.in_trafo/${re.sub("[^\w\-_]", "_", $in_trafo_cond.in_trafo.element_identifier)}.$gxy2omsext($in_trafo_cond.in_trafo.ext)'
+  #end if
 #end if
 #if len(str($OPTIONAL_OUTPUTS).split(',')) == 0
   | tee '$stdout'
@@ -92,7 +118,7 @@
   && mv 'out_cm/output.${gxy2omsext("consensusxml")}' '$out_cm'
 #end if
 #if "out_feat_FLAG" in str($OPTIONAL_OUTPUTS).split(',')
-  ${' '.join(["&& mv -n 'in_postFDR/%(id)s.%(gext)s' 'out_feat/%(id)s'"%{"id": re.sub('[^\w\-_]', '_', _.element_identifier), "gext": $gxy2omsext("featurexml")} for _ in $out_feat if _])}
+  ${' '.join(["&& mv -n 'out_feat/%(bn)s/%(id)s.%(gext)s' 'out_feat/%(bn)s/%(id)s'"%{"bn": i, "id": re.sub('[^\w\-_]', '_', f.element_identifier), "gext": $gxy2omsext("featurexml")} for i, f in enumerate($in_postFDR_cond.in_postFDR) if f])}
 #end if
 #if "ctd_out_FLAG" in $OPTIONAL_OUTPUTS
   && mv '@EXECUTABLE@.ctd' '$ctd_out'
@@ -102,17 +128,53 @@
     <configfile name="hardcoded_json"><![CDATA[{"log": "log.txt", "threads": "\${GALAXY_SLOTS:-1}", "no_progress": true}]]></configfile>
   </configfiles>
   <inputs>
-    <param name="in_cm" argument="-in_cm" type="data" format="consensusxml" optional="false" label="ConsensusXML input, generated by FeatureLinke" help=" select consensusxml data sets(s)"/>
-    <param name="in_raw" argument="-in_raw" type="data" format="mzml" multiple="true" optional="true" label="MzML input (after InternalCalibration, if available)" help=" select mzml data sets(s)"/>
-    <param name="in_postFDR" argument="-in_postFDR" type="data" format="featurexml" multiple="true" optional="true" label="FeatureXMLs after FDR filtering" help=" select featurexml data sets(s)"/>
-    <param name="in_contaminants" argument="-in_contaminants" type="data" format="fasta" optional="true" label="Proteins considered contaminants" help=" select fasta data sets(s)"/>
-    <param name="in_trafo" argument="-in_trafo" type="data" format="trafoxml" multiple="true" optional="true" label="trafoXMLs from MapAligners" help=" select trafoxml data sets(s)"/>
+    <param argument="-in_cm" type="data" format="consensusxml" optional="false" label="ConsensusXML input, generated by FeatureLinke" help=" select consensusxml data sets(s)"/>
+    <conditional name="in_raw_cond">
+      <param name="in_raw_select" type="select" label="Run tool in batch mode for -in_raw">
+        <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 argument="-in_raw" type="data" format="mzml" multiple="true" optional="true" label="MzML input (after InternalCalibration, if available)" help=" select mzml data sets(s)"/>
+      </when>
+      <when value="yes">
+        <param argument="-in_raw" type="data" format="mzml" multiple="false" optional="true" label="MzML input (after InternalCalibration, if available)" help=" select mzml data sets(s)"/>
+      </when>
+    </conditional>
+    <conditional name="in_postFDR_cond">
+      <param name="in_postFDR_select" type="select" label="Run tool in batch mode for -in_postFDR">
+        <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 argument="-in_postFDR" type="data" format="featurexml" multiple="true" optional="true" label="FeatureXMLs after FDR filtering" help=" select featurexml data sets(s)"/>
+      </when>
+      <when value="yes">
+        <param argument="-in_postFDR" type="data" format="featurexml" multiple="false" optional="true" label="FeatureXMLs after FDR filtering" help=" select featurexml data sets(s)"/>
+      </when>
+    </conditional>
+    <param argument="-in_contaminants" type="data" format="fasta" optional="true" label="Proteins considered contaminants" help=" select fasta data sets(s)"/>
+    <conditional name="in_trafo_cond">
+      <param name="in_trafo_select" type="select" label="Run tool in batch mode for -in_trafo">
+        <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 argument="-in_trafo" type="data" format="trafoxml" multiple="true" optional="true" label="trafoXMLs from MapAligners" help=" select trafoxml data sets(s)"/>
+      </when>
+      <when value="yes">
+        <param argument="-in_trafo" type="data" format="trafoxml" multiple="false" optional="true" label="trafoXMLs from MapAligners" help=" select trafoxml data sets(s)"/>
+      </when>
+    </conditional>
+    <param argument="-out_evd" type="text" optional="true" value="" label="If a Path is given, a MQEvidence txt-file will be created in this directory" help="If the directory does not exist, it will be created as well">
+      <expand macro="list_string_san" name="out_evd"/>
+    </param>
     <section name="FragmentMassError" title="Fragment Mass Error settings" help="" expanded="false">
-      <param name="unit" argument="-FragmentMassError:unit" display="radio" type="select" optional="false" label="Unit for mass tolerance" help="'auto' uses information from FeatureXML">
+      <param name="unit" argument="-FragmentMassError:unit" type="select" optional="true" label="Unit for mass tolerance" help="'auto' uses information from FeatureXML">
         <option value="auto" selected="true">auto</option>
         <option value="ppm">ppm</option>
         <option value="da">da</option>
-        <expand macro="list_string_san"/>
+        <expand macro="list_string_san" name="unit"/>
       </param>
       <param name="tolerance" argument="-FragmentMassError:tolerance" type="float" optional="true" value="20.0" label="m/z search window for matching peaks in two spectra" help=""/>
     </section>
@@ -120,9 +182,9 @@
       <param name="assume_all_target" argument="-MS2_id_rate:assume_all_target" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Forces the metric to run even if target/decoy annotation is missing (accepts all pep_ids as target hits)" help=""/>
     </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">
@@ -140,7 +202,7 @@
       <filter>OPTIONAL_OUTPUTS is not None and "out_cm_FLAG" in OPTIONAL_OUTPUTS</filter>
     </data>
     <collection type="list" name="out_feat" label="${tool.name} on ${on_string}: out_feat">
-      <discover_datasets directory="out_feat" format="featurexml" pattern="__name__"/>
+      <discover_datasets directory="out_feat" recurse="true" format="featurexml" pattern="__name__"/>
       <filter>OPTIONAL_OUTPUTS is not None and "out_feat_FLAG" in OPTIONAL_OUTPUTS</filter>
     </collection>
     <data name="stdout" format="txt" label="${tool.name} on ${on_string}: stdout">
@@ -150,13 +212,44 @@
       <filter>OPTIONAL_OUTPUTS is not None and "ctd_out_FLAG" in OPTIONAL_OUTPUTS</filter>
     </data>
   </outputs>
-  <tests>
-    <expand macro="autotest_QualityControl"/>
-    <expand macro="manutest_QualityControl"/>
+  <tests><!-- TOPP_QualityControl_1 -->
+    <test expect_num_outputs="3">
+      <section name="adv_opts">
+        <param name="force" value="false"/>
+        <param name="test" value="true"/>
+      </section>
+      <param name="in_cm" value="QualityControl_1_in.consensusXML"/>
+      <conditional name="in_raw_cond">
+        <param name="in_raw" value="QualityControl_1_in1.mzML.gz,QualityControl_1_in2.mzML.gz,QualityControl_1_in3.mzML.gz"/>
+      </conditional>
+      <conditional name="in_postFDR_cond">
+        <param name="in_postFDR" value="QualityControl_1_in1.featureXML,QualityControl_1_in2.featureXML,QualityControl_1_in3.featureXML"/>
+      </conditional>
+      <output name="out" file="QualityControl_1_out.mzTab" compare="sim_size" delta_frac="0.7" ftype="mztab"/>
+      <output name="out_cm" file="QualityControl_1_out.consensusXML" compare="sim_size" delta_frac="0.7" ftype="consensusxml"/>
+      <param name="in_contaminants" value="QualityControl_1.fasta"/>
+      <conditional name="in_trafo_cond">
+        <param name="in_trafo" value="QualityControl_1_in1.trafoXML,QualityControl_1_in2.trafoXML,QualityControl_1_in3.trafoXML"/>
+      </conditional>
+      <param name="out_evd" value=""/>
+      <section name="FragmentMassError">
+        <param name="unit" value="auto"/>
+        <param name="tolerance" value="20.0"/>
+      </section>
+      <section name="MS2_id_rate">
+        <param name="assume_all_target" value="false"/>
+      </section>
+      <param name="OPTIONAL_OUTPUTS" value="ctd_out_FLAG,out_FLAG,out_cm_FLAG"/>
+      <output name="ctd_out" ftype="xml">
+        <assert_contents>
+          <is_valid_xml/>
+        </assert_contents>
+      </output>
+    </test>
   </tests>
   <help><![CDATA[Computes various QC metrics from many possible input files (only the consensusXML is required). The more optional files you provide, the more metrics you get.
 
 
-For more information, visit http://www.openms.de/doxygen/release/2.6.0/html/TOPP_QualityControl.html]]></help>
+For more information, visit http://www.openms.de/doxygen/release/2.8.0/html/TOPP_QualityControl.html]]></help>
   <expand macro="references"/>
 </tool>