diff maxquant.xml @ 1:8bac3cc5c5de draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/maxquant commit ab4e4f1817080cbe8a031a82cb180610ff140847
author galaxyp
date Sat, 20 Jul 2019 05:01:05 -0400
parents d4b6c9eae635
children 175e062b6a17
line wrap: on
line diff
--- a/maxquant.xml	Fri May 10 17:22:51 2013 -0400
+++ b/maxquant.xml	Sat Jul 20 05:01:05 2019 -0400
@@ -1,331 +1,364 @@
-<tool id="maxquant" version="0.1.0" name="MaxQuant">
-  <description>
-  </description>
-  <requirements>
-    <requirement>maxquant</requirement>
-    <requirement type="platform">windows</requirement>
-  </requirements>
-  <configfiles>
-    <configfile name="inputs_config">##Describe inputs
-#set $type = str($analysis_type.type)
-#if $type == "single"
-#set $groups = [$analysis_type]
-#elif $type == "multi_same"
-#set $groups = $analysis_type.groups
-#end if
-#for $i, $group in enumerate($groups)
-num:${str(i + 1)}
-#for $input in $group.inputs
-name:${input.display_name}
-path:${input}
-#end for
-#end for
-</configfile>
-  </configfiles>
-  <command interpreter="python">maxquant_wrapper.py 
-    --input_groups=$inputs_config
-    --database="${database}"
-    --database_name="${database.name}"
-    --protease=$analysis_type.protease
-    --first_search_tol=$analysis_type.first_search_tol
-    --main_search_tol=$analysis_type.main_search_tol
-    --max_missed_cleavages=$analysis_type.max_missed_cleavages
-    --max_n_mods=$analysis_type.max_n_mods
-    --variable_mods="${analysis_type.variable_modifications or ''}"
-    #if $analysis_type.advanced_group_parameters.specify
-    --do_mass_filtering=$analysis_type.advanced_group_parameters.do_mass_filtering
-    --max_charge=$analysis_type.advanced_group_parameters.max_charge
+<tool id="maxquant" name="MaxQuant" version="@VERSION@">
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <requirements>
+        <requirement type="package" version="@VERSION@">maxquant</requirement>
+        <requirement type="package" version="3.7">python</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+    #import re
+
+    python3 '$__tool_directory__/mqwrapper.py'
+    --num_threads=\${GALAXY_SLOTS:-1}
+    --substitution_rx='@SUBSTITUTION_RX@'
+    #if $input_opts.infile.select == "mzxml_files"
+        --mzxml_files='$input_opts.infile.mzxml_files'
+        #set names = ','.join([re.sub('@SUBSTITUTION_RX@', '_', str($name.element_identifier)) for $name in $input_opts.infile.mzxml_files])
+    #else
+        --raw_files='$input_opts.infile.raw_files'
+        #set names = ','.join([re.sub('@SUBSTITUTION_RX@', '_', str($name.element_identifier)) for $name in $input_opts.infile.raw_files])
+    #end if
+    --infile_names='$names'
+    --version='@VERSION@'
+    --fasta_files='$input_opts.fasta_files'
+    --identifier_parse_rule='$input_opts.identifier_parse_rule'
+    --description_parse_rule='$input_opts.description_parse_rule'
+
+    --exp_design='$search_opts.template'
+    --missed_cleavages=$search_opts.missed_cleavages
+    --min_peptide_len=$search_opts.min_peptide_len
+    --max_peptide_mass=$search_opts.max_peptide_mass
+    --min_unique_pep=$search_opts.min_unique_pep
+    $search_opts.calc_peak_properties
+    $search_opts.match_between_runs
+    #if $search_opts.fixed_mods
+        --fixed_mods='$search_opts.fixed_mods'
+    #end if
+    #if $search_opts.var_mods
+        --var_mods='$search_opts.var_mods'
+    #end if
+    #if $search_opts.proteases
+        --proteases='$search_opts.proteases'
+    #end if
+    #if $search_opts.silac.light_mods
+        --light_mods='$search_opts.silac.light_mods'
     #end if
