comparison maxquant.xml @ 4:dcd39bcc7481 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/maxquant commit da342a782ccc391b87fb4fead956b7b3cbd21258"
author galaxyp
date Sat, 11 Apr 2020 11:49:19 -0400
parents 175e062b6a17
children 7f432d87c82c
comparison
equal deleted inserted replaced
3:175e062b6a17 4:dcd39bcc7481
1 <tool id="maxquant" name="MaxQuant" version="@VERSION@+galaxy1"> 1 <tool id="maxquant" name="MaxQuant" version="@VERSION@">
2 <macros> 2 <macros>
3 <xml name="output" token_format="tabular" token_label="default description" token_name="default">
4 <data format="@FORMAT@" label="@LABEL@ for ${on_string}" name="@NAME@">
5 <filter>'@NAME@' in output_opts['output']</filter>
6 </data>
7 </xml>
8 <xml name="output_from_wdir" token_ext="txt" token_format="tabular" token_label="default description" token_name="default">
9 <data format="@FORMAT@" from_work_dir="combined/txt/@NAME@.@EXT@" label="@LABEL@ for ${on_string}" name="@NAME@">
10 <filter>'@NAME@' in output_opts['output']</filter>
11 </data>
12 </xml>
3 <import>macros.xml</import> 13 <import>macros.xml</import>
4 </macros> 14 </macros>
5 <requirements> 15 <expand macro="requirements"/>
6 <requirement type="package" version="@VERSION@">maxquant</requirement>
7 <requirement type="package" version="3.7">python</requirement>
8 </requirements>
9 <command detect_errors="exit_code"><![CDATA[ 16 <command detect_errors="exit_code"><![CDATA[
10 #import re 17 #import re
11 18 maxquant -c mqpar.xml 2>/dev/null ## MQ writes success of creation to stderr
12 python3 '$__tool_directory__/mqwrapper.py' 19 #if 'config' in $output_opts.output:
20 &&
21 cp '$mq_conf' '$config'
22 #end if
23 #set infiles = [$name for $pg in $paramGroups for $name in $pg.files]
24 #set names = [re.sub('@SUBSTITUTION_RX@', '_', str($n.element_identifier)) for $n in $infiles]
25 #set names_with_ext = [($name if ($name).lower().endswith(str($input_opts.ftype)) else $name + str($input_opts.ftype)) for $name in $names]
26 #for $target, $link in zip($infiles, $names_with_ext)
27 &&
28 ln -s '$target' '$link'
29 #end for
30 &&
31 python3 '$__tool_directory__/create_mqpar.py'
32 #if $search_opts.template
33 --exp_design='$search_opts.template'
34 #end if
35 --version=@VERSION@
13 --num_threads=\${GALAXY_SLOTS:-1} 36 --num_threads=\${GALAXY_SLOTS:-1}
14 --substitution_rx='@SUBSTITUTION_RX@' 37 --substitution_rx='@SUBSTITUTION_RX@'
15 #if $input_opts.infile.select == "mzxml_files" 38 --yaml='$mq_conf'
16 --mzxml_files='$input_opts.infile.mzxml_files' 39 mqpar.xml
17 #set names = ','.join([re.sub('@SUBSTITUTION_RX@', '_', str($name.element_identifier)) for $name in $input_opts.infile.mzxml_files]) 40
18 #else 41 #if $output_opts.dry_run:
19 --raw_files='$input_opts.infile.raw_files' 42 &&
20 #set names = ','.join([re.sub('@SUBSTITUTION_RX@', '_', str($name.element_identifier)) for $name in $input_opts.infile.raw_files]) 43 mkdir -p combined/txt
21 #end if 44 &&
22 --infile_names='$names' 45 mv mqpar.xml combined/txt/mqpar.xml
23 --version='@VERSION@' 46 #else:
24 --fasta_files='$input_opts.fasta_files' 47 &&
25 --identifier_parse_rule='$input_opts.identifier_parse_rule' 48 maxquant mqpar.xml
26 --description_parse_rule='$input_opts.description_parse_rule' 49 #if 'log' in $output_opts.output:
27 50 > '$log'
28 --exp_design='$search_opts.template' 51 #end if
29 --missed_cleavages=$search_opts.missed_cleavages 52 &&
30 --min_peptide_len=$search_opts.min_peptide_len 53 mv mqpar.xml combined/txt/mqpar.xml
31 --max_peptide_mass=$search_opts.max_peptide_mass 54 #if 'output_all' in $output_opts.output:
32 --min_unique_pep=$search_opts.min_unique_pep 55 &&
33 $search_opts.calc_peak_properties 56 tar -zcf '$output_all' ./combined/txt
34 $search_opts.match_between_runs 57 #end if
35 #if $search_opts.fixed_mods 58
36 --fixed_mods='$search_opts.fixed_mods' 59 #if $qc.do_it:
37 #end if 60 &&
38 #if $search_opts.var_mods 61 Rscript '$qr' '$qr_yaml'
39 --var_mods='$search_opts.var_mods' 62 #if 'log' in $output_opts.output:
40 #end if 63 >> '$log' 2>&1
41 #if $search_opts.proteases 64 #end if
42 --proteases='$search_opts.proteases' 65 &&
43 #end if 66 cp ./combined/txt/report_v0.92.6_combined.pdf '$ptxqc_report'
44 #if $search_opts.silac.light_mods 67 #end if
45 --light_mods='$search_opts.silac.light_mods'
46 #end if
47 #if $search_opts.silac.medium_mods
48 --medium_mods='$search_opts.silac.medium_mods'
49 #end if
50 #if $search_opts.silac.heavy_mods
51 --heavy_mods='$search_opts.silac.heavy_mods'
52 #end if
53 #if $search_opts.lfq.do_lfq == "--lfq_mode=1"
54 $search_opts.lfq.do_lfq.lfq_mode
55 --lfq_min_ratio_count=$search_opts.lfq.do_lfq.lfq_min_ratio_count
56 --lfq_min_edges_per_node=$search_opts.lfq.do_lfq.lfq_min_edges_per_node
57 --lfq_avg_edges_per_node=$search_opts.lfq.do_lfq.lfq_avg_edges_per_node
58 $search_opts.lfq.do_lfq.lfq_skip_norm
59 $search_opts.lfq.do_lfq.separate_lfq
60 $search_opts.lfq.do_lfq.lfq_stabilize_large_ratios
61 $search_opts.lfq.do_lfq.lfq_require_msms
62 #if $search_opts.lfq.do_lfq.do_ibaq == "--ibaq"
63 $search_opts.lfq.do_lfq.do_ibaq.ibaq
64 $search_opts.lfq.do_lfq.do_ibaq.ibaq_log_fit
65 #end if
66 $search_opts.lfq.do_lfq.advanced_site_intensities
67 #end if
68
69 $output_opts.write_mztab
70 --evidence='$evidence'
71 --msms='$msms'
72 --parameters='$parameters'
73 --peptides='$peptides'
74 --proteinGroups='$proteinGroups'
75 --allPeptides='$allPeptides'
76 --libraryMatch='$libraryMatch'
77 --matchedFeatures='$matchedFeatures'
78 --modificationSpecificPeptides='$modificationSpecificPeptides'
79 --ms3Scans='$ms3Scans'
80 --msmsScans='$msmsScans'
81 --mzRange='$mzRange'
82 --peptideSection='$peptideSection'
83 --summary='$summary'
84 --mzTab='$mzTab'
85 --mqpar_out='$mqpar_out'
86
87 #if 'log' in $output_opts.output
88 > '$log'
89 #end if
90 #if 'output_all' in $output_opts.output
91 && tar -zcf '$output_all' ./combined/txt
92 #end if 68 #end if
93 ]]></command> 69 ]]></command>
70
71 <configfiles>
72 <configfile name="mq_conf">
73 #import re
74 fastaFiles: [${input_opts.fasta_files}]
75 parseRules:
76 identifierParseRule: '${input_opts.identifier_parse_rule}'
77 descriptionParseRule: '${input_opts.description_parse_rule}'
78 minUniquePeptides: ${search_opts.min_unique_pep}
79 minPepLen: ${search_opts.min_peptide_len}
80 maxPeptideMass: ${search_opts.max_peptide_mass}
81 calcPeakProperties: ${search_opts.calc_peak_properties}
82 #set writeMzTab = "mzTab" in $output_opts.output
83 writeMzTab: $writeMzTab
84 #if $lfq_opts.do_ibaq.ibaq == 'True':
85 ibaq: ${lfq_opts.do_ibaq.ibaq}
86 ibaqLogFit: ${lfq_opts.do_ibaq.ibaqLogFit}
87 #end if
88 separateLfq: ${lfq_opts.separateLfq}
89 lfqStabilizeLargeRatios: ${lfq_opts.lfqStabilizeLargeRatios}
90 lfqRequireMsms: ${lfq_opts.lfqRequireMsms}
91 advancedSiteIntensities: ${lfq_opts.advancedSiteIntensities}
92 matchBetweenRuns: ${search_opts.match_between_runs}
93 paramGroups:
94 #for $pg in $paramGroups:
95 #set names = [re.sub('@SUBSTITUTION_RX@', '_', str($n.element_identifier)) for $n in $pg.files]
96 #set names_with_ext = [($name if ($name).lower().endswith(str($input_opts.ftype)) else $name + str($input_opts.ftype)) for $name in $names]
97 - files: $names_with_ext
98 maxMissedCleavages: ${pg.maxMissedCleavages}
99 #if $pg.fixedModifications:
100 fixedModifications: [${pg.fixedModifications}]
101 #else:
102 fixedModifications: []
103 #end if
104 #if $pg.variableModifications:
105 variableModifications: [${pg.variableModifications}]
106 #else:
107 variableModifications: []
108 #end if
109 #if $pg.enzymes:
110 enzymes: [${pg.enzymes}]
111 #else:
112 enzymes: []
113 #end if
114 #if $pg.quant_method.select_quant_method == 'silac':
115 labelMods:
116 #if $pg.quant_method.light_labels:
117 - [${pg.quant_method.light_labels}]
118 #else:
119 - []
120 #end if
121 #if $pg.quant_method.medium_labels:
122 - [${pg.quant_method.medium_labels}]
123 #else:
124 - []
125 #end if
126 #if $pg.quant_method.heavy_labels:
127 - [${pg.quant_method.heavy_labels}]
128 #else:
129 - []
130 #end if
131 #end if
132 #if $pg.quant_method.select_quant_method == 'lfq':
133 lfqMode: 1
134 lfqSkipNorm: ${pg.quant_method.lfqSkipNorm}
135 lfqMinEdgesPerNode: ${pg.quant_method.lfqMinEdgesPerNode}
136 lfqAvEdgesPerNode: ${pg.quant_method.lfqAvEdgesPerNode}
137 lfqMinRatioCount: ${pg.quant_method.lfqMinRatioCount}
138 #end if
139 #if $pg.quant_method.select_quant_method == 'reporter_ion_ms2':
140 lcmsRunType: 'Reporter ion MS2'
141 reporterMassTolerance: 0.003
142 reporterPif: 0
143 reporterFraction: 0
144 reporterBasePeakRatio: 0
145 isobaricLabels:
146 #if $pg.quant_method.iso_labels.labeling == 'custom':
147 #for $l in $pg.quant_method.iso_labels.iso_label:
148 - ['$l.internallabel','$l.terminallabel',$l.cm2,$l.cm1,$l.cp1,$l.cp2,$l.tmtlike]
149 #end for
150 #end if
151 #if $pg.quant_method.iso_labels.labeling == 'tmt2plex':
152 - [TMT2plex-Lys126,TMT2plex-Nter126,0,0,0,0,True]
153 - [TMT2plex-Lys127,TMT2plex-Nter127,0,0,0,0,True]
154 #end if
155 #if $pg.quant_method.iso_labels.labeling == 'tmt6plex':
156 - [TMT6plex-Lys126,TMT6plex-Nter126,0,0,0,0,True]
157 - [TMT6plex-Lys127,TMT6plex-Nter127,0,0,0,0,True]
158 - [TMT6plex-Lys128,TMT6plex-Nter128,0,0,0,0,True]
159 - [TMT6plex-Lys129,TMT6plex-Nter129,0,0,0,0,True]
160 - [TMT6plex-Lys130,TMT6plex-Nter130,0,0,0,0,True]
161 - [TMT6plex-Lys131,TMT6plex-Nter131,0,0,0,0,True]
162 #end if
163 #if $pg.quant_method.iso_labels.labeling == 'tmt8plex':
164 - [TMT8plex-Lys126C,TMT8plex-Nter126C,0,0,0,0,True]
165 - [TMT8plex-Lys127N,TMT8plex-Nter127N,0,0,0,0,True]
166 - [TMT8plex-Lys127C,TMT8plex-Nter127C,0,0,0,0,True]
167 - [TMT8plex-Lys128C,TMT8plex-Nter128C,0,0,0,0,True]
168 - [TMT8plex-Lys129N,TMT8plex-Nter129N,0,0,0,0,True]
169 - [TMT8plex-Lys129C,TMT8plex-Nter129C,0,0,0,0,True]
170 - [TMT8plex-Lys130C,TMT8plex-Nter130C,0,0,0,0,True]
171 - [TMT8plex-Lys131N,TMT8plex-Nter131N,0,0,0,0,True]
172 #end if
173 #if $pg.quant_method.iso_labels.labeling == 'tmt10plex':
174 @TMT10PLEX@
175 #end if
176 #if $pg.quant_method.iso_labels.labeling == 'tmt11plex':
177 @TMT10PLEX@
178 - [TMT11plex-Lys131C,TMT11plex-Nter131C,0,0,0,0,True]
179 #end if
180 #if $pg.quant_method.iso_labels.labeling == 'itraq4plex':
181 - [iTRAQ4plex-Lys114,iTRAQ4plex-Nter114,0,0,0,0,False]
182 - [iTRAQ4plex-Lys115,iTRAQ4plex-Nter115,0,0,0,0,False]
183 - [iTRAQ4plex-Lys116,iTRAQ4plex-Nter116,0,0,0,0,False]
184 - [iTRAQ4plex-Lys117,iTRAQ4plex-Nter117,0,0,0,0,False]
185 #end if
186 #if $pg.quant_method.iso_labels.labeling == 'itraq8plex':
187 - [iTRAQ4plex-Lys113,iTRAQ8plex-Nter113,0,0,0,0,False]
188 - [iTRAQ4plex-Lys114,iTRAQ8plex-Nter114,0,0,0,0,False]
189 - [iTRAQ4plex-Lys115,iTRAQ8plex-Nter115,0,0,0,0,False]
190 - [iTRAQ4plex-Lys116,iTRAQ8plex-Nter116,0,0,0,0,False]
191 - [iTRAQ4plex-Lys117,iTRAQ8plex-Nter117,0,0,0,0,False]
192 - [iTRAQ4plex-Lys118,iTRAQ8plex-Nter118,0,0,0,0,False]
193 - [iTRAQ4plex-Lys119,iTRAQ8plex-Nter119,0,0,0,0,False]
194 - [iTRAQ4plex-Lys121,iTRAQ8plex-Nter121,0,0,0,0,False]
195 #end if
196 #if $pg.quant_method.iso_labels.labeling == 'iodotmt6plex':
197 - [iodoTMT6plex-Cys126,'',0,0,0,0,True]
198 - [iodoTMT6plex-Cys127,'',0,0,0,0,True]
199 - [iodoTMT6plex-Cys128,'',0,0,0,0,True]
200 - [iodoTMT6plex-Cys129,'',0,0,0,0,True]
201 - [iodoTMT6plex-Cys130,'',0,0,0,0,True]
202 - [iodoTMT6plex-Cys131,'',0,0,0,0,True]
203 #end if
204 #end if
205 #end for
206 </configfile>
207 <expand macro="ptxqc"/>
208 </configfiles>
209
94 <inputs> 210 <inputs>
95 <section name="input_opts" title="Input Options" expanded="True"> 211 <section name="input_opts" title="Input Options" expanded="True">
96 <conditional name="infile"> 212 <param name="ftype" type="select" label="choose the type of your input files">
97 <param name="select" type="select" label="choose the type of your input files"> 213 <option value=".thermo.raw">thermo.raw</option>
98 <option value="raw_files">Thermo.raw</option> 214 <option value=".mzxml">mzxml</option>
99 <option value="mzxml_files">mzXML</option> 215 <option value=".mzml">mzml</option>
100 </param> 216 </param>
101 <when value="raw_files">
102 <param multiple="true" name="raw_files" type="data"
103 format="thermo.raw" label="RAW Files"
104 help="Specify one or more Thermo RAW files" />
105 </when>
106 <when value="mzxml_files">
107 <param multiple="true" name="mzxml_files" type="data"
108 format="mzxml" label="mzXML Files"
109 help="Specify one or more mzXML files" />
110 </when>
111 </conditional>
112 <param format="fasta" multiple="true" name="fasta_files" 217 <param format="fasta" multiple="true" name="fasta_files"
113 type="data" label="FASTA files" 218 type="data" label="FASTA files"
114 help="Specify one or more FASTA databases." /> 219 help="Specify one or more FASTA databases." />
115 <param name="identifier_parse_rule" type="text" 220 <param name="identifier_parse_rule" type="text"
116 label="identifier parse rule" value="^&gt;.*\|(.*)\|.*$"> 221 label="identifier parse rule" value="^&gt;.*\|(.*)\|.*$">
133 238
134 <section name="search_opts" title="Search Options" expanded="true"> 239 <section name="search_opts" title="Search Options" expanded="true">
135 <param format="tabular" name="template" type="data" optional="true" 240 <param format="tabular" name="template" type="data" optional="true"
136 label="Specify an experimental design template (if needed). For detailed 241 label="Specify an experimental design template (if needed). For detailed
137 instructions see the help text." /> 242 instructions see the help text." />
138 <param type="integer" name="missed_cleavages"
139 label="missed cleavages" value="1"/>
140 <param type="integer" name="min_peptide_len" 243 <param type="integer" name="min_peptide_len"
141 label="minimum peptide length" value="7"/> 244 label="minimum peptide length" value="7"/>
142 <param type="integer" name="max_peptide_mass" 245 <param type="integer" name="max_peptide_mass"
143 label="maximum peptide mass" value="4600"/> 246 label="maximum peptide mass" value="4600"/>
144 <param type="integer" name="min_unique_pep" 247 <param type="integer" name="min_unique_pep"
145 label="minimum unique peptides" value="1" /> 248 label="minimum unique peptides" value="0" />
146 <param name="calc_peak_properties" type="boolean" checked="false" 249 <param name="calc_peak_properties" type="boolean" checked="false"
147 label="Calculate peak properties?" 250 label="Calculate peak properties?"
148 truevalue="--calc_peak_properties" falsevalue="" /> 251 truevalue="True" falsevalue="False" />
149 <param name="match_between_runs" type="boolean" checked="false" 252 <param name="match_between_runs" type="boolean" checked="false"
150 label="Match between runs?" 253 label="Match between runs?"
151 truevalue="--match_between_runs" falsevalue="" /> 254 truevalue="True" falsevalue="False" />
152 <param name="fixed_mods" type="select" label="fixed modifications" 255 </section>
256
257 <repeat name="paramGroups" title="Parameter Group" min="1" default="1">
258 <param type="data" format="thermo.raw,mzXML,mzML" name="files" label="Infiles" multiple="true"
259 help="Only select infiles matching the filetype specified in the input options."/>
260 <param type="integer" name="maxMissedCleavages"
261 label="missed cleavages" value="2"/>
262 <param name="fixedModifications" type="select" label="fixed modifications"
153 multiple="true" help="select zero or more fixed modifications"> 263 multiple="true" help="select zero or more fixed modifications">
154 <expand macro="modification"/> 264 <expand macro="modification"/>
155 </param> 265 <expand macro="default_mod_option" value="Carbamidomethyl (C)"/>
156 <param name="var_mods" type="select" label="variable modifications" 266 </param>
267 <param name="variableModifications" type="select" label="variable modifications"
157 multiple="true" help="select zero or more variable modifications"> 268 multiple="true" help="select zero or more variable modifications">
269 <expand macro="default_mod_option" value="Oxidation (M)"/>
270 <expand macro="default_mod_option" value="Acetyl (Protein N-term)"/>
158 <expand macro="modification"/> 271 <expand macro="modification"/>
159 </param> 272 </param>
160 <param name="proteases" type="select" label="proteases" 273 <param name="enzymes" type="select" label="proteases"
161 multiple="true" help="select zero or more proteases"> 274 multiple="true" help="select zero or more proteases">
275 <expand macro="default_mod_option" value="Trypsin/P"/>
162 <expand macro="proteases"/> 276 <expand macro="proteases"/>
163 </param> 277 </param>
164 <section title="label based quantitation" name="silac" expanded="false"> 278 <conditional name="quant_method">
165 <param name="light_mods" type="select" label="light labels" 279 <param name="select_quant_method" type="select" label="Quantitation Methods"
166 multiple="true" help="select zero or more light modifications"> 280 help="Select a method if needed.">
167 <expand macro="label"/> 281 <option value="">None</option>
168 </param> 282 <option value="lfq">label free quantification</option>
169 <param name="medium_mods" type="select" label="medium labels" 283 <option value="silac">label based quantification (SILAC)</option>
170 multiple="true" help="select zero or more medium modifications"> 284 <option value="reporter_ion_ms2">reporter ion MS2</option>
171 <expand macro="label"/> 285 </param>
172 </param> 286 <when value=""/>
173 <param name="heavy_mods" type="select" label="heavy labels" 287 <when value="silac">
174 multiple="true" help="select zero or more heavy modifications"> 288 <param name="light_labels" type="select" label="light labels"
175 <expand macro="label"/> 289 multiple="true" help="select zero or more light modifications">
176 </param> 290 <expand macro="label"/>
177 </section> 291 </param>
178 <section title="label free quantification" name="lfq" expanded="false"> 292 <param name="medium_labels" type="select" label="medium labels"
179 <conditional name="do_lfq"> 293 multiple="true" help="select zero or more medium modifications">
180 <param name="lfq_mode" type="select" label="Perform LFQ?"> 294 <expand macro="label"/>
181 <option value="">No</option> 295 </param>
182 <option value="--lfq_mode=1">Yes</option> 296 <param name="heavy_labels" type="select" label="heavy labels"
183 </param> 297 multiple="true" help="select zero or more heavy modifications">
184 <when value="--lfq_mode=1"> 298 <expand macro="label"/>
185 <param type="integer" name="lfq_min_ratio_count" 299 </param>
186 label="LFQ minimum ratio count" value="2"/> 300 </when>
187 <param type="integer" name="lfq_min_edges_per_node" 301 <when value="lfq">
188 label="LFQ minimum number of neighbours" value="3"/> 302 <param type="integer" name="lfqMinRatioCount"
189 <param type="integer" name="lfq_avg_edges_per_node" 303 label="LFQ minimum ratio count" value="2"/>
190 label="LFQ average number of neighbours" value="6"/> 304 <param type="integer" name="lfqMinEdgesPerNode"
191 <param name="lfq_skip_norm" type="boolean" checked="false" 305 label="LFQ minimum number of neighbours" value="3"/>
192 label="Skip normalization?" 306 <param type="integer" name="lfqAvEdgesPerNode"
193 truevalue="--lfq_skip_norm" falsevalue="" /> 307 label="LFQ average number of neighbours" value="6"/>
194 <param name="separate_lfq" type="boolean" checked="false" 308 <param type="boolean" name="lfqSkipNorm" checked="true"
195 label="Separate LFQ in parameter Groups?" 309 label="Skip normalization?"
196 truevalue="--separate_lfq" falsevalue="" /> 310 truevalue="True" falsevalue="False" />
197 <param name="lfq_stabilize_large_ratios" type="boolean" checked="true" 311 </when>
198 label="Stabilize large LFQ ratios?" 312 <when value="reporter_ion_ms2">
199 truevalue="--lfq_stabilize_large_ratios" falsevalue="" /> 313 <conditional name="iso_labels">
200 <param name="lfq_require_msms" type="boolean" checked="true" 314 <param name="labeling" type="select" label="isobaric labeling"
201 label="Require MS/MS for LFQ comparisons?" 315 help="Select one of the standard labelings (correction factors are zero) or create a custom labeling.">
202 truevalue="--lfq_require_msms" falsevalue="" /> 316 <option value="custom">custom</option>
203 <conditional name="do_ibaq"> 317 <option value="tmt2plex">TMT2plex</option>
204 <param name="ibaq" type="select" label="iBAQ?"> 318 <option value="tmt6plex">TMT6plex</option>
205 <option value="">No</option> 319 <option value="tmt8plex">TMT8plex</option>
206 <option value="--ibaq">Yes</option> 320 <option value="tmt10plex">TMT10plex</option>
207 </param> 321 <option value="tmt11plex">TMT11plex</option>
208 <when value="--ibaq"> 322 <option value="itraq4plex">iTRAQ4plex</option>
209 <param name="ibaq_log_fit" type="boolean" checked="true" 323 <option value="itraq8plex">iTRAQ8plex</option>
210 label="Logarithmic fit?" 324 <option value="iodotmt6plex">iodoTMT6plex</option>
211 truevalue="--ibaq_log_fit" falsevalue="" /> 325 </param>
212 </when> 326 <when value="tmt2plex"></when>
213 <when value=""> 327 <when value="tmt6plex"></when>
214 </when> 328 <when value="tmt8plex"></when>
215 </conditional> 329 <when value="tmt10plex"></when>
216 <param name="advanced_site_intensities" type="boolean" checked="true" 330 <when value="tmt11plex"></when>
217 label="Advanced site intensities?" 331 <when value="itraq4plex"></when>
218 truevalue="--advanced_site_intensities" falsevalue="" /> 332 <when value="itraq8plex"></when>
219 </when> 333 <when value="iodotmt6plex"></when>
220 <when value=""> 334 <when value="custom">
221 </when> 335 <repeat name="iso_label" title="Isobaric Label" min="1" default="1">
222 </conditional> 336 <param name="internallabel" type="select" label="internal label">
223 </section> 337 <expand macro="iso_labels"/>
338 </param>
339 <param name="terminallabel" type="select" label="terminal label">
340 <option value="">None</option>
341 <expand macro="iso_labels"/>
342 </param>
343 <param name="cm2" type="float" label="correction factor -2%" value="0.0"/>
344 <param name="cm1" type="float" label="correction factor -1%" value="0.0"/>
345 <param name="cp1" type="float" label="correction factor +1%" value="0.0"/>
346 <param name="cp2" type="float" label="correction factor +2%" value="0.0"/>
347 <param type="boolean" name="tmtlike" checked="false"
348 label="TMT-like"
349 truevalue="True" falsevalue="False" />
350 </repeat>
351 </when>
352 </conditional>
353 </when>
354 </conditional>
355 </repeat>
356
357 <section title="LFQ Options" name="lfq_opts" expanded="false">
358 <param name="separateLfq" type="boolean" checked="false"
359 label="Separate LFQ in parameter Groups?"
360 truevalue="True" falsevalue="False" />
361 <param name="lfqStabilizeLargeRatios" type="boolean" checked="true"
362 label="Stabilize large LFQ ratios?"
363 truevalue="True" falsevalue="False" />
364 <param name="lfqRequireMsms" type="boolean" checked="true"
365 label="Require MS/MS for LFQ comparisons?"
366 truevalue="True" falsevalue="False" />
367 <conditional name="do_ibaq">
368 <param name="ibaq" type="select" label="iBAQ?">
369 <option value="False">No</option>
370 <option value="True">Yes</option>
371 </param>
372 <when value="True">
373 <param name="ibaqLogFit" type="boolean" checked="true"
374 label="Logarithmic fit?"
375 truevalue="True" falsevalue="False" />
376 </when>
377 <when value="False">
378 </when>
379 </conditional>
380 <param name="advancedSiteIntensities" type="boolean" checked="true"
381 label="Advanced site intensities?"
382 truevalue="True" falsevalue="False" />
224 </section> 383 </section>
225 384
385 <expand macro="ptxqc-opts"/>
226 <section title="Output Options" name="output_opts" expanded="true"> 386 <section title="Output Options" name="output_opts" expanded="true">
227 <param name="write_mztab" type="boolean" checked="false" 387 <param name="dry_run" type="boolean" checked="false"
228 label="Write mztab file?" 388 label="Only create config files? (i.e. for testing)"
229 truevalue="--write_mztab" falsevalue="" /> 389 truevalue="True" falsevalue="" />
230 <param type="select" name="output" label="Select the desired outputs." 390 <param type="select" name="output" label="Select the desired outputs."
231 multiple="true" optional="false"> 391 multiple="true" optional="false">
232 <expand macro="output_option" name="proteinGroups" label="Protein Groups"/> 392 <option value="proteinGroups">Protein Groups</option>
233 <expand macro="output_option" name="mqpar_out" label="mqpar.xml"/> 393 <option value="mqpar">mqpar.xml</option>
234 <expand macro="output_option" name="peptides" label="Peptides"/> 394 <option value="peptides">Peptides</option>
235 <expand macro="output_option" name="evidence" label="Evidence"/> 395 <option value="evidence">Evidence</option>
236 <expand macro="output_option" name="parameters" label="Tabular Paramters"/> 396 <option value="parameters">Tabular Paramters</option>
237 <expand macro="output_option" name="msms" label="MSMS"/> 397 <option value="msms">MSMS</option>
238 <expand macro="output_option" name="mzTab" label="mzTab"/> 398 <option value="mzTab">mzTab</option>
239 <expand macro="output_option" name="allPeptides" label="all peptides"/> 399 <option value="allPeptides">all peptides</option>
240 <expand macro="output_option" name="libraryMatch" label="library match"/> 400 <option value="libraryMatch">library match</option>
241 <expand macro="output_option" name="matchedFeatures" label="matched features"/> 401 <option value="matchedFeatures">matched features</option>
242 <expand macro="output_option" name="modificationSpecificPeptides" label="modification specific peptides"/> 402 <option value="modificationSpecificPeptides">modification specific peptides</option>
243 <expand macro="output_option" name="ms3Scans" label="ms3 scans"/> 403 <option value="ms3Scans">ms3 scans</option>
244 <expand macro="output_option" name="msmsScans" label="msms scans"/> 404 <option value="msmsScans">msms scans</option>
245 <expand macro="output_option" name="mzRange" label="mz range"/> 405 <option value="mzRange">mz range</option>
246 <expand macro="output_option" name="peptideSection" label="peptide section"/> 406 <option value="peptideSection">peptide section</option>
247 <expand macro="output_option" name="summary" label="summary"/> 407 <option value="summary">summary</option>
248 <expand macro="output_option" name="output_all" label="complete 'combined/txt/' directory (compressed)"/> 408 <option value="output_all">complete 'combined/txt/' directory (compressed)</option>
249 <expand macro="output_option" name="log" label="MaxQuant log"/> 409 <option value="log">MaxQuant and PTXQC log</option>
410 <option value="config">yaml config file</option>
250 </param> 411 </param>
251 </section> 412 </section>
252 </inputs> 413 </inputs>
253 414
254 <outputs> 415 <expand macro="outputs"/>
255 <expand macro="output" name="proteinGroups" label="MaxQuant Protein Groups"/>
256 <expand macro="output" name="mqpar_out" label="mqpar.xml" format="xml"/>
257 <expand macro="output" name="peptides" label="MaxQuant Peptides"/>
258 <expand macro="output" name="evidence" label="MaxQuant Evidence"/>
259 <expand macro="output" name="parameters" label="MaxQuant Tabular Parameters"/>
260 <expand macro="output" name="msms" label="MaxQuant MSMS"/>
261 <expand macro="output" name="mzTab" label="mzTab"/>
262 <expand macro="output" name="allPeptides" label="all peptides"/>
263 <expand macro="output" name="libraryMatch" label="library match"/>
264 <expand macro="output" name="matchedFeatures" label="matched features"/>
265 <expand macro="output" name="modificationSpecificPeptides" label="modification specific peptides"/>
266 <expand macro="output" name="ms3Scans" label="ms3 scans"/>
267 <expand macro="output" name="msmsScans" label="msms Scans"/>
268 <expand macro="output" name="mzRange" label="mz range"/>
269 <expand macro="output" name="peptideSection" label="peptide section"/>
270 <expand macro="output" name="summary" label="MaxQuant summary"/>
271 <expand macro="output" format="tar" name="output_all" label="'combined/txt/' directory"/>
272 <expand macro="output" name="log" format="txt" label="log"/>
273 </outputs>
274 416
275 <tests> 417 <tests>
276 <test> 418 <!-- functional test with small mzXML file, no quantitation methods -->
277 <param name="select" value="mzxml_files" /> 419 <test expect_num_outputs="15">
278 <param name="mzxml_files" value="BSA_min_23.mzXML" /> 420 <param name="ftype" value=".mzxml" />
279 <param name="fasta_files" value="bsa.fasta" /> 421 <param name="fasta_files" value="bsa.fasta" />
280 <param name="identifier_parse_rule" value="&gt;([^\s]*)" /> 422 <param name="identifier_parse_rule" value="&gt;([^\s]*)" />
281 <param name="description_parse_rule" value="&gt;(.*)" /> 423 <param name="description_parse_rule" value="&gt;(.*)" />
282 <param name="min_unique_pep" value="0" /> 424 <repeat name="paramGroups">
283 <param name="fixed_mods" value="Carbamidomethyl (C)" /> 425 <param name="files" value="BSA_min_23.mzXML"/>
284 <param name="var_mods" value="Oxidation (M)" /> 426 <param name="maxMissedCleavages" value="1"/>
285 <param name="proteases" value="Trypsin/P" /> 427 <param name="fixedModifications" value="Carbamidomethyl (C)" />
286 <param name="write_mztab" value="true" /> 428 <param name="variableModifications" value="Oxidation (M)" />
287 <param name="output" value="evidence,msms,allPeptides,msmsScans,mzTab,mzRange,parameters,peptides,peptideSection,proteinGroups,summary,modificationSpecificPeptides" /> 429 <param name="enzymes" value="Trypsin/P" />
288 <output name="evidence" file="single/combined/txt/evidence.txt" /> 430 </repeat>
289 <output name="msms" file="single/combined/txt/msms.txt" /> 431 <param name="output" value="evidence,msms,allPeptides,msmsScans,mzTab,mzRange,parameters,peptides,peptideSection,proteinGroups,summary,modificationSpecificPeptides,output_all,config,mqpar" />
290 <output name="mzTab" file="single/combined/txt/mzTab.mzTab" lines_diff="4"/> 432 <output name="mqpar" file="01/mqpar.xml" lines_diff="6"/>
291 <output name="allPeptides" file="single/combined/txt/allPeptides.txt" /> 433 <output name="evidence" file="01/combined/txt/evidence.txt" />
292 <output name="msmsScans" file="single/combined/txt/msmsScans.txt" /> 434 <output name="msms" file="01/combined/txt/msms.txt" />
293 <output name="mzRange" file="single/combined/txt/mzRange.txt" /> 435 <output name="mzTab" file="01/combined/txt/mzTab.mzTab" lines_diff="4"/>
294 <output name="parameters" file="single/combined/txt/parameters.txt" lines_diff="10"/> 436 <output name="allPeptides" file="01/combined/txt/allPeptides.txt" lines_diff="4"/>
295 <output name="peptides" file="single/combined/txt/peptides.txt" /> 437 <output name="msmsScans" file="01/combined/txt/msmsScans.txt" lines_diff="8"/>
296 <output name="peptideSection" file="single/combined/txt/peptideSection.txt" /> 438 <output name="mzRange" file="01/combined/txt/mzRange.txt" />
297 <output name="proteinGroups" file="single/combined/txt/proteinGroups.txt" /> 439 <output name="parameters" file="01/combined/txt/parameters.txt" lines_diff="10"/>
298 <output name="summary" file="single/combined/txt/summary.txt" /> 440 <output name="peptides" file="01/combined/txt/peptides.txt" />
299 <output name="modificationSpecificPeptides" file="single/combined/txt/modificationSpecificPeptides.txt" /> 441 <output name="peptideSection" file="01/combined/txt/peptideSection.txt" />
442 <output name="proteinGroups" file="01/combined/txt/proteinGroups.txt" />
443 <output name="summary" file="01/combined/txt/summary.txt" />
444 <output name="modificationSpecificPeptides" file="01/combined/txt/modificationSpecificPeptides.txt" />
445 <output name="config" file="01/config.yml" lines_diff="2"/>
446 </test>
447 <!-- reporter ion ms2 + multiple param groups, testing yaml conf file and mqpar.xml only -->
448 <test expect_num_outputs="3">
449 <param name="ftype" value=".mzxml" />
450 <param name="fasta_files" value="bsa.fasta" />
451 <param name="identifier_parse_rule" value="&gt;([^\s]*)" />
452 <param name="description_parse_rule" value="&gt;(.*)" />
453 <repeat name="paramGroups">
454 <param name="files" value="BSA_min_23.mzXML"/>
455 <param name="variableModifications" value="Oxidation (M)" />
456 <param name="fixedModifications" value="" />
457 <conditional name="quant_method">
458 <param name="select_quant_method" value="reporter_ion_ms2" />
459 <conditional name="iso_labels">
460 <param name="labeling" value="custom" />
461 <repeat name="iso_label">
462 <param name="internallabel" value="TMT2plex-Lys126" />
463 <param name="terminallabel" value="TMT2plex-Nter126" />
464 <param name="tmtlike" value="True" />
465 <param name="cp1" value="6.7" />
466 <param name="cp2" value="3" />
467 </repeat>
468 <repeat name="iso_label">
469 <param name="internallabel" value="TMT2plex-Lys127" />
470 <param name="terminallabel" value="TMT2plex-Nter127" />
471 <param name="tmtlike" value="True" />
472 </repeat>
473 </conditional>
474 </conditional>
475 </repeat>
476 <repeat name="paramGroups">
477 <param name="files" value="BSA_min_22"/>
478 <param name="variableModifications" value="" />
479 <param name="fixedModifications" value="" />
480 <param name="enzymes" value="" />
481 <conditional name="quant_method">
482 <param name="select_quant_method" value="reporter_ion_ms2" />
483 <conditional name="iso_labels">
484 <param name="labeling" value="itraq4plex" />
485 </conditional>
486 </conditional>
487 </repeat>
488 <param name="dry_run" value="True" />
489 <param name="output" value="config,mqpar,mzTab" />
490 <output name="config" file="02/config.yml" lines_diff="2" />
491 <!-- high difference due to unconsistant xml formatting in MQ -->
492 <output name="mqpar" file="02/mqpar.xml" lines_diff="24" />
493 </test>
494 <!-- lfq, testing yaml conf file and mqpar.xml only -->
495 <test expect_num_outputs="2">
496 <param name="ftype" value=".mzxml" />
497 <param name="fasta_files" value="bsa.fasta" />
498 <param name="min_unique_pep" value="1" />
499 <param name="ibaq" value="True" />
500 <param name="ibaqLogFit" value="False" />
501 <repeat name="paramGroups">
502 <param name="files" value="BSA_min_22"/>
503 <param name="maxMissedCleavages" value="1"/>
504 <param name="variableModifications" value="Oxidation (M)" />
505 <conditional name="quant_method">
506 <param name="select_quant_method" value="lfq" />
507 </conditional>
508 </repeat>
509 <param name="dry_run" value="True" />
510 <param name="output" value="config,mqpar" />
511 <output name="config" file="03/config.yml" lines_diff="2" />
512 <output name="mqpar" file="03/mqpar.xml" lines_diff="10" />
513 </test>
514 <!-- silac + fractions with experimental design template, testing yaml conf file and mqpar.xml only -->
515 <test expect_num_outputs="2">
516 <param name="ftype" value=".mzxml" />
517 <param name="fasta_files" value="bsa.fasta" />
518 <param name="identifier_parse_rule" value="&gt;([^\s]*)" />
519 <param name="description_parse_rule" value="&gt;(.*)" />
520 <param name="template" value="04/exp_design" />
521 <repeat name="paramGroups">
522 <param name="files" value="BSA_min_23.mzXML,BSA_min_22"/>
523 <param name="fixedModifications" value="Carbamidomethyl (C)" />
524 <param name="variableModifications" value="Oxidation (M)" />
525 <param name="enzymes" value="Trypsin/P" />
526 <conditional name="quant_method">
527 <param name="select_quant_method" value="silac" />
528 <param name="light_labels" value="Arg6,Lys4" />
529 <param name="heavy_labels" value="Arg10,DimethLys8" />
530 </conditional>
531 </repeat>
532 <param name="dry_run" value="True" />
533 <param name="output" value="config,mqpar" />
534 <output name="config" file="04/config.yml" lines_diff="2" />
535 <output name="mqpar" file="04/mqpar.xml" lines_diff="12" />
300 </test> 536 </test>
301 </tests> 537 </tests>
302 538
303 <help><![CDATA[ 539 <help><![CDATA[
304 MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets. 540 MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets.
305 541
306 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. 542 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.
307 543
308 **Input files** 544 **Input files**
309 545
310 - Thermo raw file or mzXML file 546 - Thermo raw files or mzXML files (in parameter group section):
311 - 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) 547 - The datatype of all files has to be either 'thermo.raw' or 'mzXML'. Make sure to specify the correct datatype either during upload to Galaxy or afterwards (edit attributes --> datatypes)
548 - Fasta files: specify parse rules accordingly, default rules are compatible with uniprot
312 - Optional files: 549 - Optional files:
313 - Tabular file with experimental design template: 550 - Tabular file with experimental design template:
314 - Currently four columns are needed: Name, Fraction, Experiment and PTM. The headers must have this exact naming. Name and Experiment are abitrary strings, Fraction is an integer or emtpy, PTM is either 'True', 'False' or empty. Consider you uploaded files named File1.mzxml, ..., File5.mzxml. This is a (syntactically) correct experimental design template: 551 - Currently four columns are needed: Name, Fraction, Experiment and PTM. The headers must have this exact naming. Name and Experiment are abitrary strings, Fraction is an integer or emtpy, PTM is either 'True', 'False' or empty. Consider you uploaded files named File1.mzxml, ..., File5.mzxml. This is a (syntactically) correct experimental design template:
315 552
316 :: 553 ::
338 575
339 - Quantification options 576 - Quantification options
340 - label based: 577 - label based:
341 - for two channels: choose options from light and heavy sections, for three channels choose options from light, medium and heavy sections 578 - for two channels: choose options from light and heavy sections, for three channels choose options from light, medium and heavy sections
342 - label-free 579 - label-free
580 - reporter ion ms2: either use the pre-defined labelings with correction factors set to 0 or specify a custom labeling
343 581
344 **Output files** 582 **Output files**
345 583
346 Different output file options are available, most of them are part of the MaxQuant txt directory. 584 Different output file options are available, most of them are part of the MaxQuant txt directory. If ptxqc report ist selected, a quality control report will be created.
347 ]]></help> 585 ]]></help>
348 <citations> 586 <expand macro="citations"/>
349 <citation type="bibtex">
350 @article{cox2008maxquant,
351 title={MaxQuant enables high peptide identification rates, individualized
352 ppb-range mass accuracies and proteome-wide protein quantification},
353 author={Cox, J{\"u}rgen and Mann, Matthias},
354 journal={Nature biotechnology},
355 volume={26},
356 number={12},
357 pages={1367},
358 year={2008},
359 publisher={Nature Publishing Group}
360 }
361 </citation>
362 <citation type="bibtex">
363 @article{tyanova2016maxquant,
364 title={The MaxQuant computational platform for mass
365 spectrometry-based shotgun proteomics},
366 author={Tyanova, Stefka and Temu, Tikira and Cox, J{\"u}rgen},
367 journal={Nature protocols},
368 volume={11},
369 number={12},
370 pages={2301},
371 year={2016},
372 publisher={Nature Publishing Group}
373 }
374 </citation>
375 </citations>
376 </tool> 587 </tool>