comparison moff.xml @ 4:7af419c90f5f draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/moFF commit e6392f9c9e5ff88b1711667305c59b15a751758c
author galaxyp
date Thu, 28 Mar 2019 05:25:24 -0400
parents 226287d75d96
children a96af68dafb2
comparison
equal deleted inserted replaced
3:226287d75d96 4:7af419c90f5f
1 <tool id="proteomics_moff" name="moFF" version="@VERSION@.2"> 1 <tool id="proteomics_moff" name="moFF" version="@VERSION@.0">
2 <description>extracts MS1 intensities from spectrum files</description> 2 <description>extracts MS1 intensities from spectrum files</description>
3 <macros> 3 <macros>
4 <token name="@VERSION@">1.2.1</token> 4 <token name="@VERSION@">2.0.2</token>
5 <!-- xml macros, used for shared Galaxy parameter inputs --> 5 <!-- xml macros, used for shared Galaxy parameter inputs -->
6 <xml name="ident_input_macro" token_allow_multiple="true" token_input_type="data"> 6 <xml name="ident_input_macro" token_allow_multiple="true" token_input_type="data">
7 <!-- this is exactly the same across all three, except for allowing multiple in MBR and all but not in moff --> 7 <!-- this is exactly the same across all three, except for allowing multiple in MBR and all but not in moff -->
8 <conditional name="ident_input"> 8 <conditional name="ident_input">
9 <param name="input_type_selector" type="select" label="Choose the format for the identification file:"> 9 <param name="input_type_selector" type="select" label="Choose the format for the identification file:">
46 data_ref="ident_input_file" 46 data_ref="ident_input_file"
47 label="Column with charge of ionized peptide"/> 47 label="Column with charge of ionized peptide"/>
48 </when> 48 </when>
49 </conditional> 49 </conditional>
50 </xml> 50 </xml>
51 <xml name="raw_input_macro" token_allow_multiple="true" token_input_type="data"> 51 <xml name="filt_matched_peptide">
52 <conditional name="msms_input"> 52 <conditional name="match_filter">
53 <param name="input_type_selector" type="select" label="Choose the format for the MS/MS file"> 53 <param name="filter_flags" type="select" label="Activate filtering of matched peptides">
54 <option value="raw">Thermo RAW file</option> 54 <option selected="True" value="nofilter">Do not activate</option>
55 <option value="mzml">mzML</option> 55 <option value="filter">Filter by flags to exclude or require</option>
56 </param> 56 </param>
57 <when value="raw"> 57 <when value="filter">
58 <param argument="--inputraw" type="@INPUT_TYPE@" multiple="@ALLOW_MULTIPLE@" format="raw" label="RAW file(s)"/> 58 <param argument="--sample_size" label="sample_size" type="float" value="0.20" help="percentage of MS2 peptide used to estimated the threshold. Default value: 0.20" />
59 </when> 59 <param argument="--quantile_thr_filtering" label="-quantile_thr_filtering" type="float" value="0.75" help="quantile value used to compute the filtering threshold for the matched peak"/>
60 <when value="mzml"> 60 <param argument="--ptm_file" type="data" format="tabular" label="ptm_file" optional= "True" help="load your ptm file in order to overwrite internal method"/>
61 <param argument="--inputraw" type="@INPUT_TYPE@" multiple="@ALLOW_MULTIPLE@" format="mzml" label="mzML file(s)"/> 61 </when>
62 </when> 62 <when value="nofilter"/>
63 </conditional> 63 </conditional>
64 </xml> 64 </xml>
65 <!-- tokens (code snippets used in <command>) --> 65 <!-- tokens (code snippets used in <command>) -->
66 <token name="@FORMAT@"><![CDATA[ 66 <token name="@FORMAT@"><![CDATA[
67 #if $task.task_selector != 'mbr' 67 #if $task.task_selector != 'mbr'
68 #if $task.msms_input.input_type_selector == "raw": 68 #if $task.msms_input.input_type_selector == "raw":
69 #set $format = '.raw' 69 #set $format = '.raw'
74 #set $format = '.tabular' 74 #set $format = '.tabular'
75 #end if 75 #end if
76 ]]></token> 76 ]]></token>
77 <token name="@IDENT_INPUT_ARG_MULTIPLE@"><![CDATA[ 77 <token name="@IDENT_INPUT_ARG_MULTIPLE@"><![CDATA[
78 ## this is where the ident input gets passed to moff/moff_all/moff_mbr 78 ## this is where the ident input gets passed to moff/moff_all/moff_mbr
79 --inputtsv 79 --tsv_list
80 #for $value in $task.ident_input.ident_input_file: 80 #for $value in $task.ident_input.ident_input_file:
81 './ident_inputs/$value.element_identifier$format' 81 './ident_inputs/$value.element_identifier$format'
82 #end for 82 #end for
83 ]]></token> 83 ]]></token>
84 <token name="@IDENT_INPUT_ARG_SINGLE@"><![CDATA[ 84 <token name="@IDENT_INPUT_ARG_SINGLE@"><![CDATA[
85 ## this is where the ident input gets passed to moff/moff_all/moff_mbr 85 ## this is where the ident input gets passed to moff/moff_all/moff_mbr
86 --inputtsv './ident_inputs/${task.ident_input.ident_input_file.element_identifier}$format' 86 --tsv_list './ident_inputs/${task.ident_input.ident_input_file.element_identifier}$format'
87 ]]></token> 87 ]]></token>
88 <token name="@WRANGLE_IDENT_INPUT_SINGLE@"><![CDATA[ 88 <token name="@WRANGLE_IDENT_INPUT_SINGLE@"><![CDATA[
89 mkdir ./ident_inputs && 89 mkdir ./ident_inputs &&
90 #if $task.ident_input.input_type_selector == "ps": 90 #if $task.ident_input.input_type_selector == "ps":
91 cp '$task.ident_input.ident_input_file' './ident_inputs/$task.ident_input.ident_input_file.element_identifier$format' && 91 cp '$task.ident_input.ident_input_file' './ident_inputs/$task.ident_input.ident_input_file.element_identifier$format' &&
120 mv './tempfile${i}_2.tab' './ident_inputs/${value.element_identifier}$format' && 120 mv './tempfile${i}_2.tab' './ident_inputs/${value.element_identifier}$format' &&
121 #end for 121 #end for
122 #end if 122 #end if
123 ]]></token> 123 ]]></token>
124 <token name="@RAW_INPUT_ARG_SINGLE@"><![CDATA[ 124 <token name="@RAW_INPUT_ARG_SINGLE@"><![CDATA[
125 --inputraw './raws/$task.msms_input.inputraw.element_identifier$format' 125 --raw_list './raws/$task.msms_input.raw_list.element_identifier$format'
126 ]]></token> 126 ]]></token>
127 <token name="@RAW_INPUT_ARG_MULTIPLE@"><![CDATA[ 127 <token name="@RAW_INPUT_ARG_MULTIPLE@"><![CDATA[
128 --inputraw 128 --raw_list
129 #for $value in $task.msms_input.inputraw: 129 #for $value in $task.msms_input.raw_list:
130 './raws/$value.element_identifier$format' 130 './raws/$value.element_identifier$format'
131 #end for 131 #end for
132 ]]></token> 132 ]]></token>
133 <token name="@WRANGLE_RAW_INPUT_SINGLE@"><![CDATA[ 133 <token name="@WRANGLE_RAW_INPUT_SINGLE@"><![CDATA[
134 mkdir ./raws && 134 mkdir ./raws &&
135 ## for files, need to softlink the name to the history item 135 ## for files, need to softlink the name to the history item
136 ln -s '$task.msms_input.inputraw' './raws/$task.msms_input.inputraw.element_identifier$format' && 136 ln -s '$task.msms_input.raw_list' './raws/$task.msms_input.raw_list.element_identifier$format' &&
137 ]]></token> 137 ]]></token>
138 <token name="@WRANGLE_RAW_INPUT_MULTIPLE@"><![CDATA[ 138 <token name="@WRANGLE_RAW_INPUT_MULTIPLE@"><![CDATA[
139 mkdir ./raws && 139 mkdir ./raws &&
140 ## for files, need to softlink the name to the history item 140 ## for files, need to softlink the name to the history item
141 #for $value in $task.msms_input.inputraw: 141 #for $value in $task.msms_input.raw_list:
142 ln -s '$value' './raws/$value.element_identifier$format' && 142 ln -s '$value' './raws/$value.element_identifier$format' &&
143 #end for 143 #end for
144 ]]></token> 144 ]]></token>
145 </macros> 145 </macros>
146 <requirements> 146 <requirements>
151 @FORMAT@ 151 @FORMAT@
152 mkdir ./out && 152 mkdir ./out &&
153 #if $task.task_selector == "moff": 153 #if $task.task_selector == "moff":
154 @WRANGLE_IDENT_INPUT_SINGLE@ 154 @WRANGLE_IDENT_INPUT_SINGLE@
155 @WRANGLE_RAW_INPUT_SINGLE@ 155 @WRANGLE_RAW_INPUT_SINGLE@
156 moff.py 156 moff_all.py
157 @IDENT_INPUT_ARG_SINGLE@ 157 @IDENT_INPUT_ARG_SINGLE@
158 @RAW_INPUT_ARG_SINGLE@ 158 @RAW_INPUT_ARG_SINGLE@
159 --tol $task.tol 159 --tol $task.tol
160 --rt_w $task.rt_w 160 --mbr $task.mbr
161 --rt_p $task.rt_p 161 --xic_length $task.xic_length
162 --output_folder ./out 162 --rt_peak_win $task.rt_peak_win
163 #if ($task.peptide_summary): 163 --rt_peak_win_match $task.rt_peak_win_match
164 --peptide_summary 1 164 --loc_out ./out
165 #end if 165 #if str( $task.match_filter.filter_flags ) == "filter":
166 && 166 --match_filter
167 #if $task.peptide_summary: 167 --sample_size $task.match_filter.sample_size
168 mv ./out/peptide_summary_intensity_moFF_run.tab '$output_peptide_summary' && 168 --quantile_thr_filtering $task.match_filter.quantile_thr_filtering
169 #end if 169 #if ($task.match_filter.ptm_file):
170 mv ./out/*moff_result.txt '$output_table' 170 --ptm_file '$task.match_filter.ptm_file'
171 && 171 #else:
172 mv ./out/*.log '$output_logs' 172 --ptm_file '$__tool_directory__/tool-data/ptm_setting_ps.json'
173 #end if
174 #end if
175 #if ($task.peptide_summary):
176 --peptide_summary
177 #end if
178 #if $task.peptide_summary:
179 && mv ./out/peptide_summary_intensity_moFF_run.tab '$output_peptide_summary'
180 #end if
181 &&
182 mv ./out/*moff_result.txt '$output_table'
183 &&
184 mv ./out/*.log '$output_logs'
173 #else if $task.task_selector == "mbr": 185 #else if $task.task_selector == "mbr":
174 @WRANGLE_IDENT_INPUT_MULTIPLE@ 186 @WRANGLE_IDENT_INPUT_MULTIPLE@
175 moff_mbr.py 187 moff_all.py
176 --inputF ./ident_inputs 188 @IDENT_INPUT_ARG_MULTIPLE@
177 --ext $task.ext 189 --mbr $task.mbr
190 --raw_list
178 && 191 &&
179 mv ./ident_inputs/mbr_output/* ./out 192 mv ./mbr_output/* ./out
180 #else: 193 #else:
181 ## moff_all (mbr followed by apex) 194 ## moff_all (mbr followed by apex)
182 @WRANGLE_IDENT_INPUT_MULTIPLE@ 195 @WRANGLE_IDENT_INPUT_SINGLE@
183 @WRANGLE_RAW_INPUT_MULTIPLE@ 196 @WRANGLE_RAW_INPUT_MULTIPLE@
184 moff_all.py 197 moff_all.py
185 @IDENT_INPUT_ARG_MULTIPLE@ 198 @IDENT_INPUT_ARG_SINGLE@
186 @RAW_INPUT_ARG_MULTIPLE@ 199 @RAW_INPUT_ARG_MULTIPLE@
187 --tol $task.tol 200 --tol $task.tol
188 --rt_w $task.rt_w 201 --mbr $task.mbr
189 --rt_p $task.rt_p 202 --xic_length $task.xic_length
190 --rt_p_match $task.rt_p_match 203 --rt_peak_win $task.rt_peak_win
191 --output_folder ./out 204 --rt_peak_win_match $task.rt_peak_win_match
192 #if $task.peptide_summary: 205 --loc_out ./out
193 --peptide_summary 1 206 #if ($task.peptide_summary):
207 --peptide_summary
194 #end if 208 #end if
195 && 209 #if str( $task.match_filter.filter_flags ) == "filter":
210 --match_filter
211 --sample_size $task.match_filter.sample_size
212 --quantile_thr_filtering $task.match_filter.quantile_thr_filtering
213 #if ($task.match_filter.ptm_file):
214 --ptm_file '$task.match_filter.ptm_file'
215 #else:
216 --ptm_file '$__tool_directory__/tool-data/ptm_setting_ps.json'
217 #end if
218 #end if
219
196 #if $task.peptide_summary: 220 #if $task.peptide_summary:
197 mv ./out/peptide_summary_intensity_moFF_run.tab '$output_peptide_summary' 221 && mv ./out/peptide_summary_intensity_moFF_run.tab '$output_peptide_summary'
198 #end if 222 #end if
199 #end if 223 #end if
200 ]]></command> 224 ]]></command>
201 <inputs> 225 <inputs>
202 <conditional name="task"> 226 <conditional name="task">
203 <param name="task_selector" type="select" label="Choose which module to run"> 227 <param name="task_selector" type="select" label="Choose which module to run">
204 <option value="moff">Apex intensity</option> 228 <option value="moff">Apex intensity</option>
205 <option value="mbr">Match between runs</option> 229 <option value="mbr">Match between runs</option>
206 <option value="all">All (match-between-runs followed by quantitation)</option> 230 <option value="all">All (match-between-runs followed by quantitation)</option>
207 </param> 231 </param>
208 <when value = "moff"> 232 <when value = "moff">
209 <expand macro="ident_input_macro" allow_multiple="false"/> 233 <expand macro="ident_input_macro" allow_multiple="false"/>
210 <expand macro="raw_input_macro" allow_multiple="false"/> 234 <conditional name="msms_input">
235 <param name="input_type_selector" type="select" label="Choose the format for the MS/MS file">
236 <option value="raw">Thermo RAW file</option>
237 <option value="mzml">mzML</option>
238 </param>
239 <when value="raw">
240 <param argument="--raw_list" type="data" multiple="false" format="thermo.raw" label="RAW file(s)"/>
241 </when>
242 <when value="mzml">
243 <param argument="--raw_list" type="data" multiple="false" format="mzml" label="mzML file(s)"/>
244 </when>
245 </conditional>
246
247
211 <param argument="--tol" type="float" value="10" label="Tolerance parameter" 248 <param argument="--tol" type="float" value="10" label="Tolerance parameter"
212 help="Specify the tolerance parameter in ppm." /> 249 help="Specify the tolerance parameter in ppm." />
213 <param argument="--rt_w" type="float" value="3.0" label="Retention time window" 250 <param argument="--mbr" type="text" value="off" label="moFF workflow"
251 help="select the moFF workflow" />
252 <param argument="--xic_length" type="float" value="3.0" label="retention time windows for XiC"
214 help="Specify rt window for xic in minutes." /> 253 help="Specify rt window for xic in minutes." />
215 <param argument="--rt_p" type="float" value="1" label="Time window for the peak" 254 <param argument="--rt_peak_win" type="float" value="1" label="retention time window for apex detection"
216 help="Specify the time windows for the peak in minutes." /> 255 help="Specify rt window for the peak in minutes." />
256 <param argument="--rt_peak_win_match" type="float" value="1.2" label="retention time window for the matched peak"
257 help="Specify the retention time window for the matched peak in minutes." />
258 <expand macro="filt_matched_peptide"/>
217 <param argument="--peptide_summary" type="boolean" value="true" label="Output the peptide summary?"/> 259 <param argument="--peptide_summary" type="boolean" value="true" label="Output the peptide summary?"/>
218 </when> 260 </when>
219 <when value="mbr"> 261 <when value="mbr">
220 <expand macro="ident_input_macro" allow_multiple="false" input_type="data_collection"/> 262 <expand macro="ident_input_macro" allow_multiple="false" input_type="data_collection"/>
221 <param argument="--ext" type="text" value="tab" label="Provide the extension used in the display file name (without the period)"/> 263 <param argument="--mbr" type="text" value="only" label="moFF workflow"
264 help="select the moFF workflow" />
222 </when> 265 </when>
223 <when value="all"> 266 <when value="all">
224 <expand macro="ident_input_macro" allow_multiple="false" input_type="data_collection"/> 267 <expand macro="ident_input_macro" allow_multiple="false" input_type="data"/>
225 <expand macro="raw_input_macro" allow_multiple="false" input_type="data_collection"/> 268 <conditional name="msms_input">
269 <param name="input_type_selector" type="select" label="Choose the format for the MS/MS file">
270 <option value="raw">Thermo RAW file</option>
271 <option value="mzml">mzML</option>
272 </param>
273 <when value="raw">
274 <param argument="--raw_list" type="data" multiple="true" min="2" format="thermo.raw" label="RAW file(s)"/>
275 </when>
276 <when value="mzml">
277 <param argument="--raw_list" type="data" multiple="true" min="2" format="mzml" label="mzML file(s)"/>
278 </when>
279 </conditional>
280
226 <param argument="--tol" type="float" value="10" label="Tolerance parameter" 281 <param argument="--tol" type="float" value="10" label="Tolerance parameter"
227 help="Specify the tolerance parameter in ppm." /> 282 help="Specify the tolerance parameter in ppm." />
228 <param argument="--rt_w" type="float" value="3.0" label="Retention time window" 283 <param argument="--mbr" type="text" value="on" label="moFF workflow"
284 help="select the moFF workflow" />
285 <param argument="--xic_length" type="float" value="3.0" label="retention time windows for XiC"
229 help="Specify rt window for xic in minutes." /> 286 help="Specify rt window for xic in minutes." />
230 <param argument="--rt_p" type="float" value="1" label="Time window for the peak" 287 <param argument="--rt_peak_win" type="float" value="1" label="retention time window for apex detection"
231 help="Specify the time windows for the peak in minutes." /> 288 help="Specify the retention time window for the peak in minutes." />
232 <param argument="--rt_p_match" type="float" value="1.2" label="Time window for the matched peak" 289 <param argument="--rt_peak_win_match" type="float" value="1.2" label="retention time window for the matched peak"
233 help="Specify the time windows for the matched peak in minutes." /> 290 help="Specify the retention time window for the matched peak in minutes." />
291 <expand macro="filt_matched_peptide"/>
234 <param argument="--peptide_summary" type="boolean" value="true" label="Output the peptide summary?"/> 292 <param argument="--peptide_summary" type="boolean" value="true" label="Output the peptide summary?"/>
235 </when> 293 </when>
236 </conditional> 294 </conditional>
237 </inputs> 295 </inputs>
238 <outputs> 296 <outputs>
239 <data format="tabular" name="output_table" label="${tool.name} on ${on_string}: quantification"> 297 <data format="tabular" name="output_table" label="${tool.name} on ${on_string}: quantification">
240 <filter>task['task_selector']=='moff'</filter> 298 <filter>task['task_selector']=='moff'</filter>
241 </data> 299 </data>
253 <collection name="log_output" type="list" label="${tool.name} on ${on_string}: logs"> 311 <collection name="log_output" type="list" label="${tool.name} on ${on_string}: logs">
254 <filter>task['task_selector']=='all' or task['task_selector']=='mbr'</filter> 312 <filter>task['task_selector']=='all' or task['task_selector']=='mbr'</filter>
255 <discover_datasets pattern="(?P&lt;designation&gt;.*)\.log" directory="out" format="txt"/> 313 <discover_datasets pattern="(?P&lt;designation&gt;.*)\.log" directory="out" format="txt"/>
256 </collection> 314 </collection>
257 <data format="tabular" name="output_peptide_summary" label="${tool.name} on ${on_string}: peptide summary"> 315 <data format="tabular" name="output_peptide_summary" label="${tool.name} on ${on_string}: peptide summary">
258 <filter>task['peptide_summary'] and (task['task_selector']=='all' or task['task_selector']=='moff')</filter> 316 <filter>(task['task_selector']=='all' or task['task_selector']=='moff') and task['peptide_summary'] </filter>
259 </data> 317 </data>
260 </outputs> 318 </outputs>
261 <tests> 319 <tests>
262 <!-- test moff_all -->
263 <test>
264 <param name="task|task_selector" value="all"/>
265 <param name="ident_input|input_type_selector" value="ps"/>
266 <param name="ident_input_file">
267 <collection type="list">
268 <element name="mbr_test1" value="input/mbr_test1.tabular"/>
269 <element name="mbr_test2" value="input/mbr_test2.tabular"/>
270 </collection>
271 </param>
272 <param name="msms_input|input_type_selector" value="mzml"/>
273 <param name="inputraw">
274 <collection type="list">
275 <element name="mbr_test1" value="input/mbr_test1.mzml"/>
276 <element name="mbr_test2" value="input/mbr_test2.mzml"/>
277 </collection>
278 </param>
279 <param name="peptide_summary" value="true"/>
280 <output name="output_peptide_summary" ftype="tabular">
281 <assert_contents>
282 <has_text text="sumIntensity_mbr_test1"/>
283 <has_text text="sumIntensity_mbr_test2"/>
284 </assert_contents>
285 </output>
286 <output_collection name="ident_output" type="list">
287 <element name="mbr_test1_match_moff_result">
288 <assert_contents>
289 <has_text text="NH2-QVEEAVQSDDK-COOH"/>
290 </assert_contents>
291 </element>
292 <element name="mbr_test2_match_moff_result">
293 <assert_contents>
294 <has_text text="NH2-RDVGINNTVK-COOH"/>
295 </assert_contents>
296 </element>
297 </output_collection>
298 <output_collection name="log_output" type="list">
299 <element name="mbr_test1_match__moff">
300 <assert_contents>
301 <has_line line="peptide at line 200 --> MZ: 783.4200 RT: 134.6997 matched (yes=1/no=0): 0"/>
302 </assert_contents>
303 </element>
304 <element name="mbr_test2_match__moff">
305 <assert_contents>
306 <has_line line="peptide at line 132 --> MZ: 767.8700 RT: 98.1975 matched (yes=1/no=0): 0"/>
307 </assert_contents>
308 </element>
309 </output_collection>
310 </test>
311 <!-- test moff alone -->
312 <test>
313 <param name="task|task_selector" value="moff"/>
314 <param name="ident_input|input_type_selector" value="ps"/>
315 <param name="ident_input_file" value="input/test.tabular" ftype="tabular"/>
316 <param name="msms_input|input_type_selector" value="mzml"/>
317 <param name="inputraw" value="input/test.mzml" ftype="mzml"/>
318 <param name="peptide_summary" value="true"/>
319 <output name="output_peptide_summary" ftype="tabular" file="output2/moff_test_pepsum.tab"/>
320 <output name="output_logs">
321 <assert_contents>
322 <has_line line="peptide at line 294 --> MZ: 677.3300 RT: 60.6078"/>
323 </assert_contents>
324 </output>
325 </test>
326 <!-- test the generic input -->
327 <test>
328 <param name="task|task_selector" value="moff"/>
329 <param name="ident_input|input_type_selector" value="generic"/>
330 <param name="ident_input_file" value="input/test.tabular" ftype="tabular"/>
331 <param name="remove_header" value="true"/>
332 <param name="msms_input|input_type_selector" value="mzml"/>
333 <param name="inputraw" value="input/test.mzml" ftype="mzml"/>
334 <param name="peptide" value="3"/>
335 <param name="prot" value="2"/>
336 <param name="mod_peptide" value="7"/>
337 <param name="rt" value="13"/>
338 <param name="mz" value="14"/>
339 <param name="mass" value="17"/>
340 <param name="charge" value="15"/>
341 <param name="peptide_summary" value="true"/>
342 <output name="output_peptide_summary" ftype="tabular" file="output2/moff_test_pepsum.tab"/>
343 <output name="output_logs">
344 <assert_contents>
345 <has_line line="peptide at line 294 --> MZ: 677.3300 RT: 60.6078"/>
346 </assert_contents>
347 </output>
348 </test>
349 <test>
350 <param name="task|task_selector" value="all"/>
351 <param name="ident_input|input_type_selector" value="generic"/>
352 <param name="ident_input_file">
353 <collection type="list">
354 <element name="mbr_test1" value="input/mbr_test1.tabular"/>
355 <element name="mbr_test2" value="input/mbr_test2.tabular"/>
356 </collection>
357 </param>
358 <param name="remove_header" value="true"/>
359 <param name="peptide" value="3"/>
360 <param name="prot" value="2"/>
361 <param name="mod_peptide" value="7"/>
362 <param name="rt" value="13"/>
363 <param name="mz" value="14"/>
364 <param name="mass" value="17"/>
365 <param name="charge" value="15"/>
366 <param name="msms_input|input_type_selector" value="mzml"/>
367 <param name="inputraw">
368 <collection type="list">
369 <element name="mbr_test1" value="input/mbr_test1.mzml"/>
370 <element name="mbr_test2" value="input/mbr_test2.mzml"/>
371 </collection>
372 </param>
373 <param name="peptide_summary" value="true"/>
374 <output name="output_peptide_summary" ftype="tabular">
375 <assert_contents>
376 <has_text text="sumIntensity_mbr_test1"/>
377 <has_text text="sumIntensity_mbr_test2"/>
378 </assert_contents>
379 </output>
380 <output_collection name="ident_output" type="list">
381 <element name="mbr_test1_match_moff_result">
382 <assert_contents>
383 <has_text text="NH2-QVEEAVQSDDK-COOH"/>
384 </assert_contents>
385 </element>
386 <element name="mbr_test2_match_moff_result">
387 <assert_contents>
388 <has_text text="NH2-RDVGINNTVK-COOH"/>
389 </assert_contents>
390 </element>
391 </output_collection>
392 <output_collection name="log_output" type="list">
393 <element name="mbr_test1_match__moff">
394 <assert_contents>
395 <has_line line="peptide at line 200 --> MZ: 783.4200 RT: 134.6997 matched (yes=1/no=0): 0"/>
396 </assert_contents>
397 </element>
398 <element name="mbr_test2_match__moff">
399 <assert_contents>
400 <has_line line="peptide at line 132 --> MZ: 767.8700 RT: 98.1975 matched (yes=1/no=0): 0"/>
401 </assert_contents>
402 </element>
403 </output_collection>
404 </test>
405 <!-- test mbr --> 320 <!-- test mbr -->
406 <test> 321 <test>
407 <param name="task|task_selector" value="mbr"/> 322 <param name="task|task_selector" value="mbr"/>
408 <param name="ident_input|input_type_selector" value="ps"/> 323 <param name="ident_input|input_type_selector" value="ps"/>
409 <param name="ident_input_file"> 324 <param name="ident_input_file">
415 <param name="ext" value="tabular"/> 330 <param name="ext" value="tabular"/>
416 <output_collection name="ident_output_mbr" type="list" count="2"> 331 <output_collection name="ident_output_mbr" type="list" count="2">
417 <element name="mbr_test1_match"> 332 <element name="mbr_test1_match">
418 <assert_contents> 333 <assert_contents>
419 <has_text text="NH2-QVEEAVQSDDK-COOH"/> 334 <has_text text="NH2-QVEEAVQSDDK-COOH"/>
420 </assert_contents>
421 </element>
422 <element name="mbr_test2_match">
423 <assert_contents>
424 <has_text text="NH2-RDVGINNTVK-COOH"/> 335 <has_text text="NH2-RDVGINNTVK-COOH"/>
425 </assert_contents> 336 </assert_contents>
426 </element> 337 </element>
427 </output_collection> 338 </output_collection>
428 </test> 339 </test>
429 </tests> 340 </tests>
430 <help> 341 <help>
431 <![CDATA[ 342 <![CDATA[
343
432 **Description** 344 **Description**
433 345
434 moFF (a Modest Feature Finder) is an OS independent tool designed to extract 346 moFF (a Modest Feature Finder) is an OS independent tool designed to extract
435 apex MS1 intensity using a set of identified MS2 peptides. 347 apex MS1 intensity using a set of identified MS2 peptides.
436 It currently uses a Go library to directly extract data from Thermo Raw spectrum files, 348 It currently uses a Go library to directly extract data from Thermo Raw spectrum files,
439 351
440 **Usage** 352 **Usage**
441 353
442 *Modules:* 354 *Modules:*
443 355
444 1. Apex Intensity: this is used for a single pair of files, one identification and one spectrum file. 356 1. Apex Intensity: this is used for a single pair of files, one identification and one spectrum file.
445 2. Match between runs (MBR): for multiple identification files, share MS2 identified peptides between runs and predict the retention time. 357 2. Match between runs (MBR): for multiple identification files, share MS2 identified peptides between runs and predict the retention time.
446 3. All (match between runs followed by apex intensity): this is used for more than one pair of identification and spectrum files. 358 3. All (match between runs followed by apex intensity): this is used for more than one pair of identification and spectrum files.
447 359
448 If both match between runs and apex intensity are desired, it is best to run them both at once (i.e., run the 'All' module). 360 If both match between runs and apex intensity are desired, it is best to run them both at once (i.e., run the 'All' module).
449 The MBR module is mainly useful for observing the intermediate steps of the algorithm - its outputs are not able to be used as inputs in moFF or in other tools. 361 The MBR module is mainly useful for observing the intermediate steps of the algorithm - its outputs are not able to be used as inputs in moFF or in other tools.
450 362 If quantification of multiple files without MBR is desired, the apex intensity module may be run with multiple files or a dataset collection in batch mode.
451 If quantification of multiple files without MBR is desired, the apex intensity module may be run with multiple files or a dataset collection in batch mode. 363 In either case, moFF must be given the paired files at the same time - thus the best method is to construct a dataset collection in which the raw and identification files are in the same order.
452 In either case, moFF must be given the paired files at the same time - thus the best method is to construct a dataset collection in which the raw and identification files are in the same order.
453
454 364
455 *Inputs:* 365 *Inputs:*
456 366
457 - Identification file: this can either be a generic tabular file or the standard PSM report from PeptideShaker. 367 - Identification file: this can either be a generic tabular file or the standard PSM report from PeptideShaker.
458 If it is a generic tabular file, please select the columns corresponding to the required information. 368 If it is a generic tabular file, please select the columns corresponding to the required information.
459
460 - MS/MS file: this can either be a Thermo raw file or an mzML file. 369 - MS/MS file: this can either be a Thermo raw file or an mzML file.
461 370
462 A given pair of files must have the *exact* same display name, not including the extension; 371 A given pair of files must have the *exact* same display name, not including the extension;
463 e.g. ``example1.tabular`` and ``example1.mzml``. 372 e.g. ``example1.tabular`` and ``example1.mzml``.
464 If the display names are different, simply change them in the history menu. 373 If the display names are different, simply change them in the history menu.
465
466 For multiple files (the MBR or All modules), the identification and spectrum files must be provided as dataset collections. 374 For multiple files (the MBR or All modules), the identification and spectrum files must be provided as dataset collections.
467 This allows for usage of the output dataset collections in workflows. 375 This allows for usage of the output dataset collections in workflows.
468 376
469 *Parameters:* 377 *Parameters:*
470 378
471 All the parameters related to the the time windows (``rt_w``, ``rt_p``, ``rt_p_match``) are basically the 379 All the parameters related to the the time windows (``rt_w``, ``rt_p``, ``rt_p_match``) are basically the
472 half of the entire time windows where the apex peak is searched or the XIC is retrieved. 380 half of the entire time windows where the apex peak is searched or the XIC is retrieved.
473 For correct rt windows, we suggest you set the ``rt_p`` value equal to or slighly greater than the 381 For correct rt windows, we suggest you set the ``rt_p`` value equal to or slighly greater than the
474 dynamic exclusion duration set in your machine. We suggest also to set the 382 dynamic exclusion duration set in your machine. We suggest also to set the
475 ``rt_p_match`` always slightly bigger than tha values used for ``rt_p``. 383 ``rt_p_match`` always slightly bigger than tha values used for ``rt_p``.
476
477 *Outputs:* 384 *Outputs:*
478
479 When used in the single file mode ("Apex intensity" module), the outputs are 2 (or 3) files: a log file, a quantitation file, 385 When used in the single file mode ("Apex intensity" module), the outputs are 2 (or 3) files: a log file, a quantitation file,
480 and (optionally) a peptide summary, with intensities aggregated across peptides. When used in the multiple file mode ("All"), 386 and (optionally) a peptide summary, with intensities aggregated across peptides. When used in the multiple file mode ("All"),
481 the outputs are a dataset collection of log files (one per identification file), a dataset collection of quantification files, and (optionally) a peptide summary. 387 the outputs are a dataset collection of log files (one per identification file), a dataset collection of quantification files, and (optionally) a peptide summary.
482
483 If used with a generic tabular format, the only columns in the output file are the 7 columns selected while using moFF plus the columns that moFF adds. Other columns are discarded. 388 If used with a generic tabular format, the only columns in the output file are the 7 columns selected while using moFF plus the columns that moFF adds. Other columns are discarded.
484 389
485 **More Information** 390 **More Information**
486 391
487 See the moFF Github site at https://github.com/compomics/moFF, 392 See the moFF Github site at https://github.com/compomics/moFF,
488 and the publication at https://dx.doi.org/10.1038/nmeth.4075 393 and the publication at https://dx.doi.org/10.1038/nmeth.4075
489
490 ]]> 394 ]]>
491 </help> 395 </help>
492 <citations> 396 <citations>
493 <citation type="doi">10.1038/nmeth.4075</citation> 397 <citation type="doi">10.1038/nmeth.4075</citation>
494 </citations> 398 </citations>