-    #set $run = $analysis_type.run
-    #set $lcms_run_type = $run.lcms_run_type
-    --lcms_run_type=$lcms_run_type
-    #if str($lcms_run_type) != "3"
-    ## i.e. is not reporter ion type
-    #if $run.labels_conditional.labeled
-    #for $label_group in $run.labels_conditional.label_groups
-    --labels="${label_group.labels or ''}"
-    #end for
-    --max_labeled_aa=$run.labels_conditional.max_labeled_aa
+    #if $search_opts.silac.medium_mods
+        --medium_mods='$search_opts.silac.medium_mods'
+    #end if
+    #if $search_opts.silac.heavy_mods
+       --heavy_mods='$search_opts.silac.heavy_mods'
     #end if
-    #else
-    --reporter_type=$run.reporter_type
-    #end if 
-    #set $sp = $advanced_sequence_parameters
-    #if $sp.specify
-    --include_contamiants=${str(sp['include_contamiants']).lower()}
-    --equal_il=${str(sp['equal_il']).lower()}
-    --randomize=${str(sp['randomize'])}
+    #if $search_opts.lfq.do_lfq == "--lfq_mode=1"
+        $search_opts.lfq.do_lfq.lfq_mode
+        --lfq_min_ratio_count=$search_opts.lfq.do_lfq.lfq_min_ratio_count
+        --lfq_min_edges_per_node=$search_opts.lfq.do_lfq.lfq_min_edges_per_node
+        --lfq_avg_edges_per_node=$search_opts.lfq.do_lfq.lfq_avg_edges_per_node
+        $search_opts.lfq.do_lfq.lfq_skip_norm
+        $search_opts.lfq.do_lfq.separate_lfq
+        $search_opts.lfq.do_lfq.lfq_stabilize_large_ratios
+        $search_opts.lfq.do_lfq.lfq_require_msms
+        #if $search_opts.lfq.do_lfq.do_ibaq == "--ibaq"
+            $search_opts.lfq.do_lfq.do_ibaq.ibaq
+            $search_opts.lfq.do_lfq.do_ibaq.ibaq_log_fit
+        #end if
+        $search_opts.lfq.do_lfq.advanced_site_intensities
     #end if
-    #if $quantification.specify
-    #set $restrict = $quantification.restrict.restrict_protein_quantification
-    --restrict_protein_quantification=${str(restrict).lower()}
-    #if $quantification.restrict.restrict_protein_quantification
-    --restrict_mods="${quantification.restrict.restrict_modifications or ''}"
-    #end if
-    --quant_mode=$quantification.quant_mode
-    --use_counterparts=$quantification.use_counterparts
-    --min_ratio_count=$quantification.min_ratio_count
+
+    $output_opts.write_mztab
+    --evidence='$evidence'
+    --msms='$msms'
+    --parameters='$parameters'
+    --peptides='$peptides'
+    --proteinGroups='$proteinGroups'
+    --allPeptides='$allPeptides'
+    --libraryMatch='$libraryMatch'
+    --matchedFeatures='$matchedFeatures'
+    --modificationSpecificPeptides='$modificationSpecificPeptides'
+    --ms3Scans='$ms3Scans'
+    --msmsScans='$msmsScans'
+    --mzRange='$mzRange'
+    --peptideSection='$peptideSection'
+    --summary='$summary'
+    --mzTab='$mzTab'
+    --mqpar_out='$mqpar_out'
+
+    #if 'log' in $output_opts.output
+        > '$log'
     #end if
-    #if $site_quantification.specify
-    --site_quant_mode=$site_quantification.site_quant_mode
-    --use_norm_ratios_for_occupancy=$site_quantification.use_norm_ratios_for_occupancy
-    #end if
-    #set $identification_type = str($identification.options_type)
-    #if $identification_type != "none"
-    --protein_fdr=$identification.protein_fdr
-    --peptide_fdr=$identification.peptide_fdr
-    --site_fdr=$identification.site_fdr
-    #if $identification_type != "simple"
-    --peptide_pep=$identification.peptide_pep
-    #end if
-    #end if
-    #if $misc.specify
-    --re_quantify="$misc.re_quantify"
+    #if 'output_all' in $output_opts.output
+        && tar -zcf '$output_all' ./combined/txt
     #end if
