36
|
1 <tool id="search_gui" name="Search GUI" version="1.26.0">
|
33
|
2 <description>
|
|
3 Perform protein identification using various search engines and prepare results for input to Peptide Shaker
|
|
4 </description>
|
|
5 <requirements>
|
36
|
6 <requirement type="package" version="1.26">searchgui</requirement>
|
33
|
7 </requirements>
|
35
|
8 <macros>
|
|
9 <import>macros.xml</import>
|
|
10 </macros>
|
33
|
11 <expand macro="stdio" />
|
|
12 <command>
|
|
13 <![CDATA[
|
|
14 #from datetime import datetime
|
|
15 #set $exp_str = "Galaxy_Experiment_%s" % datetime.now().strftime("%Y%m%d%H%M%s")
|
|
16 #set $samp_str = "Sample_%s" % datetime.now().strftime("%Y%m%d%H%M%s")
|
35
|
17 #set $temp_stderr = "searchgui_stderr"
|
33
|
18
|
|
19 mkdir output;
|
|
20 mkdir output_reports;
|
|
21 cwd=`pwd`;
|
|
22 #for $mgf in $peak_lists:
|
|
23 #set $input_name = $mgf.display_name.replace(".mgf", "") + ".mgf"
|
35
|
24 ln -s -f '${mgf}' '${input_name}';
|
33
|
25 #end for
|
|
26 ##ln -s "${input_database}" input_database.fasta;
|
|
27 cp "${input_database}" input_database.fasta;
|
|
28
|
|
29 ###########################################
|
|
30 #### Creating decoy database ####
|
|
31 ###########################################
|
|
32 #if $create_decoy:
|
|
33 echo "Creating decoy database.";
|
35
|
34 java -cp \$SEARCHGUI_JAR_PATH eu.isas.searchgui.cmd.FastaCLI -in input_database.fasta -decoy &&
|
|
35 rm input_database.fasta &&
|
|
36 cp input_database_concatenated_target_decoy.fasta input_database.fasta &&
|
33
|
37 ##ln -sf input_database_concatenated_target_decoy.fasta input_database.fasta;
|
|
38 #end if
|
|
39
|
|
40 #####################################################
|
|
41 ## generate IdentificationParameters for SearchGUI ##
|
|
42 #####################################################
|
|
43
|
|
44 (java -cp \$SEARCHGUI_JAR_PATH eu.isas.searchgui.cmd.IdentificationParametersCLI
|
|
45 -out SEARCHGUI_IdentificationParameters.parameters
|
|
46
|
|
47 @GENERAL_PARAMETERS@
|
|
48
|
|
49 -db input_database.fasta
|
|
50
|
|
51 #if $advanced.advanced_type_selector == "advanced":
|
|
52
|
|
53 #if $advanced.xtandem.xtandem_selector == "yes"
|
|
54
|
|
55 -xtandem_npeaks ${advanced.xtandem.xtandem_npeaks}
|
|
56 -xtandem_min_peaks ${advanced.xtandem.xtandem_min_peaks}
|
|
57 -xtandem_min_frag_mz ${advanced.xtandem.xtandem_min_frag_mz}
|
|
58 -xtandem_min_prec_mass ${advanced.xtandem.xtandem_min_prec_mass}
|
|
59 -xtandem_noise_suppr ${advanced.xtandem.xtandem_noise_suppr}
|
|
60
|
|
61 #if $advanced.xtandem.xtandem_refine.xtandem_refine_selector == "yes"
|
|
62 -xtandem_refine 1
|
|
63 -xtandem_refine_unc ${advanced.xtandem.xtandem_refine.xtandem_refine_unc}
|
|
64 -xtandem_refine_semi ${advanced.xtandem.xtandem_refine.xtandem_refine_semi}
|
|
65 -xtandem_refine_p_mut ${advanced.xtandem.xtandem_refine.xtandem_refine_p_mut}
|
|
66 -xtandem_refine_snaps ${advanced.xtandem.xtandem_refine.xtandem_refine_snaps}
|
|
67 -xtandem_refine_spec_synt ${advanced.xtandem.xtandem_refine.xtandem_refine_spec_synt}
|
|
68 #end if
|
|
69 #end if
|
|
70
|
|
71 #if $advanced.omssa.omssa_selector == "yes"
|
|
72 -omssa_hitlist_length ${advanced.omssa.hitlist_length}
|
|
73 -omssa_remove_prec ${advanced.omssa.remove_precursor}
|
|
74 -omssa_scale_prec ${advanced.omssa.scale_precursor}
|
|
75 -omssa_estimate_charge ${advanced.omssa.estimate_charge}
|
|
76 #end if
|
|
77
|
|
78 #if $advanced.msgf.msgf_selector == "yes"
|
|
79 -msgf_decoy ${advanced.msgf.msgf_decoy}
|
|
80 -msgf_min_pep_length ${advanced.msgf.msgf_min_pep_length}
|
|
81 -msgf_max_pep_length ${advanced.msgf.msgf_max_pep_length}
|
|
82 -msgf_termini ${advanced.msgf.msgf_termini}
|
|
83 -msgf_num_ptms ${advanced.msgf.msgf_num_ptms}
|
|
84 #end if
|
|
85
|
|
86 ##if $advanced.ms_amanda.ms_amanda_selector == "yes"
|
|
87 ##end if
|
|
88
|
|
89 #end if
|
|
90
|
|
91 2> $temp_stderr)
|
|
92 &&
|
|
93
|
|
94 ################
|
|
95 ## Search CLI ##
|
|
96 ################
|
|
97 (java -Djava.awt.headless=true -cp \$SEARCHGUI_JAR_PATH eu.isas.searchgui.cmd.SearchCLI
|
|
98 -temp_folder `pwd`
|
|
99 -spectrum_files \$cwd
|
|
100 -output_folder \$cwd/output
|
|
101 -id_params SEARCHGUI_IdentificationParameters.parameters
|
|
102
|
|
103 -threads "\${GALAXY_SLOTS:-12}"
|
|
104 -correct_titles "${correct_titles}"
|
|
105 $missing_titles
|
|
106 -mgf_splitting "${mgf_splitting}"
|
|
107 -mgf_spectrum_count "${mgf_spectrum_count}"
|
|
108
|
|
109 ## Turn of the protein tree generation as it can produce errors if the search is finished before the tree is created
|
|
110 ## the tree is generated afterwards in PeptideShaker
|
|
111 -protein_index 0
|
|
112
|
|
113 ##-makeblastdb_folder \$BLAST_ROOT_DIR
|
|
114
|
|
115 #if $advanced.advanced_type_selector == "advanced":
|
|
116
|
|
117 #if $advanced.xtandem.xtandem_selector == "yes"
|
|
118 -xtandem 1
|
|
119 #else
|
|
120 -xtandem 0
|
|
121 #end if
|
|
122
|
|
123 #if $advanced.omssa.omssa_selector == "yes"
|
|
124 -omssa 1
|
|
125 #else
|
|
126 -omssa 0
|
|
127 #end if
|
|
128
|
|
129 #if $advanced.msgf.msgf_selector == "yes"
|
|
130 -msgf 1
|
|
131 #else
|
|
132 -msgf 0
|
|
133 #end if
|
|
134
|
|
135 #if $advanced.ms_amanda.ms_amanda_selector == "yes"
|
|
136 -ms_amanda 1
|
|
137 #else
|
|
138 -ms_amanda 0
|
|
139 #end if
|
|
140
|
|
141 #if $advanced.myrimatch.myrimatch_selector == "yes"
|
|
142 -myrimatch 1
|
|
143 #else
|
|
144 -myrimatch 0
|
|
145 #end if
|
|
146
|
|
147 #if $advanced.comet.comet_selector == "yes"
|
|
148 -comet 1
|
|
149 #else
|
|
150 -comet 0
|
|
151 #end if
|
|
152
|
38
|
153 #if $advanced.tide.tide_selector == "yes"
|
|
154 -tide 1
|
|
155 #else
|
|
156 -tide 0
|
|
157 #end if
|
|
158
|
33
|
159 #else
|
|
160 -ms_amanda 0
|
|
161 #end if
|
|
162
|
|
163 ## single zip file
|
|
164 -output_option 0
|
|
165
|
35
|
166 ## mgf and database in output
|
|
167 -output_data 1
|
|
168
|
33
|
169 2>> $temp_stderr)
|
|
170
|
|
171 &&
|
|
172
|
35
|
173 (mv output/searchgui_out.zip searchgui_out.zip 2>> $temp_stderr)
|
|
174
|
|
175 &&
|
|
176
|
33
|
177 exit_code_for_galaxy=\$?;
|
35
|
178 cat $temp_stderr 2>&1;
|
33
|
179 (exit \$exit_code_for_galaxy)
|
|
180 ]]>
|
|
181 </command>
|
|
182 <inputs>
|
|
183 <param format="fasta" name="input_database" type="data" label="Protein Database"
|
|
184 help="Select FASTA database from history"/>
|
|
185
|
|
186 <param name="create_decoy" type="boolean" truevalue="True" falsevalue="False" checked="true"
|
|
187 label="Create a concatenated target/decoy database before running PeptideShaker"
|
|
188 help="Selecting this option will help PeptideShaker calculate FDR values" />
|
|
189
|
35
|
190 <param name="peak_lists" format="mgf" type="data" multiple="true" label="Input Peak Lists (mgf)"
|
33
|
191 help="Select appropriate MGF dataset(s) from history" />
|
|
192
|
|
193 <expand macro="general_options"/>
|
|
194
|
|
195 <param name="correct_titles" type="select" label="How should PeptideShaker deal with duplicate spectra?"
|
|
196 help="Unless you suspect some input files to be genuine duplicates then rename spectra is the safest option">
|
|
197 <option value="0">no correction</option>
|
|
198 <option value="1" selected="True">rename spectra</option>
|
|
199 <option value="2">delete spectra</option>
|
|
200 </param>
|
|
201
|
|
202 <param name="missing_titles" type="boolean" checked="false" truevalue="-missing_titles 1" falsevalue="-missing_titles 0"
|
|
203 label="Add missing spectrum titles" help="(-missing_titles)"/>
|
|
204
|
|
205 <param name="mgf_splitting" type="integer" value="1000" label="The maximum mgf file size in MB before splitting the mgf"
|
|
206 help="Choose a smaller value if you are running on a machine with limited memory"/>
|
|
207
|
|
208 <param name="mgf_spectrum_count" type="integer" value="25000" label="The maximum number of spectra per mgf file when splitting"
|
|
209 help="Choose a smaller value if you are running on a machine with limited memory"/>
|
|
210
|
|
211 <conditional name="advanced">
|
|
212 <param name="advanced_type_selector" type="select" label="Basic or Advanced Search options">
|
|
213 <option value="basic" selected="True">Basic</option>
|
|
214 <option value="advanced">Advanced</option>
|
|
215 </param>
|
|
216 <when value="basic" />
|
|
217 <when value="advanced">
|
|
218 <conditional name="xtandem">
|
|
219 <param name="xtandem_selector" type="select" label="Run X!Tandem search">
|
|
220 <option value="yes" selected="True">Search with X!Tandem</option>
|
|
221 <option value="no">No X!Tandem search</option>
|
|
222 </param>
|
|
223 <when value="no" />
|
|
224 <when value="yes">
|
35
|
225 <param name="xtandem_npeaks" type="integer" value="50"
|
|
226 label="X!Tandem: Total Peaks" help="Maximum number of peaks to be used from a spectrum"/>
|
33
|
227 <param name="xtandem_min_peaks" type="integer" value="15"
|
|
228 label="X!Tandem: Min Peaks" help="Minimum number of peaks required for a spectrum to be considered"/>
|
|
229 <param name="xtandem_min_frag_mz" type="integer" value="200"
|
|
230 label="X!Tandem: Min Frag m/z" help="Fragment mass peaks with m/z less than this value will be discarded"/>
|
35
|
231 <param name="xtandem_min_prec_mass" type="integer" value="200"
|
|
232 label="X!Tandem: Min Precursor Mass" help="Minimum mass of 1+ mass of parent ion to be considered"/>
|
|
233 <param name="xtandem_noise_suppr" type="boolean" checked="true" truevalue="1" falsevalue="0"
|
|
234 label="X!Tandem: Noise Suppression" help="Use noise suppression"/>
|
33
|
235
|
|
236 <conditional name="xtandem_refine"><!-- -xtandem_refine -->
|
|
237 <param name="xtandem_refine_selector" type="select" label="X!Tandem peptide model refinement">
|
|
238 <option value="no" selected="True">Don't refine</option>
|
|
239 <option value="yes" >Use refinement</option>
|
|
240 </param>
|
|
241 <when value="no"/>
|
|
242 <when value="yes">
|
|
243 <param name="xtandem_refine_unc" type="boolean" truevalue="1" falsevalue="0"
|
|
244 label="X!Tandem: Unanticipated cleavage, refinement" help="Allow for unanticipated cleavage during refinement"/>
|
|
245 <param name="xtandem_refine_semi" type="boolean" truevalue="1" falsevalue="0"
|
|
246 label="X!Tandem: Cleavage semi, refinement" help="Search for semi-tryptic peptides during refinement"/>
|
|
247 <param name="xtandem_refine_p_mut" type="boolean" truevalue="1" falsevalue="0"
|
|
248 label="X!Tandem: Point mutations, refinement" help="Allow for point mutations during refinement"/>
|
|
249 <param name="xtandem_refine_snaps" type="boolean" truevalue="1" falsevalue="0"
|
|
250 label="X!Tandem: snAPs, refinement" help="Search for known single amino acid polymorphisms during refinement"/>
|
|
251 <param name="xtandem_refine_spec_synt" type="boolean" truevalue="1" falsevalue="0"
|
|
252 label="X!Tandem: Spectrum synthesis, refinement" help="Use spectrum synthesis scoring"/>
|
|
253 </when>
|
|
254 </conditional>
|
|
255 </when>
|
|
256 </conditional>
|
|
257
|
|
258 <conditional name="omssa">
|
|
259 <param name="omssa_selector" type="select" label="Run OMSSA search">
|
|
260 <option value="yes" selected="True">Search with OMSSA</option>
|
|
261 <option value="no">No OMSSA search</option>
|
|
262 </param>
|
|
263 <when value="no" />
|
|
264 <when value="yes">
|
|
265 <param name="hitlist_length" label="OMSSA: Hit List Length" type="integer" value="25" />
|
|
266 <param name="remove_precursor" label="OMSSA: Remove Precurosr" type="boolean" truevalue="1" falsevalue="0" checked="true"/>
|
|
267 <param name="scale_precursor" label="OMSSA: Scale Precursor Mass" type="boolean" truevalue="1" falsevalue="0" checked="false"/>
|
|
268 <param name="estimate_charge" label="OMSSA: Estimate Charge" type="boolean" truevalue="1" falsevalue="0" checked="true" />
|
|
269 </when>
|
|
270 </conditional>
|
|
271
|
|
272 <conditional name="msgf">
|
|
273 <param name="msgf_selector" type="select" label="Run MSGF search">
|
|
274 <option value="yes" selected="True">Search with MSGF</option>
|
|
275 <option value="no">No MSGF search</option>
|
|
276 </param>
|
|
277 <when value="no" />
|
|
278 <when value="yes">
|
|
279 <param name="msgf_decoy" type="boolean" truevalue="1" falsevalue="0"
|
|
280 label="Search Decoys" help="If yes then a decoy database will be generated and searched. Assumed input database contains no decoys"/>
|
|
281 <param name="msgf_min_pep_length" type="integer" value="6"
|
|
282 label="Minimum Peptide Length" help="Minimum length for a peptide to be considered"/>
|
|
283 <param name="msgf_max_pep_length" type="integer" value="30"
|
|
284 label="Maximum Peptide Length" help="Maximum length for a peptide to be considered"/>
|
|
285 <param name="msgf_termini" type="select" format="text"
|
|
286 label="Number of tolerable termini" help="Searches will take much longer if selecting a value other than 2">
|
|
287 <option value="0">0 (ie non-specific cleavage)</option>
|
|
288 <option value="1">1 (ie semi-tryptic cleavage)</option>
|
|
289 <option value="2" selected="true">2 (ie fully-tryptic cleavage)</option>
|
|
290 </param>
|
|
291 <param name="msgf_num_ptms" label="Max PTMs per peptide" type="integer" value="2"/>
|
|
292 </when>
|
|
293 </conditional>
|
|
294
|
|
295 <conditional name="ms_amanda">
|
|
296 <param name="ms_amanda_selector" type="select" label="Run MS Amanda search">
|
|
297 <option value="yes">Search with MS Amanda</option>
|
|
298 <option value="no" selected="True">No MS Amanda search</option>
|
|
299 </param>
|
|
300 <when value="no" />
|
|
301 <when value="yes">
|
|
302 </when>
|
|
303 </conditional>
|
|
304
|
|
305 <conditional name="myrimatch">
|
|
306 <param name="myrimatch_selector" type="select" label="Run MyriMatch search">
|
|
307 <option value="yes">Search with MyriMatch</option>
|
|
308 <option value="no" selected="True">No MyriMatch search</option>
|
|
309 </param>
|
|
310 <when value="no" />
|
|
311 <when value="yes">
|
|
312 </when>
|
|
313 </conditional>
|
|
314
|
|
315 <conditional name="comet">
|
|
316 <param name="comet_selector" type="select" label="Run Comet search">
|
|
317 <option value="yes">Search with Comet</option>
|
|
318 <option value="no" selected="True">No Comet search</option>
|
|
319 </param>
|
|
320 <when value="no" />
|
|
321 <when value="yes">
|
|
322 </when>
|
|
323 </conditional>
|
38
|
324
|
|
325 <conditional name="tide">
|
|
326 <param name="tide_selector" type="select" label="Run Tide search">
|
|
327 <option value="yes">Search with Tide</option>
|
|
328 <option value="no" selected="True">No Comet search</option>
|
|
329 </param>
|
|
330 <when value="no" />
|
|
331 <when value="yes">
|
|
332 </when>
|
|
333 </conditional>
|
|
334
|
33
|
335 </when>
|
|
336 </conditional>
|
|
337 </inputs>
|
|
338 <outputs>
|
35
|
339 <data name="searchgui_results" format="searchgui_archive" from_work_dir="searchgui_out.zip" label="${tool.name} on ${on_string}" />
|
33
|
340 </outputs>
|
|
341 <tests>
|
|
342 <test>
|
35
|
343 <param name="peak_lists" value="searchgui_tinyspectra1.mgf"/>
|
|
344 <param name="input_database" value="searchgui_tinydb1.fasta" ftype="fasta"/>
|
33
|
345 <param name="precursor_ion_tol" value="100"/>
|
|
346 <param name="fixed_modifications" value="carbamidomethyl c"/>
|
|
347 <param name="variable_modifications" value="oxidation of m"/>
|
|
348 <param name="min_charge" value="1"/>
|
|
349 <param name="max_charge" value="3"/>
|
|
350 <param name="advanced_type_selector" value="advanced"/>
|
|
351 <param name="xtandem_selector" value="yes"/>
|
|
352 <param name="xtandem_selector.xtandem_refine_selector" value="yes"/>
|
|
353 <param name="omssa_selector" value="no"/>
|
|
354 <param name="msgf_selector" value="yes"/>
|
|
355 <param name="ms_amanda_selector" value="no"/>
|
35
|
356 <output name="output" file="tiny_searchgui_result1.zip" ftype="searchgui_archive" compare="sim_size" delta="600" />
|
33
|
357 </test>
|
|
358 </tests>
|
|
359 <help>
|
|
360 **What it does**
|
|
361
|
|
362 Runs multiple search engines (X! Tandem, OMSSA and MS-GF+) on any number of MGF peak lists using the SearchGUI.
|
|
363
|
|
364
|
|
365 </help>
|
|
366 <expand macro="citations" />
|
|
367 </tool>
|