comparison morpheus.xml @ 0:553f0336e43e draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/morpheus commit 2cfe229337e1cea060d77b49df588237dfbd1ce0-dirty
author galaxyp
date Mon, 23 May 2016 09:51:47 -0400
parents
children ecb9ec15083d
comparison
equal deleted inserted replaced
-1:000000000000 0:553f0336e43e
1 <tool id="morpheus" name="Morpheus" version="2.255.0">
2 <description>database search algorithm for high-resolution tandem mass spectra</description>
3 <macros>
4 <xml name="modification_options">
5 <option value="acetylation of protein N-terminus">acetylation of protein N-terminus</option>
6 <option value="acetylation of lysine">acetylation of lysine</option>
7 <option value="phosphorylation of S">phosphorylation of S</option>
8 <option value="phosphorylation of T">phosphorylation of T</option>
9 <option value="phosphorylation of Y">phosphorylation of Y</option>
10 <option value="deamidation of N">deamidation of N</option>
11 <option value="deamidation of Q">deamidation of Q</option>
12 <option value="pyro-cmC">pyro-cmC</option>
13 <option value="pyro-E">pyro-E</option>
14 <option value="pyro-Q">pyro-Q</option>
15 <option value="TMT zero on peptide N-terminus">TMT zero on peptide N-terminus</option>
16 <option value="TMT zero on K">TMT zero on K</option>
17 <option value="TMT zero on Y">TMT zero on Y</option>
18 <option value="TMT duplex on peptide N-terminus">TMT duplex on peptide N-terminus</option>
19 <option value="TMT duplex on K">TMT duplex on K</option>
20 <option value="TMT duplex on Y">TMT duplex on Y</option>
21 <option value="TMT sixplex/tenplex on peptide N-terminus">TMT sixplex/tenplex on peptide N-terminus</option>
22 <option value="TMT sixplex/tenplex on K">TMT sixplex/tenplex on K</option>
23 <option value="TMT sixplex/tenplex on Y">TMT sixplex/tenplex on Y</option>
24 <option value="iTRAQ 4-plex on peptide N-terminus">iTRAQ 4-plex on peptide N-terminus</option>
25 <option value="iTRAQ 4-plex on K">iTRAQ 4-plex on K</option>
26 <option value="iTRAQ 4-plex on Y">iTRAQ 4-plex on Y</option>
27 <option value="iTRAQ 8-plex on peptide N-terminus">iTRAQ 8-plex on peptide N-terminus</option>
28 <option value="iTRAQ 8-plex on K">iTRAQ 8-plex on K</option>
29 <option value="iTRAQ 8-plex on Y ">iTRAQ 8-plex on Y </option>
30 </xml>
31 <xml name="variable_modification_options">
32 <option value="oxidation of M" selected="true">oxidation of M</option>
33 <option value="carbamidomethylation of C">carbamidomethylation of C</option>
34 <expand macro="modification_options"/>
35 </xml>
36 <xml name="fixed_modification_options">
37 <option value="carbamidomethylation of C" selected="true">carbamidomethylation of C</option>
38 <option value="oxidation of M">oxidation of M</option>
39 <expand macro="modification_options"/>
40 </xml>
41 </macros>
42
43 <requirements>
44 <requirement version="4.0">mono</requirement>
45 <requirement version="255">morpheus</requirement>
46 </requirements>
47
48 <stdio>
49 <exit_code range="1:" />
50 <regex match="System..*Exception"
51 source="both"
52 level="fatal"
53 description="Error encountered" />
54 </stdio>
55
56 <command><![CDATA[
57 mkdir -p output_reports &&
58 cwd=`pwd`&&
59 #import re
60 #set $searchdb_name = $searchdb
61 #if isinstance($searchdb.datatype, $__app__.datatypes_registry.get_datatype_by_extension('uniprotxml').__class__):
62 #set $searchdb_name = 'searchdb.xml'
63 #else
64 #set $searchdb_name = 'searchdb.fasta'
65 #end if
66 ln -s $searchdb $searchdb_name
67 ## Need to link each input to a name in cwd, names must be unique
68 #set $input_list = []
69 #for i,input in enumerate($inputs):
70 #set $input_name = $re.sub('(?i)([.]?mzML)*$','.mzML',$re.sub('\W','_',$input.name))
71 #if $input_name in $input_list:
72 #set $input_name = str($i) + '_' + $input_name
73 #end if
74 #set $input_list = $input_list + [$input_name]
75 && ln -s $input $input_name
76 #end for
77 #set $input_names = ','.join($input_list)
78 && mono \${MORPHEUS_PATH}/morpheus_mzml_mono_cl.exe
79 -d="$input_names"
80 -db=$searchdb_name
81 #if isinstance($searchdb.datatype, $__app__.datatypes_registry.get_datatype_by_extension('uniprotxml').__class__):
82 #if str( $advanced.adv_options_selector) == "set":
83 $advanced.noup
84 #end if
85 #end if
86 ## fm vm fdr mvmi precmt precmtv precmtu
87 #if str($fdr) != '':
88 -fdr=$fdr
89 #end if
90 #if str($mvmi) != '':
91 -mvmi=$mvmi
92 #end if
93 #if str($precmtv) != '':
94 -precmtv=$precmtv
95 #end if
96 #if str($precmtu) != 'None':
97 -precmtu=$precmtu
98 #end if
99 #if str( $advanced.adv_options_selector) == "set":
100 #if str($advanced.precmt) != 'None':
101 -precmt=$advanced.precmt
102 #end if
103 #if str($advanced.minprecz) != '':
104 -minprecz=$advanced.minprecz
105 #end if
106 #if str($advanced.maxprecz) != '':
107 -maxprecz=$advanced.maxprecz
108 #end if
109 #if str($advanced.at) != '':
110 -at=$advanced.at
111 #end if
112 #if str($advanced.rt) != '':
113 -rt=$advanced.rt
114 #end if
115 #if str($advanced.mp) != '':
116 -mp=$advanced.mp
117 #end if
118 #if str($advanced.mmc) != '':
119 -mmc=$advanced.mmc
120 #end if
121 #if str($advanced.prodmt) != 'None':
122 -prodmt=$advanced.prodmt
123 #end if
124 #if str($advanced.prodmtv) != '':
125 -prodmtv=$advanced.prodmtv
126 #end if
127 #if str($advanced.prodmtu) != 'None':
128 -prodmtu=$advanced.prodmtu
129 #end if
130 #if str($advanced.minpmo) != '':
131 -minpmo=$advanced.minpmo
132 #end if
133 #if str($advanced.maxpmo) != '':
134 -maxpmo=$advanced.maxpmo
135 #end if
136 #if str($advanced.imb) != 'None':
137 -imb=$advanced.imb
138 #end if
139 #if str($advanced.ad) != 'None':
140 -ad=$advanced.ad
141 #end if
142 $advanced.acs $advanced.di $advanced.pmc $advanced.cmu $advanced.mmu
143 #end if
144 #if str($fm) != 'None':
145 #set $fmods = str($fm).replace(',',';')
146 -fm="$fmods"
147 #end if
148 #if str($vm) != 'None':
149 #set $vmods = str($vm).replace(',',';')
150 -vm="$vmods"
151 #end if
152 -mt=\${GALAXY_SLOTS:-4}
153 #set $out_list = 'log.txt summary.tsv aggregate.PSMs.tsv aggregate.unique_peptides.tsv aggregate.protein_groups.tsv aggregate.mzid *.pep.xml'
154 #if len($input_list) == 1:
155 && ln -s *.log.txt log.txt
156 && ln -s *.mzid aggregate.mzid
157 && ln -s *.unique_peptides.tsv aggregate.unique_peptides.tsv
158 && ln -s *.protein_groups.tsv aggregate.protein_groups.tsv
159 && ln -s *.PSMs.tsv aggregate.PSMs.tsv
160 #end if
161 && ( basepath=`grep 'Proteome Database:' log.txt | sed 's/Proteome Database: \(.*\)${$searchdb_name}/\1/'`;
162 for i in $out_list; do cat \$i | sed "s#\${basepath}\##" > output_reports/\$i; done )
163 ]]></command>
164 <inputs>
165 <param name="inputs" type="data" format="mzml" multiple="true" label='Indexed mzML' />
166 <param name="searchdb" type="data" format="fasta,uniprotxml" label="MS Protein Search Database: UniProt Xml or Fasta"/>
167 <param name="fm" type="select" multiple="true" optional="true" label="Fixed Modifications">
168 <expand macro="fixed_modification_options" />
169 </param>
170 <param name="vm" type="select" multiple="true" optional="true" label="Variable Modifications">
171 <expand macro="variable_modification_options" />
172 </param>
173 <param name="fdr" type="float" value="1" optional="true" min="0.0" max="100.0" label="FDR (Maximum False Discovery Rate percent)" />
174 <param name="mvmi" type="integer" value="1024" optional="true" min="0" label="Maximum Variable Modification Isoforms Per Peptide" />
175 <param name="precmtv" type="float" value="10." optional="true" label="Precursor Mass Tolerance Value" />
176 <param name="precmtu" type="select" optional="true" label="Precursor Mass Tolerance Units">
177 <option value="ppm" selected="true">ppm</option>
178 <option value="Da">Daltons</option>
179 </param>
180 <conditional name="advanced">
181 <param name="adv_options_selector" type="select" label="Set advanced options?" help="Provides additional controls">
182 <option value="set">Set</option>
183 <option value="do_not_set" selected="True">Do not set</option>
184 </param>
185 <when value="set">
186 <param name="precmt" type="select" optional="true" label="Precursor Mass Type">
187 <option value="Monoisotopic">Monoisotopic</option>
188 <option value="Average">Average</option>
189 </param>
190 <param name="noup" type="boolean" truevalue="" falsevalue="-noup=True" checked="True" label="Use G-PTM with Uniprot Proteome Search Databases" />
191 <param name="minprecz" type="integer" value="2" optional="true" label="Minimum Unknown Precursor Charge State" />
192 <param name="maxprecz" type="integer" value="4" optional="true" label="Maximum Unknown Precursor Charge State" />
193 <param name="at" type="float" value="" optional="true" min="0.0" label="Absolute MS/MS Intensity Threshold" />
194 <param name="rt" type="float" value="" optional="true" min="0.0" label="Relative MS/MS Intensity Threshold" />
195 <param name="mp" type="integer" value="400" optional="true" min="-1" label="Maximum Number of MS/MS Peaks" help="to disable set to: -1"/>
196 <param name="acs" type="boolean" truevalue="-acs=True" falsevalue="-acs=False" checked="true" optional="true" label="Assign Charge States" />
197 <param name="di" type="boolean" truevalue="-di=True" falsevalue="-di=False" checked="false" optional="true" label="Deisotope" />
198 <param name="ad" type="select" optional="true" label="Create Target-Decoy Database On The Fly"
199 help="Set to No if Search Database ia a fasta that already includes decoys.">
200 <option value="True" selected="true">Yes</option>
201 <option value="False">No</option>
202 </param>
203 <param name="mmc" type="integer" value="2" optional="true" min="0" max="20" label="Maximum Missed Cleavages" />
204 <param name="pmc" type="boolean" truevalue="-pmc=True" falsevalue="-pmc=False" checked="false" optional="true" label="Precursor Monoisotopic Peak Correction" />
205 <param name="minpmo" type="integer" value="" optional="true" label="Minimum Precursor Monoisotopic Peak Correction" />
206 <param name="maxpmo" type="integer" value="" optional="true" label="Maximum Precursor Monoisotopic Peak Correction" />
207 <param name="prodmt" type="select" optional="true" label="Product Mass Type">
208 <option value="Monoisotopic">Monoisotopic</option>
209 <option value="Average">Average</option>
210 </param>
211 <param name="prodmtv" type="float" value="" optional="true" label="Product Mass Tolerance Value" />
212 <param name="prodmtu" type="select" optional="true" label="Product Mass Tolerance Units">
213 <option value="Da">Daltons</option>
214 <option value="ppm">ppm</option>
215 </param>
216 <param name="imb" type="select" optional="true" label="Initiator Methionine Behavior">
217 <option value="Variable">Variable</option>
218 <option value="Retain">Retain</option>
219 <option value="Cleave">Cleave</option>
220 </param>
221 <param name="cmu" type="boolean" truevalue="-cmu=True" falsevalue="-cmu=False" checked="false" optional="true" label="Consider Modified Forms as Unique Peptides" />
222 <param name="mmu" type="boolean" truevalue="-mmu=True" falsevalue="-mmu=False" checked="false" optional="true" label="Minimize Memory Usage" />
223 </when>
224 <when value="do_not_set"/>
225 </conditional>
226 </inputs>
227 <outputs>
228 <data name="log" format="txt" label="${tool.name} on ${on_string}: log.txt" from_work_dir="output_reports/log.txt" />
229 <data name="summary" format="txt" label="${tool.name} on ${on_string}: summary.tsv" from_work_dir="output_reports/summary.tsv" />
230 <data name="output_psms" format="tabular" label="${tool.name} on ${on_string}: PSMs.tsv" from_work_dir="output_reports/aggregate.PSMs.tsv" />
231 <data name="output_unique_peptides" format="tabular" label="${tool.name} on ${on_string}: unique_peptides.tsv" from_work_dir="output_reports/aggregate.unique_peptides.tsv" />
232 <data name="output_protein_groups" format="tabular" label="${tool.name} on ${on_string}: protein_groups.tsv" from_work_dir="output_reports/aggregate.protein_groups.tsv" />
233 <data name="aggregate_mzid" format="mzid" label="${tool.name} on ${on_string}: aggregate.mzid" from_work_dir="output_reports/aggregate.mzid" />
234 <collection name="morpheus_pep_xmls" type="list" label="${tool.name} on ${on_string} pep.xml">
235 <discover_datasets pattern="(?P&lt;name&gt;.*\.pep.xml)" ext="pepxml" visible="False" directory="output_reports" />
236 </collection>
237 </outputs>
238 <tests>
239 <test>
240 <param name="input" value="test_input.mzML" ftype="mzml"/>
241 <param name="searchdb" value="uniprot-proteome_UP000002311-first100entries.fasta" ftype="fasta"/>
242 <param name="fdr" value="1"/>
243 <param name="mvmi" value="1024"/>
244 <param name="precmt" value="Monoisotopic"/>
245 <param name="precmtu" value="Da"/>
246 <param name="precmtv" value="2.5"/>
247 <output name="output_psms">
248 <assert_contents>
249 <has_text text="K.TTGSSSSSSSK.K" />
250 <not_has_text text="carbamidomethylation of C" />
251 <not_has_text text="(oxidation of M)" />
252 </assert_contents>
253 </output>
254 </test>
255 <test>
256 <param name="input" value="test_input.mzML" ftype="mzml"/>
257 <param name="searchdb" value="uniprot-proteome_UP000002311-first100entries.fasta" ftype="fasta"/>
258 <param name="fdr" value="1"/>
259 <param name="mvmi" value="1024"/>
260 <param name="precmt" value="Monoisotopic"/>
261 <param name="precmtu" value="Da"/>
262 <param name="precmtv" value="2.5"/>
263 <param name="fm" value="carbamidomethylation of C"/>
264 <param name="vm" value="oxidation of M"/>
265 <output name="output_psms">
266 <assert_contents>
267 <has_text text="K.VETYM(oxidation of M)ETK.I" />
268 <not_has_text text="K.TTGSSSSSSSK.K" />
269 </assert_contents>
270 </output>
271 </test>
272 <test>
273 <param name="input" value="test_input.mzML" ftype="mzml"/>
274 <param name="searchdb" value="uniprot-proteome_UP000002311Condensed-first100entries.xml" ftype="uniprotxml"/>
275 <param name="fdr" value="1"/>
276 <param name="mvmi" value="1024"/>
277 <param name="precmt" value="Monoisotopic"/>
278 <param name="precmtu" value="Da"/>
279 <param name="precmtv" value="2.5"/>
280 <param name="fm" value="carbamidomethylation of C"/>
281 <param name="vm" value="oxidation of M"/>
282 <output name="output_psms">
283 <assert_contents>
284 <has_text text="R.KRSLFDS(UniProt: Phosphoserine)AFSSR.A" />
285 <not_has_text text="K.KYFLENKIGTDR.R" />
286 </assert_contents>
287 </output>
288 </test>
289 <test>
290 <param name="input" value="test_input.mzML" ftype="mzml"/>
291 <param name="searchdb" value="uniprot-proteome_UP000002311Condensed-first100entries.xml" ftype="uniprotxml"/>
292 <param name="fdr" value="1"/>
293 <param name="mvmi" value="1024"/>
294 <param name="precmt" value="Monoisotopic"/>
295 <param name="precmtu" value="Da"/>
296 <param name="precmtv" value="2.5"/>
297 <param name="fm" value="carbamidomethylation of C"/>
298 <param name="vm" value="oxidation of M"/>
299 <param name="adv_options_selector" value="set"/>
300 <param name="prodmtv" value=".01"/>
301 <output name="output_psms">
302 <assert_contents>
303 <has_text text="K.KTLKSDGVAGLYR.G" />
304 <not_has_text text="K.RSPSGNISTNSMR.P" />
305 </assert_contents>
306 </output>
307 </test>
308
309 </tests>
310 <help><![CDATA[
311 Morpheus_ is a database search algorithm for high-resolution tandem mass spectra.
312
313 When a Uniprot Proteome XML file is used for the search database, Morpheus will include all known modifications from the proteome in searching for peptide spectral matches. To fetch Uniprot Proteome XML files see: http://www.uniprot.org/help/retrieve_sets
314
315 **INPUTS**
316
317 - spectral data file in mzML format
318 - protein search database, either a fasta file or a uniprot proteome xml file
319
320 **OUTPUTS**
321
322 - summary.tsv
323 - input.log.txt
324 - input.PSMs.tsv
325 - input.unique_peptides.tsv
326 - input.protein_groups.tsv
327 - input.pep.xml
328
329 .. _Morpheus: http://morpheus-ms.sourceforge.net/
330
331 ]]></help>
332 <citations>
333 <citation type="doi">10.1021/pr301024c</citation>
334 </citations>
335 </tool>