-    --fixed_mods="${fixed_modifications or ''}"
-    --output_protein_groups=$output_protein_groups
-    --output_peptides=$output_peptides
-    --output_evidence=$output_evidence
-    --output_parameters=$output_parameters
-    --output_msms=$output_msms
-    --output_mqpar=$output_mqpar
-  </command>
-  <macros>
-    <macro name="input_param">
-      <param format="raw" multiple="true" name="inputs" type="data" label="RAW Inputs" help="" />
-    </macro>
-    <macro name="mod_opts">
-      <options from_file="maxquant_mods.loc">
-        <column name="name" index="0"/>
-        <column name="value" index="0" />
-      </options>
-      <sanitizer>
-        <valid>
-          <add value="&lt;"/>
-          <add value="&gt;"/>
-          <add value="["/>
-          <add value="]"/>
-        </valid>
-      </sanitizer>
-    </macro>
-    <macro name="protease_opts">
-      <options from_file="maxquant_proteases.loc">
-        <column name="name" index="0"/>
-        <column name="value" index="0" />
-      </options>
-    </macro>
-    <macro name="group_params">
-      <param name="protease" label="Enzyme" type="select">
-        <expand macro="protease_opts" />
-      </param>
-      <param name="first_search_tol" label="First Search Tolerance (ppm)" type="float" value="20" />
-      <param name="main_search_tol" label="Main Search Tolerance (ppm)" type="float" value="6" />
-      <param name="max_n_mods" type="integer" label="Maximum Number of Modifications per Peptide" value="5" />
-      <param name="max_missed_cleavages" type="integer" label="Maximum Number of Missed Cleavages" value="2" />
-      <param name="variable_modifications" label="Variable Modifications" type="select" multiple="true">
-        <expand macro="mod_opts" />
-      </param>
-      <conditional name="run">
-        <param name="lcms_run_type" type="select" label="Run Type">
-          <option value="0">Standard</option>
-          <option value="2">All ion fragmentation</option>
-          <option value="3">Reporter ion</option>
-        </param>
-        <when value="0">
-          <expand macro="labels" />
-        </when>
-        <when value="2"> 
-          <expand macro="labels" />
-        </when>
-        <when value="3">
-          <expand macro="reporter" />
-        </when>
-      </conditional>
-      <conditional name="advanced_group_parameters">
-        <param name="specify" type="boolean" label="Specify Advanced Group Parameters" checked="false" />
-        <when value="false">
-        </when>
-        <when value="true">
-          <param name="do_mass_filtering" type="boolean" label="Individual Peptide Mass Tolerances" checked="true" truevalue="true" falsevalue="false" />
-          <param name="max_charge" type="integer" label="Maximum Charge" value="7" />
-          <!-- 
-            TODO: First charge protease, first charge mods.
-          -->
-        </when>
-      </conditional>      
-    </macro>
-    <macro name="labels">
-      <conditional name="labels_conditional">
-        <param name="labeled" type="boolean" label="Specify Labels" checked="false" />
-        <when value="false">
-        </when>
-        <when value="true">
-          <repeat name="label_groups" title="Label Groups">
-            <param name="labels" type="select" title="Labels" multiple="true" help="Select none to describe unlabelled 'light labels'.">
-              <option value="Arg6">Arg6</option>
-              <option value="Arg10">Arg10</option>
-              <option value="Lys4">Lys4</option>
-              <option value="Lys6">Lys6</option>
-              <option value="Lys8">Lys8</option>
+    ]]></command>
+    <inputs>
+        <section name="input_opts" title="Input Options" expanded="True">
+            <conditional name="infile">
+                <param name="select" type="select" label="choose the type of your input files">
+                    <option value="raw_files">Thermo.raw</option>
+                    <option value="mzxml_files">mzXML</option>
+                </param>
+                <when value="raw_files"> 
+                    <param multiple="true" name="raw_files" type="data"
+                           format="thermo.raw" label="RAW Files"
+                           help="Specify one or more Thermo RAW files" />
+                </when>
+                <when value="mzxml_files">
+                    <param multiple="true" name="mzxml_files" type="data"
+                           format="mzxml" label="mzXML Files"
+                           help="Specify one or more mzXML files" />
+                </when>
+            </conditional>
+            <param format="fasta" multiple="true" name="fasta_files"
+                   type="data" label="FASTA files"
+                   help="Specify one or more FASTA databases." />
+            <param name="identifier_parse_rule" type="text"
+                   label="identifier parse rule" value="^&gt;.*\|(.*)\|.*$">
+                <sanitizer>
+                    <valid initial="string.printable">
+                        <remove value="&apos;"/>
+                    </valid>
+                </sanitizer>
+            </param>
+            <param name="description_parse_rule" type="text"
+                   label="description parse rule" value="^&gt;.*\|.*\|[^ ]+ (.*) OS.*$"
+                   help="Modify parse rules if needed">
+                <sanitizer>
+                    <valid initial="string.printable">
+                        <remove value="&apos;"/>
+                    </valid>
+                </sanitizer>
+            </param>
+        </section>
+
+        <section name="search_opts" title="Search Options" expanded="true">
+            <param format="tabular" name="template" type="data" optional="true"
+                   label="Specify an experimental design template (if needed). For detailed
+                          instructions see the help text." />
+            <param type="integer" name="missed_cleavages"
+	           label="missed cleavages" value="1"/>
+            <param type="integer" name="min_peptide_len"
+	           label="minimum peptide length" value="7"/>
+            <param type="integer" name="max_peptide_mass"
+	           label="maximum peptide mass" value="4600"/>
+            <param type="integer" name="min_unique_pep"
+	           label="minimum unique peptides" value="1" />
+            <param name="calc_peak_properties" type="boolean" checked="false"
+	           label="Calculate peak properties?"
+	           truevalue="--calc_peak_properties" falsevalue="" />
+            <param name="match_between_runs" type="boolean" checked="false"
+	           label="Match between runs?"
+	           truevalue="--match_between_runs" falsevalue="" />
+            <param name="fixed_mods" type="select" label="fixed modifications"
+	           multiple="true" help="select zero or more fixed modifications">
+	        <expand macro="modification"/>
             </param>
