Mercurial > repos > galaxyp > fragpipe
comparison macros.xml @ 0:14785481da2b draft
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/fragpipe commit 905cc2be18669cffe9ac6c46fcd08b6857a67f4f
author | galaxyp |
---|---|
date | Wed, 10 Jul 2024 06:15:00 +0000 |
parents | |
children | dc5de2ea607e |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:14785481da2b |
---|---|
1 <macros> | |
2 <import>msfragger_macros.xml</import> | |
3 <token name="@TOOL_VERSION@">20.0</token> | |
4 <token name="@VERSION_SUFFIX@">0</token> | |
5 <xml name="requirements"> | |
6 <requirements> | |
7 <requirement type="package" version="@TOOL_VERSION@">fragpipe</requirement> | |
8 </requirements> | |
9 </xml> | |
10 | |
11 <!-- TMT-n uses the following n first labels from TMT-18 --> | |
12 <token name="@TMT_LABELS@">['126', '127N', '127C', '128N', '128C', '129N', '129C', '130N', '130C', '131N', '131C', '132N', '132C', '133N', '133C', '134N', '134C', '135N']</token> | |
13 <token name="@iTRAQ-4_LABELS@">['114', '115', '116', '117']</token> | |
14 <token name="@iTRAQ-8_LABELS@">['113', '114', '115', '116', '117', '118', '119', '121']</token> | |
15 | |
16 <!-- | |
17 User specifies input file format and selects sample files as are included by the scan_inputs macro | |
18 | |
19 User must also supply their own manifest file, a TSV file of the format: | |
20 name, experiment, bioreplicate, data type | |
21 --> | |
22 <xml name="samples"> | |
23 <param name="inputs" type="data" format="mzML,mzXML" multiple="true" label="Proteomics Spectrum files" help="All input scan files must of a matching format: mzML, mzXML"/> | |
24 <param name="input_prefix" type="text" value="" optional="true" label="File name prefix" help="Names inputs: prefix_rep#.mzXML Leave blank to use History names of inputs"> | |
25 <validator type="regex" message="">[a-zA-Z][a-zA-Z0-9_-]*</validator> | |
26 </param> | |
27 <param name="manifest" type="data" format="tabular" label="Manifest file" help="TSV file with entries for each input scan file: Name (Name of input Galaxy history item. Extension in the name must be mzML or mzXML.), Experiment (empty, alphanumeric, or _), Bioreplicate (empty or integer), Data type (DDA, DIA, GPF-DIA, DIA-Quant, or DIA-lib)"/> | |
28 </xml> | |
29 | |
30 <!-- | |
31 Prepares enviroment variables for FragPipe. | |
32 --> | |
33 <token name="@PREPARE_ENVIRONMENT@"><![CDATA[ | |
34 env_location="\$(dirname \$(which philosopher))/.." && | |
35 cp -r \${env_location}/share/fragpipe*/ fragpipe_local/ && | |
36 mkdir .cache .config tmp && | |
37 export XDG_CONFIG_HOME=\$(pwd)/.config && | |
38 export XDG_CACHE_HOME=\$(pwd)/.cache && | |
39 export JAVA_OPTS="\$JAVA_OPTS -Djava.io.tmpdir=\$(pwd)/tmp" && | |
40 export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:/usr/local/lib" && | |
41 ]]></token> | |
42 | |
43 <!-- | |
44 Prepares input scan files. | |
45 | |
46 Scans and moved to a scan directory and linked. | |
47 | |
48 Annotation files are copied into the scan directory for TMT workflows. | |
49 --> | |
50 <token name="@LINK_SAMPLES@"><![CDATA[ | |
51 CWD=\$(pwd | sed 's@/@\\/@g') && | |
52 | |
53 mkdir -p scans && | |
54 #if $wf.workflow_name == "TMT10" or $wf.workflow_name == "TMT11" | |
55 cp -p '$wf.annotation' 'scans/annotation.txt' && | |
56 #end if | |
57 | |
58 sed "s@^@\$CWD/scans/@" $manifest > fp.manifest && | |
59 | |
60 #for $sf in $inputs | |
61 #set $i_name = $ln_name($sf) | |
62 ln -s '$sf' 'scans/${i_name}' && | |
63 #end for | |
64 ]]></token> | |
65 | |
66 <!-- | |
67 Prepares input files, excluding database. | |
68 --> | |
69 <token name="@PREPARE_INPUTS@"><![CDATA[ | |
70 mkdir -p outputs && | |
71 @CMD_IMPORTS@ | |
72 @LINK_SAMPLES@ | |
73 ]]></token> | |
74 | |
75 <!-- | |
76 Prepares database. | |
77 | |
78 First genericizes unknown sequence headers in the database. | |
79 Then adds decoys, or decoys and contaminants depending on user selection. | |
80 --> | |
81 <token name="@PREPARE_DATABASE@"><![CDATA[ | |
82 '$__tool_directory__/genericize_db.py' $database_name genericized_db.fas && | |
83 | |
84 #if str($database_options) != 'none' | |
85 philosopher workspace --init && | |
86 philosopher database --custom genericized_db.fas --prefix rev_ | |
87 #if str($database_options) != 'decoy_and_contam' | |
88 --contam | |
89 #end if | |
90 --contamprefix && | |
91 ln -s *-decoys-*.fas final_db.fas && | |
92 #else | |
93 ln -s genericized_db.fas final_db.fas && | |
94 #end if | |
95 ]]></token> | |
96 | |
97 <!-- | |
98 Prepares outputs. | |
99 | |
100 Creates log file symlink, makes a new directory for "combined" outputs and creates "concatenated" results. | |
101 --> | |
102 <token name="@PREPARE_OUTPUTS@"><![CDATA[ | |
103 cd outputs && | |
104 | |
105 #if $output_options and 'combined_outputs' in $output_options | |
106 mkdir combined_outputs && | |
107 find . -name 'combined*tsv' | xargs -I {} mv {} combined_outputs && | |
108 #end if | |
109 | |
110 ## For each category of results - psm, ion, peptide, protein - this loop concatenates results from each sample into a single result. | |
111 ## For example, the entries sample1/psm.tsv and sample2/psm.tsv would be combined to concat_psm.tsv, a single psm.tsv header as its first line. | |
112 for f in psm.tsv ion.tsv peptide.tsv protein.tsv; do | |
113 n=0; | |
114 for i in \$(find * -name \${f}); do | |
115 d=\${i%/*}; | |
116 if [[ \$n == 0 ]]; then | |
117 awk 'NR==1{printf("Experiment\t%s\n",\$0);}' \$i > concat_\${f}; | |
118 fi; | |
119 awk 'NR>1{printf("'"\${d}"'\t%s\n",\$0);}' \$i >> concat_\${f}; t=\$(echo \${i} | tr '/' '.'); | |
120 mv \${i} \${t}; n=\$((n+1)); | |
121 done; | |
122 done | |
123 ]]></token> | |
124 | |
125 <!-- Input database for MSFragger --> | |
126 <xml name="fragger_database"> | |
127 <param name="database_name" type="data" format="fasta" label="Proteomics Search Database in FASTA format" help="Generic sequence headers in the input FASTA file that are not formatted according to the UniProt, NCBI, or ENSEMBL formats will be automatically prefixed with '>generic|' to avoid being misinterpreted by Philosopher."/> | |
128 <!-- Whether to add decoys and contaminants to the database with Philosopher --> | |
129 <param name="database_options" | |
130 type="select" | |
131 label="Decoys and contaminants" | |
132 help="The default decoy prefix is "rev_"."> | |
133 <option value="decoy_and_contam" selected="true">Add decoys and contaminants</option> | |
134 <option value="decoy">Add decoys</option> | |
135 <option value="none">Don't add decoys or contaminants</option> | |
136 </param> | |
137 | |
138 <!-- Database may be split into chunks for performance benefits --> | |
139 <param name="num_slices" type="integer" label="Split database" value="1" help="The number of chunks in which to split the database."/> | |
140 </xml> | |
141 | |
142 <!-- | |
143 The following macro allows users to select their FragPipe workfow. | |
144 | |
145 For a given workflow selection, the relevant parameter sections are expanded. Options specific to the selected workflow | |
146 are passed to the parameter definitions in the expand element. | |
147 | |
148 The Galaxy parameters overwrite a workflow file provided by FragPipe for the selected workflow. As a result, any parameters | |
149 that are not defined in the Galaxy tool will fall back on the FragPipe defaults for that workflow. This logic is defined | |
150 in the <configfile> element. | |
151 --> | |
152 <xml name="workflow"> | |
153 <conditional name="wf"> | |
154 <param name="workflow_name" type="select" label="Workflow" help="Note: MSBooster is currently disabled in all Galaxy FragPipe workflows."> | |
155 <option value="Default">Default</option> | |
156 <option value="Open">Open</option> | |
157 <option value="Nonspecific-HLA">Nonspecific-HLA</option> | |
158 <option value="LFQ-MBR">LFQ-MBR</option> | |
159 <option value="TMT10">TMT10</option> | |
160 <option value="TMT11">TMT11</option> | |
161 </param> | |
162 | |
163 <when value="Default"> | |
164 <section name="msfragger" expanded="false" title="MSFragger Options"> | |
165 <expand macro="msfragger_default"/> | |
166 </section> | |
167 <expand macro="validation" | |
168 pep="false" | |
169 perc="true" | |
170 boost="false" | |
171 no="false" | |
172 masswidth="5" | |
173 clevel="0" | |
174 accmass="true" | |
175 decoyprobs="true" | |
176 nonparam="true" | |
177 expectscore="true" | |
178 ppm="true" | |
179 combined_pepxml="false"/> | |
180 <expand macro="label_free_quantification" yes="false" no="true"/> | |
181 <expand macro="ptm_shepherd" yes="false" no="true" c="true" z="true"/> | |
182 <expand macro="isobaric_quantification" yes="false" no="true"/> | |
183 </when> | |
184 | |
185 <when value="Open"> | |
186 <section name="msfragger" expanded="false" title="MSFragger Options"> | |
187 <expand macro="msfragger_open"/> | |
188 </section> | |
189 <expand macro="validation" | |
190 pep="true" | |
191 perc="false" | |
192 boost="false" | |
193 no="false" | |
194 masswidth="1000" | |
195 clevel="-2" | |
196 accmass="false" | |
197 decoyprobs="true" | |
198 nonparam="true" | |
199 expectscore="true" | |
200 ppm="false" | |
201 combined_pepxml="true"> | |
202 <expand macro="crystalc"/> | |
203 </expand> | |
204 <expand macro="label_free_quantification" yes="false" no="true"/> | |
205 <expand macro="ptm_shepherd" yes="true" no="false"/> | |
206 <expand macro="isobaric_quantification" yes="false" no="true" bridge="false" pool="true"/> | |
207 </when> | |
208 | |
209 <when value="Nonspecific-HLA"> | |
210 <section name="msfragger" expanded="false" title="MSFragger Options"> | |
211 <expand macro="msfragger_nonspecific_HLA"/> | |
212 </section> | |
213 <expand macro="validation" | |
214 pep="false" | |
215 perc="true" | |
216 boost="false" | |
217 no="true" | |
218 masswidth="5" | |
219 clevel="0" | |
220 accmass="true" | |
221 decoyprobs="true" | |
222 nonparam="true" | |
223 expectscore="true" | |
224 ppm="true" | |
225 combined_pepxml="false"/> | |
226 <expand macro="label_free_quantification" yes="false" no="true"/> | |
227 <expand macro="ptm_shepherd" yes="false" no="true"/> | |
228 <expand macro="isobaric_quantification" yes="false" no="true"/> | |
229 </when> | |
230 | |
231 <when value="LFQ-MBR"> | |
232 <section name="msfragger" expanded="false" title="MSFragger Options"> | |
233 <expand macro="msfragger_LFQ_MBR"/> | |
234 </section> | |
235 <!-- MSBooster should be enabled once included in FragPipe Galaxy tool --> | |
236 <expand macro="validation" | |
237 pep="false" | |
238 perc="true" | |
239 boost="false" | |
240 no="true" | |
241 masswidth="5" | |
242 clevel="0" | |
243 accmass="true" | |
244 decoyprobs="true" | |
245 nonparam="true" | |
246 expectscore="true" | |
247 ppm="true" | |
248 combined_pepxml="false"/> | |
249 <expand macro="label_free_quantification" yes="true" no="false"/> | |
250 <expand macro="ptm_shepherd" yes="false" no="true"/> | |
251 <expand macro="isobaric_quantification" yes="false" no="true"/> | |
252 </when> | |
253 | |
254 <when value="TMT10"> | |
255 <expand macro="tmt_options" plex="TMT-10"/> | |
256 </when> | |
257 | |
258 <!-- TMT11 is not in FragPipe GUI --> | |
259 <when value="TMT11"> | |
260 <expand macro="tmt_options" plex="TMT-11"/> | |
261 </when> | |
262 </conditional> | |
263 </xml> | |
264 | |
265 <!-- Options for TMT workflows --> | |
266 <xml name="tmt_options" token_plex=""> | |
267 <param name="annotation" type="data" format="txt" optional="false" label="annotation file" help=""/> | |
268 <section name="msfragger" expanded="false" title="MSFragger Options"> | |
269 <expand macro="msfragger_TMT"/> | |
270 </section> | |
271 <expand macro="validation" | |
272 pep="false" | |
273 perc="true" | |
274 boost="false" | |
275 no="false" | |
276 masswidth="5" | |
277 clevel="0" | |
278 accmass="true" | |
279 decoyprobs="true" | |
280 nonparam="true" | |
281 expectscore="true" | |
282 ppm="true" | |
283 combined_pepxml="false" | |
284 protp_minprob="0.5"/> | |
285 <expand macro="isobaric_quantification" yes="true" no="false" plex="@PLEX@" level="2" ref_tag="Bridge" mod_tag="none"/> | |
286 <expand macro="label_free_quantification" yes="false" no="true"/> | |
287 <expand macro="ptm_shepherd" yes="false" no="true" token_unimod="false" token_common="true"/> | |
288 </xml> | |
289 | |
290 <!-- Generates the FragPipe workflow--> | |
291 <xml name="workflow_configfile"> | |
292 <configfile name="workflow_configfile"><![CDATA[#slurp | |
293 ## Create a fragpipe params dictionary from a file | |
294 #set $comments = [] | |
295 #set $wfdict = {} | |
296 #set $wfpath = $__tool_directory__ + '/workflows/' + str($wf.workflow_name) + '.workflow' | |
297 #set $fh = open($wfpath, 'r') | |
298 #for $line in $fh: | |
299 #if $line.startswith('#') | |
300 #silent $comments.append($line) | |
301 #elif $line.strip() != '' | |
302 #set $kv = $line.strip().split('=') | |
303 #if len($kv) < 2 | |
304 #silent $kv.append('') | |
305 #end if | |
306 #set $wfdict[$kv[0]] = '='.join($kv[1:]) | |
307 #end if | |
308 #end for | |
309 | |
310 #set $wfdict['database.db-path'] = 'final_db.fas' | |
311 #set $wfdict['msfragger.misc.slice-db'] = $num_slices | |
312 | |
313 ## Get the MSFragger Params (shared with the MSFragger tool) | |
314 #set $prefix = $wf.msfragger | |
315 @MSFRAGGER_PARAM_DICT@ | |
316 #if len($vmods) > 0 | |
317 #set $msfragger_dict['table.var-mods'] = '; '.join([$re.sub('^(.*,)(\d)$','\\1True,\\2',m) for m in $vmods]) | |
318 #end if | |
319 #for $k in $msfragger_dict.keys() | |
320 #set $kv = $k + '=' + str($msfragger_dict[$k]) | |
321 #set $wfk = 'msfragger.' + $k | |
322 #set $wfdict[$wfk] = str($msfragger_dict[$k]) | |
323 #end for | |
324 | |
325 @VALIDATION@ | |
326 @PTM_SHEPHERD@ | |
327 @LABEL_FREE_QUANTIFICATION@ | |
328 @ISOBARIC_QUANTIFICATION@ | |
329 | |
330 ## Populate the workflow with configuration and comment dictionary entries populated by tool params. | |
331 #for $comment in $comments | |
332 $comment | |
333 #end for | |
334 | |
335 #for $k in sorted($wfdict.keys()) | |
336 #set $kv = $k + '=' + str($wfdict[$k]) | |
337 $kv | |
338 #end for | |
339 #slurp]]></configfile> | |
340 </xml> | |
341 | |
342 <!-- Percolator options --> | |
343 <xml name="percolator"> | |
344 <section name="percolator" expanded="true" title="Percolator"> | |
345 <param name="keep_tsv_files" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Keep intermediate files"/> | |
346 <param name="min_prob" type="float" value="0.5" label="Minimum probability (default 0.5)"/> | |
347 </section> | |
348 </xml> | |
349 | |
350 <!-- Set Percolator workflow options --> | |
351 <token name="@PERCOLATOR@"><![CDATA[ | |
352 #set $prc = $wf.validation.validation_tab.psm_validation.percolator | |
353 #set $wfdict['run-validation-tab'] = $wf.validation.validation_tab.run_validation | |
354 #set $wfdict['peptide-prophet.run-peptide-prophet'] = 'false' | |
355 #set $wfdict['percolator.run-percolator'] = 'true' | |
356 #set $wfdict['percolator.keep-tsv-files'] = str($prc.keep_tsv_files) | |
357 #set $wfdict['percolator.min-prob'] = str($prc.min_prob) | |
358 ]]></token> | |
359 | |
360 <!-- Philosopher Report (phi-report) options --> | |
361 <xml name="phi_report"> | |
362 <conditional name="phi_report"> | |
363 <param name="run_phi_report" type="select" label="Generate Philosopher Reports"> | |
364 <option value="true" selected="true">Yes</option> | |
365 <option value="false">No</option> | |
366 </param> | |
367 <when value="true"> | |
368 <section name="phi_report_opts" expanded="false" title="FDR Filter and Report"> | |
369 <param name="dont_use_prot_prophet_file" type="boolean" truevalue="true" falsevalue="false" checked="false"/> | |
370 <param name="print_decoys" type="boolean" truevalue="true" falsevalue="false" checked="false"/> | |
371 </section> | |
372 </when> | |
373 <when value="false"/> | |
374 </conditional> | |
375 </xml> | |
376 | |
377 <!-- Set Philosopher Report (phi-report) workflow options --> | |
378 <token name="@PHIREPORT@"><![CDATA[ | |
379 #set $prfx = $wf.validation.validation_tab.phi_report | |
380 #if $prfx.run_phi_report == 'true' | |
381 #set $wfdict['phi-report.run-report'] = 'true' | |
382 #set $prfx = $wf.validation.validation_tab.phi_report.phi_report_opts | |
383 #set $wfdict['phi-report.print-decoys'] = $prfx.print_decoys | |
384 #else | |
385 #set $wfdict['phi-report.run-report'] = 'false' | |
386 #end if | |
387 ]]></token> | |
388 | |
389 <!-- PeptideProphet options --> | |
390 <xml name="peptide_prophet" token_masswidth="5" token_clevel="0" token_accmass="true" token_decoyprobs="true" token_nonparam="true" token_expectscore="true" token_ppm="true" token_combined_pepxml="false"> | |
391 <section name="peptide_prophet" expanded="true" title="PeptideProphet"> | |
392 <param name="combined_pepxml" type="boolean" truevalue="true" falsevalue="false" checked="@COMBINED_PEPXML@" label="Single combined pepxml per experiment or group"/> | |
393 <param argument="--decoyprobs" type="boolean" truevalue="--decoyprobs" falsevalue="" checked="@DECOYPROBS@" label="compute possible non-zero probabilities for Decoy entries on the last iteration"/> | |
394 <param argument="--ppm" type="boolean" truevalue="--ppm" falsevalue="" checked="@PPM@" label="use PPM mass error instead of Dalton for mass modeling"/> | |
395 <param argument="--accmass" type="boolean" truevalue="--accmass" falsevalue="" checked="@ACCMASS@" label="use Accurate Mass model binning"/> | |
396 <param argument="--nonparam" type="boolean" truevalue="--nonparam" falsevalue="" checked="@NONPARAM@" label="use semi-parametric modeling, must be used in conjunction with --decoy option"/> | |
397 <param argument="--expectscore" type="boolean" truevalue="--expectscore" falsevalue="" checked="@EXPECTSCORE@" label="use expectation value as the only contributor to the f-value for modeling"/> | |
398 <param argument="--masswidth" type="float" value="@MASSWIDTH@" label="model mass width (default 5)"/> | |
399 <param argument="--clevel" type="integer" value="@CLEVEL@" label="set Conservative Level in neg_stdev from the neg_mean, low numbers are less conservative, high numbers are more conservative"/> | |
400 <param argument="--glyc" type="boolean" truevalue="--glyc" falsevalue="" checked="false" label="enable peptide Glyco motif model"/> | |
401 <param argument="--combine" type="boolean" truevalue="--combine" falsevalue="" checked="false" label="combine the results from PeptideProphet into a single result file" /> | |
402 <param argument="--minpeplen" type="integer" value="7" label="minimum peptide length not rejected (default 7)" /> | |
403 <param argument="--minprob" type="float" value="0.05" label="report results with minimum probability" /> | |
404 <param argument="--nomass" type="boolean" truevalue="--nomass" falsevalue="" checked="false" label="disable mass model" /> | |
405 <param argument="--nonmc" type="boolean" truevalue="--nonmc" falsevalue="" checked="false" label="disable NMC missed cleavage model" /> | |
406 <param argument="--nontt" type="boolean" truevalue="--nontt" falsevalue="" checked="false" label="disable NTT enzymatic termini model" /> | |
407 <param argument="--phospho" type="boolean" truevalue="--phospho" falsevalue="" checked="false" label="enable peptide phospho motif model" /> | |
408 </section> | |
409 </xml> | |
410 <token name="@PEPTIDEPROPHET@"><![CDATA[ | |
411 #set $prfx = $wf.validation.validation_tab.psm_validation.peptide_prophet | |
412 #set $wfdict['peptide-prophet.run-peptide-prophet'] = 'true' | |
413 #set $wfdict['peptide-prophet.combine-pepxml'] = str($prfx.combined_pepxml) | |
414 #set $cmd_opts = [str($prfx.accmass),str($prfx.combine),str($prfx.decoyprobs),str($prfx.expectscore),str($prfx.glyc),str($prfx.nomass),str($prfx.nonmc),str($prfx.nonparam),str($prfx.nontt),str($prfx.phospho),str($prfx.ppm)] | |
415 #silent $cmd_opts.append('--clevel ' + str($prfx.clevel)) | |
416 #silent $cmd_opts.append('--masswidth ' + str($prfx.masswidth)) | |
417 #silent $cmd_opts.append('--minpeplen ' + str($prfx.minpeplen)) | |
418 #silent $cmd_opts.append('--minprob ' + str($prfx.minprob)) | |
419 #set $wfdict['peptide-prophet.cmd-opts'] = ' '.join($cmd_opts).strip() | |
420 ]]></token> | |
421 | |
422 <!-- CrystalC options --> | |
423 <xml name="crystalc"> | |
424 <param name="run_crystalc" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Run Crystal-C" help="Recommend for open searches for additional resuts cleanup"/> | |
425 </xml> | |
426 | |
427 <!-- MSBooster options. Disabled until DIA-NN integrated. | |
428 <xml name="msbooster"> | |
429 <section name="msbooster" expanded="false" title="MSBooster"> | |
430 <param name="predict_rt" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Predict RT"/> | |
431 <param name="predict_spectra" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Predict spectra"/> | |
432 <param name="use_correlated_features" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use correlated features"/> | |
433 </section> | |
434 </xml> | |
435 --> | |
436 | |
437 <!-- Protein Prophet options --> | |
438 <xml name="protein_prophet" token_minprob="0.05"> | |
439 <conditional name="protein_prophet"> | |
440 <param name="run_protein_prophet" type="select" label="Run Protein Prophet"> | |
441 <option value="true" selected="true">Yes</option> | |
442 <option value="false">No</option> | |
443 </param> | |
444 <when value="true"> | |
445 <section name="protein_prophet_opts" expanded="true" title="Protein Prophet"> | |
446 <param argument="--iprophet" type="boolean" truevalue="--iprophet" falsevalue="" checked="false" label="input is from iProphet" /> | |
447 <param argument="--maxppmdiff" type="integer" value="2000000" label="maximum peptide mass difference in ppm (default 2000000)" /> | |
448 <param argument="--minprob" type="float" value="@MINPROB@" label="PeptideProphet probability threshold (default 0.05)" /> | |
449 <param argument="--nonsp" type="boolean" truevalue="--nonsp" falsevalue="" checked="false" label="do not use NSP model" /> | |
450 <param argument="--subgroups" type="boolean" truevalue="--subgroups" falsevalue="" checked="false" label="do not use NOGROUPS" /> | |
451 <param argument="--unmapped" type="boolean" truevalue="--unmapped" falsevalue="" checked="false" label="report results for UNMAPPED proteins" /> | |
452 </section> | |
453 </when> | |
454 <when value="false"/> | |
455 </conditional> | |
456 </xml> | |
457 | |
458 <!-- Set ProteinProphet workflow options --> | |
459 <token name="@PROTEINPROPHET@"><![CDATA[ | |
460 #set $prfx = $wf.validation.validation_tab.protein_prophet | |
461 #if $prfx.run_protein_prophet == 'true' | |
462 #set $prfx = $wf.validation.validation_tab.protein_prophet.protein_prophet_opts | |
463 #set $wfdict['protein-prophet.run-protein-prophet'] = 'true' | |
464 #set $cmd_opts = [str($prfx.iprophet),str($prfx.nonsp),str($prfx.subgroups),str($prfx.unmapped)] | |
465 #silent $cmd_opts.append('--maxppmdiff ' + str($prfx.maxppmdiff)) | |
466 #silent $cmd_opts.append('--minprob ' + str($prfx.minprob)) | |
467 #set $wfdict['protein-prophet.cmd-opts'] = ' '.join($cmd_opts).strip() | |
468 #else | |
469 #set $wfdict[protein-prophet.run-protein-prophet] = 'false' | |
470 #end if | |
471 ]]></token> | |
472 | |
473 <!-- Validation options. Includes PeptideProphet, Percolator, MSBooster, ProteinProphet, and CrystalC --> | |
474 <xml name="validation" token_expand="false" token_pep="false" token_perc="false" token_boost="false" token_no="true" token_masswidth="5" token_clevel="0" token_accmass="true" token_decoyprobs="true" token_nonparam="true" token_expectscore="true" token_ppm="true" token_combined_pepxml="false" token_protp_minprob="0.05"> | |
475 <section name="validation" expanded="@EXPAND@" title="Validation"> | |
476 <conditional name="validation_tab"> | |
477 <param name="run_validation" type="select" label="Run Validation"> | |
478 <option value="true" selected="true">Yes</option> | |
479 <option value="false">No</option> | |
480 </param> | |
481 <when value="true"> | |
482 <yield/> <!-- crystalc --> | |
483 <conditional name="psm_validation"> | |
484 <param name="run_psm_validation" type="select" label="PSM Validation"> | |
485 <option value="peptide_prophet" selected="@PEP@">Run PeptideProphet</option> | |
486 <option value="percolator" selected="@PERC@">Run Percolator</option> | |
487 <!-- MSBooster disabled until DIA-NN integrated | |
488 <option value="msbooster_percolator" selected="@BOOST@">Run MSBooster and Percolator</option> | |
489 --> | |
490 <option value="no" selected="@NO@">Use workflow values</option> | |
491 </param> | |
492 <when value="peptide_prophet"> | |
493 <expand macro="peptide_prophet" masswidth="@MASSWIDTH@" clevel="@CLEVEL@" accmass="@ACCMASS@" decoyprobs="@DECOYPROBS@" nonparam="@NONPARAM@" expectscore="@EXPECTSCORE@" ppm="@PPM@" combined_pepxml="@COMBINED_PEPXML@"/> | |
494 </when> | |
495 <when value="percolator"> | |
496 <expand macro="percolator"/> | |
497 </when> | |
498 <!-- MSBooster disabled until DIA-NN integrated | |
499 <when value="msbooster_percolator"> | |
500 <expand macro="msbooster"/> | |
501 <expand macro="percolator"/> | |
502 </when> | |
503 --> | |
504 <when value="no"> | |
505 </when> | |
506 </conditional> | |
507 <expand macro="protein_prophet" minprob="@PROTP_MINPROB@"/> | |
508 <expand macro="phi_report"/> | |
509 </when> | |
510 <when value="false"> | |
511 </when> | |
512 </conditional> | |
513 </section> | |
514 </xml> | |
515 | |
516 <!-- Set validation workflow options --> | |
517 <token name="@VALIDATION@"><![CDATA[ | |
518 #set $prfx = $wf.validation.validation_tab.psm_validation | |
519 #if $prfx.run_psm_validation == 'peptide_prophet' | |
520 #set $wfdict['run-psm-validation'] = 'true' | |
521 #set $wfdict['msbooster.run-msbooster'] = 'false' | |
522 #set $wfdict['percolator.run-percolator'] = 'false' | |
523 @PEPTIDEPROPHET@ | |
524 #elif $prfx.run_psm_validation == 'percolator' | |
525 #set $wfdict['run-psm-validation'] = 'true' | |
526 #set $wfdict['msbooster.run-msbooster'] = 'false' | |
527 @PERCOLATOR@ | |
528 ##elif $prfx.run_psm_validation == 'msbooster_percolator' | |
529 # MSBooster disabled until DIA-NN integrated. | |
530 #end if | |
531 @PROTEINPROPHET@ | |
532 @PHIREPORT@ | |
533 ]]></token> | |
534 | |
535 <!-- PTM-Sheperd options --> | |
536 <xml name="ptm_shepherd" token_expand="false" token_yes="true" token_no="false" token_a="false" token_b="true" token_c="false" token_x="false" token_y="true" token_z="false" token_unimod="true" token_common="false" token_glyco="false" token_custom="false"> | |
537 <section name="ptms" expanded="false" title="PTMs"> | |
538 <conditional name="ptm_shepherd"> | |
539 <param name="run_ptm_shepherd" type="select" label="Run PTM Shepherd"> | |
540 <option value="yes" selected="@YES@">yes</option> | |
541 <option value="no" selected="@NO@">no</option> | |
542 </param> | |
543 <when value="yes"> | |
544 <param name="output_extended" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Extended output"/> | |
545 <section name="ptm_profiling" expanded="false" title="PTM Profiling"> | |
546 <param name="histo_smoothbins" type="integer" value="" min="0" optional="true" label="Smoothing factor" help="ptmshepherd.histo_smoothbins"/> | |
547 <param name="precursor_mass_units" type="select" label="Precursor Mass tolerance units" help="ptmshepherd.precursor_mass_units"> | |
548 <option value="1" selected="true">ppm</option> | |
549 <option value="0" selected="false">Daltons</option> | |
550 </param> | |
551 <param name="precursor_tol" type="float" value="" min="0" optional="true" label="Precursor tolerance" help="ptmshepherd.precursor_tol"/> | |
552 <param name="peakpicking_promRatio" type="float" value="" min="0" optional="true" label="Prominece ratio" help="ptmshepherd.peakpicking_promRatio"/> | |
553 <param name="peakpicking_mass_units" type="select" label="Peakpicking Mass tolerance units" help="ptmshepherd.peakpicking_mass_units"> | |
554 <option value="1" selected="true">ppm</option> | |
555 <option value="0" selected="false">Daltons</option> | |
556 </param> | |
557 <param name="peakpicking_width" type="float" value="" min="0" optional="true" label="Peak picking width" help="ptmshepherd.peakpicking_width"/> | |
558 <param name="peakpicking_minPsm" type="integer" value="" min="0" optional="true" label="Peak minimum PSMs" help="ptmshepherd.peakpicking_minPsm"/> | |
559 <param name="spectra_ppmtol" type="float" value="" min="0" optional="true" label="Fragment Mass tolerance (PPM)" help="ptmshepherd.spectra_ppmtol"/> | |
560 <param name="normalization" type="select" optional="true" label="Normalize data to" help="ptmshepherd.normalization-psms ptmshepherd.normalization-scans"> | |
561 <option value="psms" selected="true">PSMs</option> | |
562 <option value="scans" selected="false">MS2 scans</option> | |
563 </param> | |
564 <param name="varmod_masses" type="select" optional="true" label="Custom mass shifts" help="ptmshepherd.varmod_masses"> | |
565 <option value="Failed_Carbamidomethylation\:-57.021464">Failed_Carbamidomethylation:-57.021464</option> | |
566 </param> | |
567 </section> | |
568 <section name="ptm_annotation" expanded="true" title="PTM Annotation"> | |
569 <param name="annotation_tol" type="float" value="" min="0" optional="true" label="Annotation tolerance (Da)" help="ptmshepherd.annotation_tol"/> | |
570 <conditional name="annotation"> | |
571 <param name="annotation_source" type="select" label="Annotation source" help="ptmshepherd.annotation"> | |
572 <option value="unimod" selected="@UNIMOD@">Unimod</option> | |
573 <option value="common" selected="@COMMON@">Common mass shifts</option> | |
574 <option value="glyco" selected="@GLYCO@">Glyco mass shifts</option> | |
575 <option value="custom" selected="@CUSTOM@">Custom annotation file</option> | |
576 </param> | |
577 <when value="unimod"/> | |
578 <when value="common"/> | |
579 <when value="glyco"/> | |
580 <when value="custom"> | |
581 <param name="annotation_file" type="data" format="txt" label="Custom annotation file"/> | |
582 </when> | |
583 </conditional> | |
584 </section> | |
585 <section name="ptm_localization" expanded="false" title="PTM Localization"> | |
586 <param name="nions" type="select" multiple="true" optional="true" label="Use specified N-term ions" help="(default: a,b for CID, c for ETD)"> | |
587 <option value="a" selected="@A@">a</option> | |
588 <option value="b" selected="@B@">b</option> | |
589 <option value="c" selected="@C@">c</option> | |
590 </param> | |
591 <param name="cions" type="select" multiple="true" optional="true" label="use specified C-term ions" help="(default: y for CID, z for ETD)"> | |
592 <option value="x" selected="@X@">x</option> | |
593 <option value="y" selected="@Y@">y</option> | |
594 <option value="z" selected="@Z@">z</option> | |
595 </param> | |
596 <param name="spectra_maxfragcharge" type="integer" value="" min="0" optional="true" label="Max fragment charge" help="ptmshepherd.spectra_maxfragcharge"/> | |
597 <param name="localization_background" type="integer" value="" min="0" optional="true" label="Localization background" help="ptmshepherd.localization_background"/> | |
598 <param name="localization_allowed_res" type="select" label="Restrict localization to" help="ptmshepherd.localization_allowed_res"> | |
599 <option value="" selected="true">none</option> | |
600 <option value="all">all</option> | |
601 <option value="N">N</option> | |
602 <option value="ST">ST</option> | |
603 </param> | |
604 </section> | |
605 <!-- Not yet implemented | |
606 <section name="ion_discovery" expanded="false" title="Diagnostic Ion Discovery"> | |
607 </section> | |
608 <section name="glycan" expanded="false" title="Gyclan Assignment and FDR"> | |
609 </section> | |
610 --> | |
611 </when> | |
612 <when value="no"/> | |
613 </conditional> | |
614 </section> | |
615 </xml> | |
616 | |
617 <!-- Set PTM-Sheperd workflow options --> | |
618 <token name="@PTM_SHEPHERD@"><![CDATA[ | |
619 #set $prfx = $wf.ptms.ptm_shepherd | |
620 #if $prfx.run_ptm_shepherd == 'yes' | |
621 #set $wfdict['ptmshepherd.run-shepherd'] = 'true' | |
622 #set $cxt = $prfx.ptm_profiling | |
623 #set $wfdict['ptmshepherd.output_extended'] = $prfx.output_extended | |
624 #if $cxt.histo_smoothbins != '' | |
625 #set $wfdict['ptmshepherd.histo_smoothbins'] = $cxt.histo_smoothbins | |
626 #end if | |
627 #if $cxt.precursor_tol != '' | |
628 #set $wfdict['ptmshepherd.precursor_mass_units'] = $ctx.precursor_mass_units | |
629 #set $wfdict['ptmshepherd.precursor_tol'] = $cxt.precursor_tol | |
630 #end if | |
631 #if $cxt.peakpicking_promRatio != '' | |
632 #set $wfdict['ptmshepherd.peakpicking_promRatio'] = $cxt.peakpicking_promRatio | |
633 #end if | |
634 #if $cxt.peakpicking_width != '' | |
635 #set $wfdict['ptmshepherd.peakpicking_mass_units'] = $ctx.peakpicking_mass_units | |
636 #set $wfdict['ptmshepherd.peakpicking_width'] = $cxt.peakpicking_width | |
637 #end if | |
638 #if $cxt.peakpicking_minPsm != '' | |
639 #set $wfdict['ptmshepherd.peakpicking_minPsm'] = $cxt.peakpicking_minPsm | |
640 #end if | |
641 #if $cxt.spectra_ppmtol != '' | |
642 #set $wfdict['ptmshepherd.spectra_ppmtol'] = $cxt.spectra_ppmtol | |
643 #end if | |
644 #if $cxt.normalization != 'None' | |
645 #if $cxt.normalization == "psms" | |
646 #set $wfdict['ptmshepherd.normalization-psms'] = 'true' | |
647 #set $wfdict['ptmshepherd.normalization-scans'] = 'false' | |
648 #else | |
649 #set $wfdict['ptmshepherd.normalization-psms'] = 'false' | |
650 #set $wfdict['ptmshepherd.normalization-scans'] = 'true' | |
651 #end if | |
652 #end if | |
653 #if $cxt.varmod_masses != 'None' | |
654 #set $wfdict['ptmshepherd.varmod_masses'] = $cxt.varmod_masses | |
655 #end if | |
656 #set $cxt = $prfx.ptm_annotation | |
657 #if $cxt.annotation_tol != '' | |
658 #set $wfdict['ptmshepherd.annotation_tol'] = $cxt.annotation_tol | |
659 #end if | |
660 #if $cxt.annotation.annotation_source == 'unimod' | |
661 #set $wfdict['ptmshepherd.annotation-unimod'] = 'true' | |
662 #set $wfdict['ptmshepherd.annotation-common'] = 'false' | |
663 #set $wfdict['ptmshepherd.annotation-glyco'] = 'false' | |
664 #set $wfdict['ptmshepherd.annotation-custom'] = 'false' | |
665 #elif $cxt.annotation.annotation_source == 'common' | |
666 #set $wfdict['ptmshepherd.annotation-unimod'] = 'false' | |
667 #set $wfdict['ptmshepherd.annotation-common'] = 'true' | |
668 #set $wfdict['ptmshepherd.annotation-glyco'] = 'false' | |
669 #set $wfdict['ptmshepherd.annotation-custom'] = 'false' | |
670 #elif $cxt.annotation.annotation_source == 'glyco' | |
671 #set $wfdict['ptmshepherd.annotation-unimod'] = 'false' | |
672 #set $wfdict['ptmshepherd.annotation-common'] = 'false' | |
673 #set $wfdict['ptmshepherd.annotation-glyco'] = 'true' | |
674 #set $wfdict['ptmshepherd.annotation-custom'] = 'false' | |
675 #elif $cxt.annotation.annotation_source == 'custom' | |
676 #set $wfdict['ptmshepherd.annotation-unimod'] = 'false' | |
677 #set $wfdict['ptmshepherd.annotation-common'] = 'false' | |
678 #set $wfdict['ptmshepherd.annotation-glyco'] = 'false' | |
679 #set $wfdict['ptmshepherd.annotation-custom'] = 'true' | |
680 #set $wfdict['ptmshepherd.annotation_file'] = $cxt.annotation.annotation_file | |
681 #end if | |
682 #set $cxt = $prfx.ptm_localization | |
683 #if $cxt.nions is not None | |
684 #set $wfdict['ptmshepherd.iontype_a'] = str('a' in $cxt.nions).lower() | |
685 #set $wfdict['ptmshepherd.iontype_b'] = str('b' in $cxt.nions).lower() | |
686 #set $wfdict['ptmshepherd.iontype_c'] = str('c' in $cxt.nions).lower() | |
687 #end if | |
688 #if $cxt.cions is not None | |
689 #set $wfdict['ptmshepherd.iontype_x'] = str('x' in $cxt.cions).lower() | |
690 #set $wfdict['ptmshepherd.iontype_y'] = str('y' in $cxt.cions).lower() | |
691 #set $wfdict['ptmshepherd.iontype_z'] = str('z' in $cxt.cions).lower() | |
692 #end if | |
693 #if $cxt.spectra_maxfragcharge != '' | |
694 #set $wfdict['ptmshepherd.spectra_maxfragcharge'] = $cxt.spectra_maxfragcharge | |
695 #end if | |
696 #if $cxt.localization_background != '' | |
697 #set $wfdict['ptmshepherd.localization_background'] = $cxt.localization_background | |
698 #end if | |
699 #set $wfdict['ptmshepherd.localization_allowed_res'] = $cxt.localization_allowed_res | |
700 #else | |
701 #set $wfdict['ptmshepherd.run-shepherd'] = 'false' | |
702 #end if | |
703 ]]></token> | |
704 | |
705 <token name="@RE_EXCLUDEMOD@">@RE_AA@,@RE_FLOAT@</token> | |
706 <token name="@RE_EXCLUDEMODS@">@RE_EXCLUDEMOD@(;\s*@RE_EXCLUDEMOD@)*</token> | |
707 | |
708 <!-- Label-free quantification options --> | |
709 <xml name="label_free_quantification" token_expand="false"> | |
710 <section name="quant_ms1" expanded="@EXPAND@" title="Quant (MS1)"> | |
711 <conditional name="label_free_quantification"> | |
712 <param name="label_free_quantification_run" type="select" label="Perform Label-Free Quantification"> | |
713 <option value="default" selected="true">Use workflow default</option> | |
714 <option value="no">No Label-Free Quantification</option> | |
715 <option value="ionquant">Run IonQuant</option> | |
716 <option value="freequant">Run FreeQuant</option> | |
717 </param> | |
718 <when value="default"/> | |
719 <when value="no"/> | |
720 <when value="ionquant"> | |
721 <section name="ionquant" expanded="false" title="IonQuant Label-Free Quantification"> | |
722 <param name="mbr" type="select" optional="true" label="Match between runs (MBR)" help="ionquant.mbr"> | |
723 <option value="0">No</option> | |
724 <option value="1">Yes</option> | |
725 </param> | |
726 <param name="normalization" type="select" optional="true" label="Normalize" help="ionquant.normalization"> | |
727 <option value="0">No</option> | |
728 <option value="1">Yes</option> | |
729 </param> | |
730 <section name="feature_detection" expanded="false" title="Feature detection"> | |
731 <param name="mztol" type="integer" value="" optional="true" label="m/z tolerance in ppm" help="ionquant.mztol (default 10)"/> | |
732 <param name="rttol" type="float" value="" optional="true" label="RT tolerance (minutes)" help="ionquant.rttol (default 0.4)"/> | |
733 <param name="imtol" type="float" value="" optional="true" label="IM tolerance (1/k0)" help="ionquant.imtol (default 0.05)"/> | |
734 </section> | |
735 <section name="mbr" expanded="false" title="Match between runs (MBR)"> | |
736 <param name="mbrrttol" type="float" value="" optional="true" label="MBR RT tolerance (minutes)" help="ionquant.mbrrttol"/> | |
737 <param name="mbrimtol" type="float" value="" optional="true" label="MBR IM tolerance (1/k0)" help="ionquant.mbrimtol"/> | |
738 <param name="mbrmincorr" type="float" value="" optional="true" label="MBR min correlation" help="ionquant.mbrmincorr"/> | |
739 <param name="mbrtoprun" type="integer" value="" optional="true" label="MBR top runs" help="ionquant.mbrtoprun"/> | |
740 <param name="ionfdr" type="float" value="" min="0.00001" max="1.0" optional="true" label="MBR ion FDR" help="ionquant.ionfdr"/> | |
741 <param name="peptidefdr" type="float" value="" min="0.00001" max="1.0" optional="true" label="MBR peptide FDR" help="ionquant.peptidefdr"/> | |
742 <param name="proteinfdr" type="float" value="" min="0.00001" max="1.0" optional="true" label="MBR protein FDR" help="ionquant.proteinfdr"/> | |
743 </section> | |
744 <section name="topn" expanded="false" title="Top-N options"> | |
745 <param name="tp" type="integer" value="" min="0" optional="true" label="Top N ions" help="ionquant.tp"/> | |
746 <param name="minfreq" type="float" value="" min="0.0" max="1.0" optional="true" label="Min freq" help="ionquant.minfreq"/> | |
747 <param name="minexps" type="integer" value="" optional="true" label="Min exps" help="ionquant.minexps"/> | |
748 </section> | |
749 <conditional name="labeling_conditional"> | |
750 <param name="labeling_option" type="select" label="Labeling option"> | |
751 <option value="lfq" selected="true">LFQ</option> | |
752 <option value="labeling">Labeling</option> | |
753 </param> | |
754 <when value="lfq"> | |
755 <section name="lfq" expanded="false" title="LFQ"> | |
756 <param name="maxlfq" type="select" optional="true" label="MaxLFQ" help="ionquant.maxlfq"> | |
757 <option value="0">No</option> | |
758 <option value="1">Yes</option> | |
759 </param> | |
760 <param name="minions" type="integer" value="" optional="true" label="Min ions" help="ionquant.minions"/> | |
761 </section> | |
762 </when> | |
763 <when value="labeling"> | |
764 <section name="labeling" expanded="false" title="Labeling-based quant"> | |
765 <param name="light" type="select" label="Light" help="ionquant.light"> | |
766 <option value="" selected="true">none</option> | |
767 <option value="C463.2366">C463.2366</option> | |
768 <option value="C464.28596">C464.28596</option> | |
769 <option value="C561.3387">C561.3387</option> | |
770 <option value="K0;R0">K0;R0</option> | |
771 </param> | |
772 <param name="medium" type="select" label="Medium" help="ionquant.medium"> | |
773 <option value="" selected="true">none</option> | |
774 <option value="K4.025107;R6.020129">K4.025107;R6.020129</option> | |
775 </param> | |
776 <param name="heavy" type="select" label="Heavy" help="ionquant.heavy"> | |
777 <option value="" selected="true">none</option> | |
778 <option value="C467.2529">C467.2529</option> | |
779 <option value="C470.29977">C470.29977</option> | |
780 <option value="C567.3462">C567.3462</option> | |
781 <option value="K8.014199;R10.008269">K8.014199;R10.008269</option> | |
782 </param> | |
783 <param name="requantify" type="select" label="Re-quantify" help="ionquant.requantify"> | |
784 <option value="0">No</option> | |
785 <option value="1" selected="true">Yes</option> | |
786 </param> | |
787 </section> | |
788 </when> | |
789 </conditional> | |
790 <section name="advanced" expanded="false" title="Advanced options"> | |
791 <param name="excludemods" type="text" optional="true" label="excludemods" help="ionquant.excludemods"> | |
792 <validator type="regex">^\s*@RE_EXCLUDEMODS@\s*$</validator> | |
793 </param> | |
794 <param name="minscans" type="integer" value="" min="0" optional="true" label="Min scans" help="ionquant.minscans"/> | |
795 <param name="minisotopes" type="integer" value="" min="1" max="3" optional="true" label="Min isotopes" help="ionquant.minisotopes"/> | |
796 <param name="locprob" type="float" value="" min="0.0" max="1.0" optional="true" label="Min site probability" help="ionquant.locprob"/> | |
797 <param name="writeindex" type="select" optional="true" label="Write index" help="ionquant.writeindex"> | |
798 <option value="0">No</option> | |
799 <option value="1">Yes</option> | |
800 </param> | |
801 </section> | |
802 </section> | |
803 </when> | |
804 <when value="freequant"> | |
805 <section name="freequant" expanded="false" title="IonQuant Label-Free Quantification"> | |
806 <param name="rt_tol" type="float" value="" min="0" optional="true" label="RT Window (minutes)"/> | |
807 <param name="mz_tol" type="integer" value="" min="1" optional="true" label="m/z Window (ppm)"/> | |
808 </section> | |
809 </when> | |
810 </conditional> | |
811 </section> | |
812 </xml> | |
813 | |
814 <!-- Set label-free quantification workflow options --> | |
815 <token name="@LABEL_FREE_QUANTIFICATION@"><![CDATA[ | |
816 #set $prfx = $wf.quant_ms1.label_free_quantification | |
817 #if $prfx.label_free_quantification_run == 'no' | |
818 #set $wfdict['quantitation.run-label-free-quant'] = 'false' | |
819 #elif $prfx.label_free_quantification_run == 'ionquant' | |
820 #set $wfdict['quantitation.run-label-free-quant'] = 'false' | |
821 #set $wfdict['ionquant.run-ionquant'] = 'true' | |
822 #set $wfdict['freequant.run-freequant'] = 'false' | |
823 #set $cxt = $prfx.ionquant | |
824 #if $cxt.mbr != 'None' | |
825 #set $wfdict['ionquant.mbr'] = $cxt.mbr | |
826 #end if | |
827 #if $cxt.maxlfqbr is not None | |
828 #set $wfdict['ionquant.maxlfqbr'] = $cxt.maxlfqbr | |
829 #end if | |
830 #if $cxt.normalization != 'None' | |
831 #set $wfdict['ionquant.normalization'] = $cxt.normalization | |
832 #end if | |
833 #set $cxt = $prfx.ionquant.feature_detection | |
834 #if $cxt.mztol != '' | |
835 #set $wfdict['ionquant.mztol'] = $cxt.mztol | |
836 #end if | |
837 #if $cxt.rttol != '' | |
838 #set $wfdict['ionquant.rttol'] = $cxt.rttol | |
839 #end if | |
840 #if $cxt.imtol != '' | |
841 #set $wfdict['ionquant.imtol'] = $cxt.imtol | |
842 #end if | |
843 #set $cxt = $prfx.ionquant.mbr | |
844 #if $cxt.mbrrttol != '' | |
845 #set $wfdict['ionquant.mbrrttol'] = $cxt.mbrrttol | |
846 #end if | |
847 #if $cxt.mbrimtol != '' | |
848 #set $wfdict['ionquant.mbrimtol'] = $cxt.mbrimtol | |
849 #end if | |
850 #if $cxt.mbrmincorr != '' | |
851 #set $wfdict['ionquant.mbrmincorr'] = $cxt.mbrmincorr | |
852 #end if | |
853 #if $cxt.mbrtoprun != '' | |
854 #set $wfdict['ionquant.mbrtoprun'] = $cxt.mbrtoprun | |
855 #end if | |
856 #if $cxt.ionfdr != '' | |
857 #set $wfdict['ionquant.ionfdr'] = $cxt.ionfdr | |
858 #end if | |
859 #if $cxt.peptidefdr != '' | |
860 #set $wfdict['ionquant.peptidefdr'] = $cxt.peptidefdr | |
861 #end if | |
862 #if $cxt.proteinfdr != '' | |
863 #set $wfdict['ionquant.proteinfdr'] = $cxt.proteinfdr | |
864 #end if | |
865 #set $cxt = $prfx.ionquant.topn | |
866 #if $cxt.tp != '' | |
867 #set $wfdict['ionquant.tp'] = $cxt.tp | |
868 #end if | |
869 #if $cxt.minfreq != '' | |
870 #set $wfdict['ionquant.minfreq'] = $cxt.minfreq | |
871 #end if | |
872 #if $cxt.minexps != '' | |
873 #set $wfdict['ionquant.minexps'] = $cxt.minexps | |
874 #end if | |
875 #set $cxt = $prfx.ionquant.labeling_conditional | |
876 #if $cxt.labeling_option == 'labeling' | |
877 #set $cxt = $prfx.ionquant.labeling_conditional.labeling | |
878 #set $wfdict['ionquant.use-labeling'] = 'true' | |
879 #set $wfdict['ionquant.use-lfq'] = 'false' | |
880 #set $wfdict['ionquant.light'] = $cxt.labeling.light | |
881 #set $wfdict['ionquant.medium'] = $cxt.labeling.medium | |
882 #set $wfdict['ionquant.heavy'] = $cxt.labeling.heavy | |
883 #set $wfdict['ionquant.requantify'] = $cxt.labeling.requantify | |
884 #else | |
885 #set $cxt = $prfx.ionquant.labeling_conditional.lfq | |
886 #set $wfdict['ionquant.use-labeling'] = 'false' | |
887 #set $wfdict['ionquant.use-lfq'] = 'true' | |
888 #if $cxt.maxlfq != 'None' | |
889 #set $wfdict['ionquant.maxlfq'] = $cxt.maxlfq | |
890 #end if | |
891 #if $cxt.minions != '' | |
892 #set $wfdict['ionquant.minions'] = $cxt.minions | |
893 #end if | |
894 #end if | |
895 #set $cxt = $prfx.ionquant.advanced | |
896 #if $cxt.excludemods != '' | |
897 #set $wfdict['ionquant.excludemods'] = $cxt.excludemods | |
898 #end if | |
899 #if $cxt.minscans != '' | |
900 #set $wfdict['ionquant.minscans'] = $cxt.minscans | |
901 #end if | |
902 #if $cxt.minisotopes != '' | |
903 #set $wfdict['ionquant.minisotopes'] = $cxt.minisotopes | |
904 #end if | |
905 #if $cxt.locprob != '' | |
906 #set $wfdict['ionquant.locprob'] = $cxt.locprob | |
907 #end if | |
908 #if $cxt.writeindex != 'None' | |
909 #set $wfdict['ionquant.writeindex'] = $cxt.writeindex | |
910 #end if | |
911 #elif $prfx.label_free_quantification_run == 'freequant' | |
912 #set $wfdict['quantitation.run-label-free-quant'] = 'false' | |
913 #set $wfdict['ionquant.run-ionquant'] = 'false' | |
914 #set $wfdict['freequant.run-freequant'] = 'true' | |
915 #set $cxt = $prfx.freequant | |
916 #if $cxt.rt_tol != '' | |
917 #set $wfdict['freequant.rt-tol'] = $cxt.rt_tol | |
918 #end if | |
919 #if $cxt.mz_tol != '' | |
920 #set $wfdict['freequant.mz-tol'] = $cxt.mz_tol | |
921 #end if | |
922 #end if | |
923 ]]></token> | |
924 | |
925 <!-- | |
926 Isobaric quantification options | |
927 | |
928 TMT-n uses the following n first labels from TMT-18 | |
929 TMT-18 "126, 127N, 127C, 128N, 128C, 129N, 129C, 130N, 130C, 131N, 131C, 132N, 132C, 133N, 133C, 134N, 134C, 135N" | |
930 iTRAQ-4 "114, 115, 116, 117" | |
931 iTRAQ-8 "113, 114, 115, 116, 117, 118, 119, 121" | |
932 --> | |
933 <xml name="isobaric_quantification" token_expand="false" token_yes="true" token_no="false" token_plex="" token_level="2" token_virtual="false" token_pool="false" token_bridge="true"> | |
934 <section name="quant_iso" expanded="@EXPAND@" title="Quant (Isobaric)"> | |
935 <conditional name="isobaric_quantification"> | |
936 <param name="isobaric_quantification_step" type="select" label="Perform Isobaric Quantification"> | |
937 <option value="default">Use workflow defaults</option> | |
938 <option value="yes" selected="@YES@">yes</option> | |
939 <option value="no" selected="@NO@">no</option> | |
940 </param> | |
941 <when value="default"/> | |
942 <when value="no"/> | |
943 <when value="yes"> | |
944 <section name="options" expanded="true" title="Isobaric Quantification"> | |
945 <param name="quant_level" type="integer" value="@LEVEL@" min="1" max="3" label="MS level for the quantification"/> | |
946 <param name="channel_num" type="text" value="@PLEX@" optional="true" label="Number of channels"> | |
947 <validator type="regex" message="">^TMT-\d?</validator> | |
948 </param> | |
949 <param name="ref_tag" type="select" label="Set Unique tag to identify reference channels"> | |
950 <help>Virtual or specify a Reference sample tag: pool or Bridge</help> | |
951 <option value="Virtual" selected="@VIRTUAL@">Virtual - Add an artificial reference channel</option> | |
952 <option value="pool" selected="@POOL@">pool</option> | |
953 <option value="Bridge" selected="@BRIDGE@">Bridge</option> | |
954 </param> | |
955 <param name="groupby" type="select" optional="true" label="Group by level of summarization"> | |
956 <option value="0">Gene level</option> | |
957 <option value="1">Protein</option> | |
958 <option value="2">Peptide sequence</option> | |
959 <option value="3">Multiple PTM sites</option> | |
960 <option value="4">Single PTM site</option> | |
961 <option value="-1">All</option> | |
962 </param> | |
963 <param name="log2transformed" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Log2 transform the intensity"/> | |
964 <param name="prot_norm" type="select" optional="true" label="normalization"> | |
965 <option value="0">None</option> | |
966 <option value="1">MC (median centering)</option> | |
967 <option value="2">GN (median centering + variance scaling)</option> | |
968 <option value="-1">generate reports with all normalization options</option> | |
969 </param> | |
970 <conditional name="glycan_conditional"> | |
971 <param name="use_glycan_composition" type="select" label="Perform Isobaric Quantification"> | |
972 <option value="default">Use workflow defaults</option> | |
973 <option value="yes">yes</option> | |
974 </param> | |
975 <when value="default"/> | |
976 <when value="yes"> | |
977 <param name="mod_tag" type="select" optional="true" label="PTM Mod tag"> | |
978 <option value="none">none</option> | |
979 <option value="N-glyco">N-glyco</option> | |
980 <option value="C(239.1629)">C(239.1629)</option> | |
981 <option value="K(-187.1524)">K(-187.1524)</option> | |
982 <option value="K(-262.1966)">K(-262.1966)</option> | |
983 <option value="K(114.0429),K(-115.12)">K(114.0429),K(-115.12)</option> | |
984 <option value="S(79.9663),T(79.9663),Y(79.9663)">S(79.9663),T(79.9663),Y(79.9663)</option> | |
985 </param> | |
986 <param name="min_site_prob" type="float" min="-1.0" max="1.0" optional="true" label="Minimum site probability"> | |
987 <help>site localization confidence thresholdr: -1 for global, 0 for search engine determined, above 0 for probability</help> | |
988 </param> | |
989 <param name="glyco_qval" type="integer" value="-1" optional="true" label="Glycan FDR filter"/> | |
990 </when> | |
991 </conditional> | |
992 <param name="unique_gene" type="select" optional="true" label="Peptide-Gene uniqueness"> | |
993 <option value="0">0: allow all PSMs</option> | |
994 <option value="1">1: remove PSMs mapping to more than one GENE with evidence of expression in the dataset</option> | |
995 <option value="2">2: remove all PSMs mapping to more than one GENE in the fasta file</option> | |
996 </param> | |
997 <param name="unique_pep" type="select" optional="true" label="Peptide-Protein uniqueness"> | |
998 <option value="false">unique plus razor peptides</option> | |
999 <option value="true">allow PSMs with unique peptides only</option> | |
1000 </param> | |
1001 <param name="min_pep_prob" type="float" min="0" max="1.0" optional="true" label="only use PSMs with a minimum probability score" | |
1002 help="minimum PSM probability threshold (in addition to FDR-based filtering by Philosopher)"/> | |
1003 <param name="min_purity" type="float" min="0" max="1.0" optional="true" label="ion purity threshold (default 0.5)"/> | |
1004 <param name="min_percent" type="float" min="0" max="1.0" optional="true" label="ignore the lower % PSMs based on their summed abundances" | |
1005 help="e.g. value of 0.05 indicates removal of PSMs with the summed TMT reporter ions intensity in the lowest 5% of all PSMs"/> | |
1006 <param name="max_pep_prob_thres" type="float" min="0" max="1.0" optional="true" label="threshold for maximum peptide probability"/> | |
1007 <param name="min_ntt" type="integer" min="0" max="2" optional="true" label="minimum allowed number of enzymatic termini"/> | |
1008 <param name="aggregation_method" type="select" optional="true" label="the aggregation method from the PSM level to the specified level"> | |
1009 <option value="0">0: median</option> | |
1010 <option value="1">1: weighted-ratio</option> | |
1011 </param> | |
1012 <param name="prot_exclude" type="text" optional="true" label="Exclude proteins with specified tags at the beginning of the accession number" | |
1013 help="e.g. none: no exclusion; sp|,tr| : exclude protein with sp| or tr|"> | |
1014 <validator type="regex">^(none|[a-zA-Z]+\|)$</validator> | |
1015 </param> | |
1016 <param name="best_psm" type="select" optional="true" label="keep the best PSM only (highest summed TMT intensity) among all redundant PSMs within the same LC-MS run"> | |
1017 <option value="true">Yes</option> | |
1018 <option value="false">No</option> | |
1019 </param> | |
1020 <param name="psm_norm" type="select" optional="true" label="perform additional retention time-based normalization at the PSM level"> | |
1021 <option value="false">No</option> | |
1022 <option value="true">Yes</option> | |
1023 </param> | |
1024 <param name="allow_overlabel" type="select" optional="true" label="allow PSMs with TMT on S (when overlabeling on S was allowed in the database search)"> | |
1025 <option value="true">Yes</option> | |
1026 <option value="false">No</option> | |
1027 </param> | |
1028 <param name="allow_unlabeled" type="select" optional="true" label="allow PSMs without TMT tag or acetylation on the peptide n-terminus"> | |
1029 <option value="true">Yes</option> | |
1030 <option value="false">No</option> | |
1031 </param> | |
1032 <param name="outlier_removal" type="select" optional="true" label="perform outlier removal"> | |
1033 <option value="true">Yes</option> | |
1034 <option value="false">No</option> | |
1035 </param> | |
1036 <param name="ms1_int" type="select" optional="true" label="MS1 precursor ion intensity for reference sample abundance estimation"> | |
1037 <option value="true">Yes - use MS1 precursor ion intensity</option> | |
1038 <option value="false">No - use MS2 reference intensity</option> | |
1039 </param> | |
1040 <param name="tolerance" type="integer" optional="true" label="Tolerance"/> | |
1041 <param name="top3_pep" type="select" optional="true" label="use top 3 most intense peptide ions as part of the reference sample abundance estimation"> | |
1042 <option value="true">Yes</option> | |
1043 <option value="false">No</option> | |
1044 </param> | |
1045 <param name="print_RefInt" type="select" optional="true" label="print individual reference sample abundance estimates for each multiplex in the final reports"> | |
1046 <option value="false">No</option> | |
1047 <option value="true">Yes</option> | |
1048 </param> | |
1049 </section> | |
1050 </when> | |
1051 </conditional> | |
1052 </section> | |
1053 </xml> | |
1054 | |
1055 <!-- Set isobaric quantification workflow options --> | |
1056 <token name="@ISOBARIC_QUANTIFICATION@"><![CDATA[ | |
1057 #set $prfx = $wf.quant_iso.isobaric_quantification | |
1058 #if $prfx.isobaric_quantification_step == 'no' | |
1059 #set $wfdict['tmtintegrator.run-tmtintegrator'] = 'false' | |
1060 #elif $prfx.isobaric_quantification_step == 'yes' | |
1061 #set $wfdict['tmtintegrator.run-tmtintegrator'] = 'true' | |
1062 #set $wfdict['tmtintegrator.dont-run-fq-lq'] = 'false' | |
1063 #set $cxt = $prfx.options | |
1064 #set $wfdict['tmtintegrator.quant_level'] = $cxt.quant_level | |
1065 #set $wfdict['tmtintegrator.channel_num'] = $cxt.channel_num | |
1066 #if $cxt.ref_tag == 'Virtual' | |
1067 #set $wfdict['tmtintegrator.add_Ref'] = -1 | |
1068 #else | |
1069 #set $wfdict['tmtintegrator.add_Ref'] = 1 | |
1070 #set $wfdict['tmtintegrator.ref_tag'] = $cxt.ref_tag | |
1071 #end if | |
1072 #if $cxt.groupby != '' | |
1073 #set $wfdict['tmtintegrator.groupby'] = $cxt.groupby | |
1074 #end if | |
1075 #set $wfdict['tmtintegrator.log2transformed'] = $cxt.log2transformed | |
1076 #if $cxt.prot_norm != 'None' | |
1077 #set $wfdict['tmtintegrator.prot_norm'] = $cxt.prot_norm | |
1078 #end if | |
1079 #if $cxt.glycan_conditional.use_glycan_composition == 'yes' | |
1080 #if $cxt.glycan_conditional.mod_tag != 'None' | |
1081 #set $wfdict['tmtintegrator.mod_tag'] = $cxt.glycan_conditional.mod_tag | |
1082 #end if | |
1083 #if $cxt.glycan_conditional.min_site_prob != '' | |
1084 #set $wfdict['tmtintegrator.min_site_prob'] = $cxt.glycan_conditional.min_site_prob | |
1085 #end if | |
1086 #if $cxt.glycan_conditional.glyco_qval != '' | |
1087 #set $wfdict['tmtintegrator.glyco_qval'] = $cxt.glycan_conditional.glyco_qval | |
1088 #end if | |
1089 #end if | |
1090 #if $cxt.unique_gene != 'None' | |
1091 #set $wfdict['tmtintegrator.unique_gene'] = $cxt.unique_gene | |
1092 #end if | |
1093 #if $cxt.unique_pep != 'None' | |
1094 #set $wfdict['tmtintegrator.unique_pep'] = $cxt.unique_pep | |
1095 #end if | |
1096 #if $cxt.min_pep_prob != '' | |
1097 #set $wfdict['tmtintegrator.min_pep_prob'] = $cxt.min_pep_prob | |
1098 #end if | |
1099 #if $cxt.min_purity != '' | |
1100 #set $wfdict['tmtintegrator.min_purity'] = $cxt.min_purity | |
1101 #end if | |
1102 #if $cxt.min_percent != '' | |
1103 #set $wfdict['tmtintegrator.min_percent'] = $cxt.min_percent | |
1104 #end if | |
1105 #if $cxt.max_pep_prob_thres != '' | |
1106 #set $wfdict['tmtintegrator.max_pep_prob_thres'] = $cxt.max_pep_prob_thres | |
1107 #end if | |
1108 #if $cxt.min_ntt != '' | |
1109 #set $wfdict['tmtintegrator.min_ntt'] = $cxt.min_ntt | |
1110 #end if | |
1111 #if $cxt.aggregation_method != 'None' | |
1112 #set $wfdict['tmtintegrator.aggregation_method'] = $cxt.aggregation_method | |
1113 #end if | |
1114 #if $cxt.prot_exclude != '' | |
1115 #set $wfdict['tmtintegrator.prot_exclude'] = $cxt.prot_exclude | |
1116 #end if | |
1117 #if $cxt.best_psm != 'None' | |
1118 #set $wfdict['tmtintegrator.best_psm'] = $cxt.best_psm | |
1119 #end if | |
1120 #if $cxt.psm_norm != 'None' | |
1121 #set $wfdict['tmtintegrator.psm_norm'] = $cxt.psm_norm | |
1122 #end if | |
1123 #if $cxt.allow_overlabel != 'None' | |
1124 #set $wfdict['tmtintegrator.allow_overlabel'] = $cxt.allow_overlabel | |
1125 #end if | |
1126 #if $cxt.allow_unlabeled != 'None' | |
1127 #set $wfdict['tmtintegrator.allow_unlabeled'] = $cxt.allow_unlabeled | |
1128 #end if | |
1129 #if $cxt.outlier_removal != 'None' | |
1130 #set $wfdict['tmtintegrator.outlier_removal'] = $cxt.outlier_removal | |
1131 #end if | |
1132 #if $cxt.ms1_int != 'None' | |
1133 #set $wfdict['tmtintegrator.ms1_int'] = $cxt.ms1_int | |
1134 #end if | |
1135 #if $cxt.tolerance != '' | |
1136 #set $wfdict['tmtintegrator.tolerance'] = $cxt.tolerance | |
1137 #end if | |
1138 #if $cxt.top3_pep != 'None' | |
1139 #set $wfdict['tmtintegrator.top3_pep'] = $cxt.top3_pep | |
1140 #end if | |
1141 #if $cxt.print_RefInt != 'None' | |
1142 #set $wfdict['tmtintegrator.print_RefInt'] = $cxt.print_RefInt | |
1143 #end if | |
1144 #end if | |
1145 ]]></token> | |
1146 | |
1147 <!-- License agreement texts. --> | |
1148 <token name="@MSFRAGGER_LICENSE_AGREEMENT@"> | |
1149 MSFragger is available freely for academic research and educational purposes only. I have read the ACADEMIC license for MSFragger software: http://msfragger-upgrader.nesvilab.org/upgrader/MSFragger-LICENSE.pdf. This license provides with non-exclusive, non-transferable right to use MSFragger solely for academic research, non-commercial or educational purposes. I agree to be subject to the terms and conditions of this license. I understand that to use MSFragger for other purposes requires a commercial license from the University of Michigan Office of Tech Transfer. | |
1150 </token> | |
1151 <token name="@IONQUANT_LICENSE_AGREEMENT@"> | |
1152 IonQuant is available freely for academic research and educational purposes only. I have read the ACADEMIC license for MSFragger software: https://msfragger.arsci.com/ionquant/IonQuant%20Academic%20Use%20License%2005162022.pdf | |
1153 </token> | |
1154 <token name="@THERMO_RAW_READER_LICENSE_AGREEMENT@"> | |
1155 I agree to the terms of Thermo (c) Raw File Reader License Agreement: http://msfragger-upgrader.nesvilab.org/upgrader/RawFileRdr_License_Agreement_RevA.pdf | |
1156 </token> | |
1157 <token name="@BRUKER_LICENSE_AGREEMENT@"> | |
1158 I agree to the terms of Bruker SDK library distribution conditions: http://msfragger-upgrader.nesvilab.org/upgrader/redist.txt | |
1159 </token> | |
1160 <token name="@LICENSE_AGREEMENTS@"> | |
1161 @MSFRAGGER_LICENSE_AGREEMENT@ | |
1162 @IONQUANT_LICENSE_AGREEMENT@ | |
1163 @THERMO_RAW_READER_LICENSE_AGREEMENT@ | |
1164 @BRUKER_LICENSE_AGREEMENT@ | |
1165 </token> | |
1166 | |
1167 <!-- User must check box agreeing to MSFragger license agreement. --> | |
1168 <xml name="license_agreements"> | |
1169 <param name="license_agreements" type="boolean" truevalue="true" falsevalue="false" checked="false" label="I understand that these tools, including MSFragger, IonQuant, Bruker, and Thermo Raw File Reader, are available freely for academic research and educational purposes only, and agree to the following terms."> | |
1170 <validator type="expression" message="You must agree to the MSFragger license!">value == True</validator> | |
1171 <help><![CDATA[ | |
1172 @MSFRAGGER_LICENSE_AGREEMENT@ | |
1173 <br/><br/> | |
1174 @IONQUANT_LICENSE_AGREEMENT@ | |
1175 <br/><br/> | |
1176 @THERMO_RAW_READER_LICENSE_AGREEMENT@ | |
1177 <br/><br/> | |
1178 @BRUKER_LICENSE_AGREEMENT@ | |
1179 ]]></help> | |
1180 </param> | |
1181 </xml> | |
1182 | |
1183 <xml name="citations"> | |
1184 <citations> | |
1185 <citation type="doi">10.1038/s41592-020-0912-y</citation> | |
1186 <citation type="doi">10.1038/nmeth.4256</citation> | |
1187 <citation type="doi">10.1038/s41467-020-17921-y</citation> | |
1188 <citation type="doi">10.1038/s41592-020-0967-9</citation> | |
1189 <citation type="doi">10.1021/acs.jproteome.0c00119</citation> | |
1190 <citation type="doi">10.1074/mcp.TIR120.002216</citation> | |
1191 <citation type="doi">10.1074/mcp.TIR120.002048</citation> | |
1192 <citation type="doi">10.1016/j.mcpro.2021.100077</citation> | |
1193 <citation type="doi">10.1021/acs.jproteome.0c00544</citation> | |
1194 <citation type="doi">10.1038/nmeth.3255</citation> | |
1195 <yield /> | |
1196 </citations> | |
1197 </xml> | |
1198 </macros> |