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