-          </repeat>
-          <param name="max_labeled_aa" type="integer" title="Max Labeled Amino Acids" value="3" />
-        </when>
-      </conditional>      
-    </macro>
-    <macro name="reporter">
-      <param name="reporter_type" type="select" label="Reporter Ions Type">
-        <option value="itraq_4plex">4-plex iTRAQ</option>
-        <option value="itraq_8plex">8-plex iTRAQ</option>
-        <option value="tmt_2plex">2-plex TMT</option>
-        <option value="tmt_6plex">6-plex TMT</option>
-      </param>
-    </macro>
-    <macro name="advanced_group_conditional">
+            <param name="var_mods" type="select" label="variable modifications"
+	           multiple="true" help="select zero or more variable modifications">
+	        <expand macro="modification"/>
+            </param>
+            <param name="proteases" type="select" label="proteases"
+	           multiple="true" help="select zero or more proteases">
+	        <expand macro="proteases"/>
+            </param>
+            <section title="label based quantitation" name="silac" expanded="false">
+	        <param name="light_mods" type="select" label="light labels"
+		       multiple="true" help="select zero or more light modifications">
+	            <expand macro="label"/>
+	        </param>
+	        <param name="medium_mods" type="select" label="medium labels"
+		       multiple="true" help="select zero or more medium modifications">
+	            <expand macro="label"/>
+	        </param>
+	        <param name="heavy_mods" type="select" label="heavy labels"
+		       multiple="true" help="select zero or more heavy modifications">
+	            <expand macro="label"/>
+	        </param>
+            </section>
+            <section title="label free quantification" name="lfq" expanded="false">
+	        <conditional name="do_lfq">
+                    <param name="lfq_mode" type="select" label="Perform LFQ?">
+                        <option value="">No</option>
+                        <option value="--lfq_mode=1">Yes</option>
+		    </param>
+                    <when value="--lfq_mode=1">
+		        <param type="integer" name="lfq_min_ratio_count"
+		               label="LFQ minimum ratio count" value="2"/>
+		        <param type="integer" name="lfq_min_edges_per_node"
+			       label="LFQ minimum number of neighbours" value="3"/>
+		        <param type="integer" name="lfq_avg_edges_per_node"
+			       label="LFQ average number of neighbours" value="6"/>
+		        <param name="lfq_skip_norm" type="boolean" checked="false"
+			       label="Skip normalization?"
+			       truevalue="--lfq_skip_norm" falsevalue="" />
+		        <param name="separate_lfq" type="boolean" checked="false"
+			       label="Separate LFQ in parameter Groups?"
+			       truevalue="--separate_lfq" falsevalue="" />
+		        <param name="lfq_stabilize_large_ratios" type="boolean" checked="true"
+			       label="Stabilize large LFQ ratios?"
+			       truevalue="--lfq_stabilize_large_ratios" falsevalue="" />
+		        <param name="lfq_require_msms" type="boolean" checked="true"
+			       label="Require MS/MS for LFQ comparisons?"
+			       truevalue="--lfq_require_msms" falsevalue="" />
+		        <conditional name="do_ibaq">
+                            <param name="ibaq" type="select" label="iBAQ?">
+                                <option value="">No</option>
+                                <option value="--ibaq">Yes</option>
+		            </param>
+                            <when value="--ibaq">
+                                <param name="ibaq_log_fit" type="boolean" checked="true"
+                                       label="Logarithmic fit?"
+                                       truevalue="--ibaq_log_fit" falsevalue="" />
+                            </when>
+                            <when value="">
+                            </when>
+		        </conditional>
+		        <param name="advanced_site_intensities" type="boolean" checked="true"
+			       label="Advanced site intensities?"
+			       truevalue="--advanced_site_intensities" falsevalue="" />
+		    </when>
+		    <when value="">
+	            </when>
+	        </conditional>    
+            </section>
+        </section>
 
-    </macro>
-    <macro name="advanced_sequences_conditional">
-      <conditional name="advanced_sequence_parameters">
-        <param name="specify" type="boolean" label="Specify Advanced Sequence Parameters" checked="false" />
-        <when value="false">
-        </when>
-        <when value="true">
-          <param name="include_contamiants" type="boolean" label="Include Contamiant Sequences" checked="true" />
-          <param name="equal_il" type="boolean" label="I = L" checked="false" />
-          <param name="randomize" type="select" label="Decoy Type">
-            <option value="false" selected="true">Reverse</option>
-            <option value="true">Randomize</option>
-          </param>
-          <!-- TODO: special_aas, KR -->
-        </when>
-      </conditional>
-    </macro>
-    <macro name="identification_conditional">
-      <conditional name="identification">
-        <param name="options_type" type="select" label="Specify Identification Parameters">
-          <option value="none">None, use all defaults.</option>
-          <option value="simple">Simple, specify a few high level parameters.</option>
-          <option value="advanced">Advanced, specify many identification parameters.</option>
-        </param>
-        <when value="none">
-        </when>
-        <when value="simple">
-          <expand macro="simple_identification_params" />
-        </when>
-        <when value="advanced">
-          <expand macro="simple_identification_params" />
-          <expand macro="advanced_identification_params" />
-        </when>
-      </conditional>
-    </macro>
-    <macro name="site_quantification_conditional">
-      <conditional name="site_quantification">
-        <param name="specify" type="boolean" label="Specify Advanced Site Quantification Parameters" checked="false" />
-        <when value="false">
-        </when>
-        <when value="true">
-          <param name="site_quant_mode" type="select" label="Site Quantification Mode">
-            <!-- TODO verify values -->
-            <option value="0" selected="true">Use least modified peptides</option>
-            <option value="1">Use largest change</option>
-          </param>
-          <param name="use_norm_ratios_for_occupancy" type="boolean" label="Use normalized Ratios for  Occupancy" truevalue="true" falsevalue="false" checked="true"/>
-        </when>
-      </conditional>
-    </macro>
-    <macro name="protein_quantification_conditional">
-      <conditional name="quantification">
-        <param name="specify" type="boolean" label="Specify Advanced Protein Quantification Parameters" checked="false" />
-        <when value="false">
-        </when>
-        <when value="true">
-          <conditional name="restrict">
-            <param name="restrict_protein_quantification" type="boolean" label="Restrict Protein Quantification" checked="true" help="to unmodified peptides and those with certain modifications."/>
-            <when value="false">
-            </when>
-            <when value="true">
-              <param name="restrict_modifications" label="Modifications for Quantification" type="select" help="If advanced protein quantification parameters is not selected these default to Oxidation (M) and Actetyl (Protein N-term), but they must be selected (if desired) in this mode." multiple="true">
-                <expand macro="mod_opts" />
-              </param>
-            </when>
-          </conditional>
-          <param name="quant_mode" type="select" label="Protein Quantification Mode">
-            <option value="0">Use all peptides</option>
-            <option value="1" selected="true">Use razor and unique peptides</option>
-            <option value="2">Use unique peptides</option>
-          </param>
-          <param name="use_counterparts" type="boolean" label="Discard Unmodified Counterpart Peptides." checked="true" truevalue="false" falsevalue="true" />
-          <param name="min_ratio_count" label="Minimum Ratio Count" value="2" type="integer" />
-        </when>
-      </conditional>
-    </macro>
-    <macro name="simple_identification_params">
-      <param name="protein_fdr" label="Protein FDR" value="0.01" type="float" />
-      <param name="peptide_fdr" label="Peptide FDR" value="0.01" type="float" />
-      <param name="site_fdr" label="Protein FDR" value="0.01" type="float" />
-    </macro>
-    <macro name="advanced_identification_params">
-      <param name="peptide_pep" label="Max Peptide PEP" value="1" type="float" />
-      <!-- TODO: Apply site FDR seperately (boolean), Min peptides, Min Score,  
-           min peptide length, min razor + unique peptides, filter labeled aa,
-           min unique peptides, second peptides (boolean true) -->
-    </macro>
-    <macro name="misc_conditional">
-      <conditional name="misc">
-        <param name="specify" type="boolean" label="Specify Misc Parameters" checked="false" />
-        <when value="false">
-        </when>
-        <when value="true">
-          <param name="re_quantify" type="boolean" label="Re-quantify" checked="true" truevalue="true" falsevalue="false" />
-          <!--
-            "Keep low-scoring versions of identified peptides" 0 = No, 1 only within parameters groups, 2 = Also between parameter groups.
-            Match Between Runs: bool
-               Time window (minutes): 2
-            Label-free quantification:
-               LFO min ratio count 2
-               Fast LFQ
-            iBAQ
-               Log fit
-          -->
-        </when>
-      </conditional>
-    </macro>
-  </macros>
-  <inputs>
-    <conditional name="analysis_type">
-      <param name="type" type="select" value="single" help="The wrapper has not yet implemented multiple groups with different parameters">
-        <option value="single">Single Group</option>
-        <option value="multi_same">Multi-Group Identical Parameters</option>
-      </param>
-      <when value="multi_same">
-        <repeat name="groups">
-          <expand macro="input_param" />
-        </repeat>
-	      <expand macro="group_params" />
-      </when>
-      <when value="single">
-        <expand macro="input_param" />
-        <expand macro="group_params" />
-      </when>
-    </conditional>
-    <param format="fasta" name="database" type="data" label="FASTA Database" help="" />
-    <expand macro="advanced_sequences_conditional" />
-    <param name="fixed_modifications" label="Fixed Modifications" type="select" multiple="true">
-      <expand macro="mod_opts" />
-    </param>
-    <expand macro="identification_conditional" />
-    <expand macro="protein_quantification_conditional" />
-    <expand macro="site_quantification_conditional" />
-    <expand macro="misc_conditional" />
-  </inputs>
-  <outputs>
-    <data format="tabular" name="output_protein_groups" label="MaxQuant Protein Groups for ${on_string}"/>
-    <data format="tabular" name="output_peptides" label="MaxQuant Peptides for ${on_string}"/>
-    <data format="tabular" name="output_evidence" label="MaxQuant Evidence for ${on_string}"/>
-    <data format="tabular" name="output_parameters" label="MaxQuant Tabular Parameters for ${on_string}"/>
-    <data format="tabular" name="output_msms" label="MaxQuant MSMS for ${on_string}"/>
-    <data format="tabular" name="output_mqpar" label="MaxQuant Parameters XML for ${on_string}"/>
-  </outputs>
-  <help>
-  </help>
+        <section title="Output Options" name="output_opts" expanded="true">
+            <param name="write_mztab" type="boolean" checked="false"
+	           label="Write mztab file?"
+	           truevalue="--write_mztab" falsevalue="" />
+            <param type="select" name="output" label="Select the desired outputs."
+                   multiple="true" optional="false">
+                <expand macro="output_option" name="proteinGroups" label="Protein Groups"/>
+                <expand macro="output_option" name="mqpar_out" label="mqpar.xml"/>
+                <expand macro="output_option" name="peptides" label="Peptides"/>
+                <expand macro="output_option" name="evidence" label="Evidence"/>
+                <expand macro="output_option" name="parameters" label="Tabular Paramters"/>
+                <expand macro="output_option" name="msms" label="MSMS"/>
+                <expand macro="output_option" name="mzTab" label="mzTab"/>
+                <expand macro="output_option" name="allPeptides" label="all peptides"/>
+                <expand macro="output_option" name="libraryMatch" label="library match"/>
+                <expand macro="output_option" name="matchedFeatures" label="matched features"/>
+                <expand macro="output_option" name="modificationSpecificPeptides" label="modification specific peptides"/>
+                <expand macro="output_option" name="ms3Scans" label="ms3 scans"/>
+                <expand macro="output_option" name="msmsScans" label="msms scans"/>
+                <expand macro="output_option" name="mzRange" label="mz range"/>
+                <expand macro="output_option" name="peptideSection" label="peptide section"/>
+                <expand macro="output_option" name="summary" label="summary"/>
+                <expand macro="output_option" name="output_all" label="complete 'combined/txt/' directory (compressed)"/>
+                <expand macro="output_option" name="log" label="MaxQuant log"/>
+            </param>
+        </section>
+    </inputs>
+
+    <outputs>
+        <expand macro="output" name="proteinGroups" label="MaxQuant Protein Groups"/>
+        <expand macro="output" name="mqpar_out" label="mqpar.xml" format="xml"/>
+        <expand macro="output" name="peptides" label="MaxQuant Peptides"/>
+        <expand macro="output" name="evidence" label="MaxQuant Evidence"/>
+        <expand macro="output" name="parameters" label="MaxQuant Tabular Parameters"/>
+        <expand macro="output" name="msms" label="MaxQuant MSMS"/>
+        <expand macro="output" name="mzTab" label="mzTab"/>
+        <expand macro="output" name="allPeptides" label="all peptides"/>
+        <expand macro="output" name="libraryMatch" label="library match"/>
+        <expand macro="output" name="matchedFeatures" label="matched features"/>
+        <expand macro="output" name="modificationSpecificPeptides" label="modification specific peptides"/>
+        <expand macro="output" name="ms3Scans" label="ms3 scans"/>
+        <expand macro="output" name="msmsScans" label="msms Scans"/>
+        <expand macro="output" name="mzRange" label="mz range"/>
+        <expand macro="output" name="peptideSection" label="peptide section"/>
+        <expand macro="output" name="summary" label="MaxQuant summary"/>
+        <expand macro="output" format="tar" name="output_all" label="'combined/txt/' directory"/>
+        <expand macro="output" name="log" format="txt" label="log"/>
+    </outputs>
+
+    <tests>
+        <test>
+            <param name="select" value="mzxml_files" />
+            <param name="mzxml_files" value="BSA_min_23.mzXML" />
+            <param name="fasta_files" value="bsa.fasta" />
+            <param name="identifier_parse_rule" value="&gt;([^\s]*)" />
+            <param name="description_parse_rule" value="&gt;(.*)" />
+            <param name="min_unique_pep" value="0" />
+            <param name="fixed_mods" value="Carbamidomethyl (C)" />
+            <param name="var_mods" value="Oxidation (M)" />
+            <param name="proteases" value="Trypsin/P" />
+            <param name="write_mztab" value="true" />
+            <param name="output" value="evidence,msms,allPeptides,msmsScans,mzTab,mzRange,parameters,peptides,peptideSection,proteinGroups,summary,modificationSpecificPeptides" />
+            <output name="evidence" file="single/combined/txt/evidence.txt" />
+            <output name="msms" file="single/combined/txt/msms.txt" />
+            <output name="mzTab" file="single/combined/txt/mzTab.mzTab" lines_diff="4"/>
+            <output name="allPeptides" file="single/combined/txt/allPeptides.txt" />
+            <output name="msmsScans" file="single/combined/txt/msmsScans.txt" />
+            <output name="mzRange" file="single/combined/txt/mzRange.txt" />
+            <output name="parameters" file="single/combined/txt/parameters.txt" lines_diff="10"/>
+            <output name="peptides" file="single/combined/txt/peptides.txt" />
+            <output name="peptideSection" file="single/combined/txt/peptideSection.txt" />
+            <output name="proteinGroups" file="single/combined/txt/proteinGroups.txt" />
+            <output name="summary" file="single/combined/txt/summary.txt" />
+            <output name="modificationSpecificPeptides" file="single/combined/txt/modificationSpecificPeptides.txt" />
+        </test>
+    </tests>
+
+    <help><![CDATA[
+MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets. 
+
+This tool is a wrapper for MaxQuant v@VERSION@. The current version of the wrapper only supports a very reduced set of search parameters, but another version of the tool that gets its parameters directly from a mqpar.xml file is available, too. If possible, this tool should be preferred. 
+
+**Input files**
+
+- Thermo raw file or mzXML file
+    - The datatype has to be 'thermo.raw' or 'mzXML'. Make sure to specify the correct datatype either during upload to Galaxy or afterwards (edit attributes --> datatypes)
+- Optional files:
+    - Tabular file with experimental design template: 
+        - Currently four columns are needed: Name, Fraction, Experiment and PTM. The headers must have this exact naming. Name and Fraction are abitrary strings, Experiment is an integer, PTM is either True or False.
+
+                ::
+
+                    Name     Fraction    Experiment   PTM
+                    File1        1          E1       False
+                    File2        2          E1       False
+                    File3        3          E1       False
+                    ...
+                    ...
+
+**Parameter Options**
+
+- Quantification options
+    - label based: 
+        - for two channels: choose options from light and heavy sections, for three channels choose options from light, medium and heavy sections
+    - label-free
+
+**Output files**
+
+Different output file options are available, most of them are part of the MaxQuant txt directory. 
+    ]]></help>
+    <citations>
+        <citation type="bibtex">
+        @article{cox2008maxquant,
+        title={MaxQuant enables high peptide identification rates, individualized
+        ppb-range mass accuracies and proteome-wide protein quantification},
+        author={Cox, J{\"u}rgen and Mann, Matthias},
+        journal={Nature biotechnology},
+        volume={26},
+        number={12},
+        pages={1367},
+        year={2008},
+        publisher={Nature Publishing Group}
+        }
+        </citation>
+        <citation type="bibtex">
+        @article{tyanova2016maxquant,
+        title={The MaxQuant computational platform for mass
+        spectrometry-based shotgun proteomics},
+        author={Tyanova, Stefka and Temu, Tikira and Cox, J{\"u}rgen},
+        journal={Nature protocols},
+        volume={11},
+        number={12},
+        pages={2301},
+        year={2016},
+        publisher={Nature Publishing Group}
+        }
+        </citation>
+    </citations>
 </tool>