comparison msstatstmt.xml @ 4:8375a0035d79 draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/msstatstmt commit 0ed9b6032443be289192cb096c4a5694fccd3639"
author galaxyp
date Mon, 26 Jul 2021 20:21:27 +0000
parents 5667ff6f7a40
children a5e394b36d87
comparison
equal deleted inserted replaced
3:5667ff6f7a40 4:8375a0035d79
1 <tool id="msstatstmt" name="MSstatsTMT" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@"> 1 <tool id="msstatstmt" name="MSstatsTMT" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@">
2 <description>protein significance analysis in shotgun mass spectrometry-based proteomic experiments with tandem mass tag (TMT) labeling</description> 2 <description>protein significance analysis in shotgun mass spectrometry-based proteomic experiments with tandem mass tag (TMT) labeling</description>
3 <macros> 3 <macros>
4 <token name="@TOOL_VERSION@">1.8.2</token> 4 <token name="@TOOL_VERSION@">2.0.0</token>
5 <token name="@GALAXY_VERSION@">1</token> 5 <token name="@GALAXY_VERSION@">0</token>
6 <xml name="input_options_shared"> 6 <xml name="input_options_shared">
7 <param name="useUniquePeptide" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="true" label="Use unique peptide" help="Yes (default) removes peptides that are assigned for more than one protein. We assume to use unique peptide for each protein." /> 7 <param name="useUniquePeptide" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="true" label="Use unique peptide" help="Yes (default) removes peptides that are assigned for more than one protein. We assume to use unique peptide for each protein." />
8 <param name="rmPSM_withMissing_withinRun" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="false" label="Remove PSM with missing value within run" help="Yes will remove PSM with any missing value within each run. Default is No." /> 8 <param name="rmPSM_withMissing_withinRun" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="false" label="Remove PSM with missing value within run" help="Yes will remove PSM with any missing value within each run. Default is No." />
9 <param name="rmPSM_withfewMea_withinRun" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="true" label="Remove PSM with few measurements within run" help="Only for 'Remove PSM with missing value within run = No'. Yes (default) will remove the features that have 1 or 2 measurements within each run." /> 9 <param name="rmPSM_withfewMea_withinRun" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="true" label="Remove PSM with few measurements within run" help="Only for 'Remove PSM with missing value within run = No'. Yes (default) will remove the features that have 1 or 2 measurements within each run." />
10 <param name="rmProtein_with1Feature" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="false" label="Remove proteins with one feature" help="Yes will remove the proteins which have only 1 peptide and charge. Default is No." /> 10 <param name="rmProtein_with1Feature" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="false" label="Remove proteins with one feature" help="Yes will remove the proteins which have only 1 peptide and charge. Default is No." />
14 <requirement type="package" version="@TOOL_VERSION@">bioconductor-msstatstmt</requirement> 14 <requirement type="package" version="@TOOL_VERSION@">bioconductor-msstatstmt</requirement>
15 </requirements> 15 </requirements>
16 <command detect_errors="exit_code"><![CDATA[ 16 <command detect_errors="exit_code"><![CDATA[
17 cat '$msstatstmt_script' > '$out_r_script' && 17 cat '$msstatstmt_script' > '$out_r_script' &&
18 Rscript '$msstatstmt_script' 18 Rscript '$msstatstmt_script'
19 && cat msstats*.log > '$out_msstats_log' 19
20 && cat msstatstmt.log > '$out_msstatstmt_log' 20 && cat MSstatsTMT_summarization_log*.log > '$out_msstatstmt_sum_log'
21 && cat MSstatsTMT_summarization_MSstats*.log > '$out_msstatstmt_sum_ms'
22
23 #if $input.input_src != 'MSstatsTMT':
24 && cat MSstatsTMT_converter_log*.log > '$out_msstatstmt_conv_log'
25 #else:
26 && echo "MSstatsTMT input. No conversion needed." > '$out_msstatstmt_conv_log'
27 #end if
28
29 #if $group.group_comparison == 'true':
30 && cat MSstatsTMT_log_groupComparison*.log > '$out_msstatstmt_group_log'
31 && cat MSstats_log*.log > '$out_msstats_gc_log'
32 #else:
33 && echo "No groupComparison was performed." > '$out_msstatstmt_group_log'
34 && echo "No groupComparison was performed." > '$out_msstats_gc_log'
35 #end if
36
21 ]]></command> 37 ]]></command>
22 <configfiles> 38 <configfiles>
23 <configfile name="msstatstmt_script"><![CDATA[ 39 <configfile name="msstatstmt_script"><![CDATA[
24 library(MSstatsTMT, warn.conflicts = F, quietly = T, verbose = F) 40 library(MSstatsTMT, warn.conflicts = F, quietly = T, verbose = F)
25 library(MSstats) 41 library(MSstats)
82 maxQuantileforCensored = $proteinSummarization.maxQuantileforCensored) 98 maxQuantileforCensored = $proteinSummarization.maxQuantileforCensored)
83 #end if 99 #end if
84 100
85 #for $plot_type in $selected_outputs 101 #for $plot_type in $selected_outputs
86 #if $plot_type[-4:] == "Plot" 102 #if $plot_type[-4:] == "Plot"
87 dataProcessPlotsTMT(input, 103 dataProcessPlotsTMT(quant,
88 quant,
89 type = '$plot_type', 104 type = '$plot_type',
90 ylimUp = $out_plots_opt.adv.ylimUp, 105 ylimUp = $out_plots_opt.adv.ylimUp,
91 ylimDown = $out_plots_opt.adv.ylimDown, 106 ylimDown = $out_plots_opt.adv.ylimDown,
92 x.axis.size = $out_plots_opt.adv.x_axis_size, 107 x.axis.size = $out_plots_opt.adv.x_axis_size,
93 y.axis.size = $out_plots_opt.adv.y_axis_size, 108 y.axis.size = $out_plots_opt.adv.y_axis_size,
108 which.Protein = unlist(read.table("$out_plots_opt.which_Protein.protein_list", sep = "\n", header = FALSE), use.names = FALSE), 123 which.Protein = unlist(read.table("$out_plots_opt.which_Protein.protein_list", sep = "\n", header = FALSE), use.names = FALSE),
109 #end if 124 #end if
110 originalPlot = $out_plots_opt.adv.originalPlot, 125 originalPlot = $out_plots_opt.adv.originalPlot,
111 summaryPlot = $out_plots_opt.adv.summaryPlot) 126 summaryPlot = $out_plots_opt.adv.summaryPlot)
112 #elif $plot_type == "quant" 127 #elif $plot_type == "quant"
113 write.table(quant, 128 write.table(quant\$ProteinLevelData,
114 "Quant.tsv", 129 "Quant.tsv",
115 sep = "\t", 130 sep = "\t",
116 quote = F, 131 quote = F,
117 row.names = F, 132 row.names = F,
118 dec = ".") 133 dec = ".")
123 #if $group.use_comp_matrix.select == 'true' 138 #if $group.use_comp_matrix.select == 'true'
124 comp_matrix <- read.table("$group.use_comp_matrix.comparison_matrix", sep="\t", header=TRUE, check.names=FALSE) 139 comp_matrix <- read.table("$group.use_comp_matrix.comparison_matrix", sep="\t", header=TRUE, check.names=FALSE)
125 140
126 comparison <- comp_matrix[,-1] 141 comparison <- comp_matrix[,-1]
127 row.names(comparison) <- as.character(comp_matrix[,1]) 142 row.names(comparison) <- as.character(comp_matrix[,1])
128 comparison <- as.matrix(comparison[levels(quant\$Condition)]) 143 comparison <- as.matrix(comparison[levels(quant\$ProteinLevelData\$Condition)])
129 #end if 144 #end if
130 145
131 comparisons <- groupComparisonTMT(data = quant, 146 comparisons <- groupComparisonTMT(data = quant,
132 #if $group.use_comp_matrix.select == 'true' 147 #if $group.use_comp_matrix.select == 'true'
133 contrast.matrix = comparison, 148 contrast.matrix = comparison,
135 moderated = $group.moderated, 150 moderated = $group.moderated,
136 adj.method = "$group.adj_method", 151 adj.method = "$group.adj_method",
137 remove_norm_channel = $group.remove_norm_channel, 152 remove_norm_channel = $group.remove_norm_channel,
138 remove_empty_channel = $group.remove_empty_channel) 153 remove_empty_channel = $group.remove_empty_channel)
139 154
140 write.table(comparisons, 155 write.table(comparisons\$ComparisonResult,
141 "ComparisonResult.tsv", 156 "ComparisonResult.tsv",
142 sep = "\t", 157 sep = "\t",
143 quote = F, 158 quote = F,
144 row.names = F, 159 row.names = F,
145 dec = ".") 160 dec = ".")
146 161
147 #for $plot_type in $group.selected_group_outputs 162 #for $plot_type in $group.selected_group_outputs
148 #if $plot_type == "VolcanoPlot" or $plot_type == "Heatmap" or $plot_type == "ComparisonPlot" 163 #if $plot_type == "VolcanoPlot" or $plot_type == "Heatmap" or $plot_type == "ComparisonPlot"
149 groupComparisonPlots(data = comparisons, 164
165 ## Workaround for missing option "MSstatsLog" (getOption("MSstatsLog") returns NULL)
166 MSstatsConvert::MSstatsLogsSettings()
167 #############################################
168
169 groupComparisonPlots(data = comparisons\$ComparisonResult,
150 type = "$plot_type", 170 type = "$plot_type",
151 sig = $group.comparison_plots_opt.sig, 171 sig = $group.comparison_plots_opt.sig,
152 #if $group.comparison_plots_opt.FCcutoff: 172 #if $group.comparison_plots_opt.FCcutoff:
153 FCcutoff = $group.comparison_plots_opt.FCcutoff, 173 FCcutoff = $group.comparison_plots_opt.FCcutoff,
154 #end if 174 #end if
372 </conditional> 392 </conditional>
373 </section> 393 </section>
374 </when> 394 </when>
375 </conditional> 395 </conditional>
376 <param name="selected_outputs" type="select" multiple="true" optional="false" label="Select Outputs"> 396 <param name="selected_outputs" type="select" multiple="true" optional="false" label="Select Outputs">
377 <option value="msstats_log" selected="true">MSstats log</option> 397 <option value="msstatstmt_conv_log" selected="false">MSstatsTMT converter log</option>
378 <option value="msstatstmt_log" selected="true">MSstatsTMT log</option> 398 <option value="msstatstmt_sum_log" selected="true">MSstatsTMT summarization log</option>
399 <option value="msstatstmt_sum_ms" selected="true">MSstatsTMT summarization MSstats</option>
400 <option value="msstatstmt_group_log" selected="false">MSstatsTMT groupComparison log</option>
401 <option value="msstats_gc_log" selected="false">MSstats log (groupComparison)</option>
379 <option value="r_script" selected="false">MSstats Rscript</option> 402 <option value="r_script" selected="false">MSstats Rscript</option>
380 <option value="quant" selected="true">Protein abundance</option> 403 <option value="quant" selected="true">Protein abundance</option>
381 <option value="ProfilePlot" selected="false">Profile Plot</option> 404 <option value="ProfilePlot" selected="false">Profile Plot</option>
382 <option value="QCPlot" selected="false">QC Plot</option> 405 <option value="QCPlot" selected="false">QC Plot</option>
383 </param> 406 </param>
384 </inputs> 407 </inputs>
385 <outputs> 408 <outputs>
386 <data name="out_msstats_log" from_work_dir="msstats.log" format="txt" label="${tool.name} on ${on_string}: MSstats log"> 409 <data name="out_msstatstmt_conv_log" from_work_dir="MSstatsTMT_converter_log.log" format="txt" label="${tool.name} on ${on_string}: MSstatsTMT converter log">
387 <filter>'msstats_log' in selected_outputs</filter> 410 <filter>'msstatstmt_conv_log' in selected_outputs</filter>
388 </data> 411 </data>
389 <data name="out_msstatstmt_log" from_work_dir="msstatstmt.log" format="txt" label="${tool.name} on ${on_string}: MSstatsTMT log"> 412 <data name="out_msstatstmt_sum_log" from_work_dir="MSstatsTMT_summarization_log.log" format="txt" label="${tool.name} on ${on_string}: MSstatsTMT summarization log">
390 <filter>'msstatstmt_log' in selected_outputs</filter> 413 <filter>'msstatstmt_sum_log' in selected_outputs</filter>
414 </data>
415 <data name="out_msstatstmt_sum_ms" from_work_dir="MSstatsTMT_summarization_MSstats.log" format="txt" label="${tool.name} on ${on_string}: MSstatsTMT summarization MSstats">
416 <filter>'msstatstmt_sum_ms' in selected_outputs</filter>
417 </data>
418 <data name="out_msstatstmt_group_log" from_work_dir="MSstatsTMT_log_groupComparison.log" format="txt" label="${tool.name} on ${on_string}: MSstatsTMT groupComparison log">
419 <filter>'msstatstmt_group_log' in selected_outputs</filter>
420 </data>
421 <data name="out_msstats_gc_log" from_work_dir="MSstats_log.log" format="txt" label="${tool.name} on ${on_string}: MSstats log (groupComparison)">
422 <filter>'msstats_gc_log' in selected_outputs</filter>
391 </data> 423 </data>
392 <data name="out_r_script" format="txt" label="${tool.name} on ${on_string}: Rscript"> 424 <data name="out_r_script" format="txt" label="${tool.name} on ${on_string}: Rscript">
393 <filter>'r_script' in selected_outputs</filter> 425 <filter>'r_script' in selected_outputs</filter>
394 </data> 426 </data>
395 <data name="out_quant" from_work_dir="Quant.tsv" format="tabular" label="${tool.name} on ${on_string}: Protein abundance"> 427 <data name="out_quant" from_work_dir="Quant.tsv" format="tabular" label="${tool.name} on ${on_string}: Protein abundance">
413 <data name="out_group_comp_plot" from_work_dir="MSstats_group_ComparisonPlot.pdf" format="pdf" label="${tool.name} on ${on_string}: Group Comparison - Comparison Plot"> 445 <data name="out_group_comp_plot" from_work_dir="MSstats_group_ComparisonPlot.pdf" format="pdf" label="${tool.name} on ${on_string}: Group Comparison - Comparison Plot">
414 <filter>group['group_comparison'] == 'true' and 'ComparisonPlot' in group['selected_group_outputs']</filter> 446 <filter>group['group_comparison'] == 'true' and 'ComparisonPlot' in group['selected_group_outputs']</filter>
415 </data> 447 </data>
416 </outputs> 448 </outputs>
417 <tests> 449 <tests>
418 <test expect_num_outputs="5"> 450 <test expect_num_outputs="6">
419 <conditional name="input"> 451 <conditional name="input">
420 <param name="input_src" value="MSstatsTMT"/> 452 <param name="input_src" value="MSstatsTMT"/>
421 <param name="msstatstmt_input" ftype="tabular" value="input.msstatstmt.txt"/> 453 <param name="msstatstmt_input" ftype="tabular" value="input.msstatstmt.txt"/>
422 </conditional> 454 </conditional>
423 <param name="selected_outputs" value="msstats_log,msstatstmt_log,r_script,ProfilePlot,QCPlot"/> 455 <param name="selected_outputs" value="msstatstmt_conv_log,msstatstmt_sum_ms,msstatstmt_sum_log,r_script,ProfilePlot,QCPlot"/>
424 <output name="out_msstats_log"> 456 <output name="out_msstatstmt_sum_ms">
425 <assert_contents> 457 <assert_contents>
426 <has_text text="1 level of Isotope type labeling in this experiment" /> 458 <has_text text="MSstats - dataProcess function" />
427 </assert_contents> 459 </assert_contents>
428 </output> 460 </output>
429 <output name="out_msstatstmt_log"> 461 <output name="out_msstatstmt_sum_log">
430 <assert_contents> 462 <assert_contents>
431 <has_text text="MSstatsTMT - proteinSummarization function" /> 463 <has_text text="MSstatsTMT - proteinSummarization function" />
432 </assert_contents> 464 </assert_contents>
433 </output> 465 </output>
434 <output name="out_r_script"> 466 <output name="out_r_script">
435 <assert_contents> 467 <assert_contents>
436 <has_n_lines n="52" /> 468 <has_n_lines n="50" />
437 </assert_contents> 469 </assert_contents>
438 </output> 470 </output>
439 <output name="out_profile_plot" file="ProfilePlot.pdf" compare="sim_size"/> 471 <output name="out_profile_plot" file="ProfilePlot.pdf" compare="sim_size"/>
440 <output name="out_qc_plot" file="QCPlot.pdf" compare="sim_size"/> 472 <output name="out_qc_plot" file="QCPlot.pdf" compare="sim_size"/>
441 </test> 473 </test>
442 <test expect_num_outputs="4"> 474 <test expect_num_outputs="6">
443 <conditional name="input"> 475 <conditional name="input">
444 <param name="input_src" value="MaxQuant"/> 476 <param name="input_src" value="MaxQuant"/>
445 <param name="evidence" ftype="tabular" value="evidence.txt"/> 477 <param name="evidence" ftype="tabular" value="evidence.txt"/>
446 <param name="annotation" ftype="tabular" value="annotation.txt"/> 478 <param name="annotation" ftype="tabular" value="annotation.txt"/>
447 <param name="proteinGroups" ftype="tabular" value="proteinGroups.txt"/> 479 <param name="proteinGroups" ftype="tabular" value="proteinGroups.txt"/>
452 <param name="select" value="true"/> 484 <param name="select" value="true"/>
453 <param name="comparison_matrix" ftype="tabular" value="comparison_matrix.txt"/> 485 <param name="comparison_matrix" ftype="tabular" value="comparison_matrix.txt"/>
454 </conditional> 486 </conditional>
455 <param name="selected_group_outputs" value="comparison_result,VolcanoPlot,ComparisonPlot"/> 487 <param name="selected_group_outputs" value="comparison_result,VolcanoPlot,ComparisonPlot"/>
456 </conditional> 488 </conditional>
457 <param name="selected_outputs" value="ProfilePlot"/> 489 <param name="selected_outputs" value="ProfilePlot,msstatstmt_group_log,msstats_gc_log"/>
458 <conditional name="which_Protein"> 490 <conditional name="which_Protein">
459 <param name="select" value="list"/> 491 <param name="select" value="list"/>
460 <param name="protein_list" ftype="tabular" value="proteinIDs.txt"/> 492 <param name="protein_list" ftype="tabular" value="proteinIDs.txt"/>
461 </conditional> 493 </conditional>
462 <output name="out_group_comp"> 494 <output name="out_group_comp">
482 <param name="selected_group_outputs" value="comparison_result,Heatmap"/> 514 <param name="selected_group_outputs" value="comparison_result,Heatmap"/>
483 </conditional> 515 </conditional>
484 <param name="selected_outputs" value="r_script"/> 516 <param name="selected_outputs" value="r_script"/>
485 <output name="out_r_script"> 517 <output name="out_r_script">
486 <assert_contents> 518 <assert_contents>
487 <has_n_lines n="58" /> 519 <has_n_lines n="61" />
488 </assert_contents> 520 </assert_contents>
489 </output> 521 </output>
490 <output name="out_group_comp"> 522 <output name="out_group_comp">
491 <assert_contents> 523 <assert_contents>
492 <has_n_lines n="51" /> 524 <has_n_lines n="51" />
493 <has_n_columns n="8" /> 525 <has_n_columns n="8" />
494 <has_text text="Long_LF-Short_HF" /> 526 <has_text text="Long_LF vs Short_HF" />
495 <has_text text="sp|O35226|PSMD4_MOUSE" /> 527 <has_text text="sp|O35226|PSMD4_MOUSE" />
496 </assert_contents> 528 </assert_contents>
497 </output> 529 </output>
498 <output name="out_group_heatmap" file="MSstats_group_Heatmap.pdf" compare="sim_size"/> 530 <output name="out_group_heatmap" file="MSstats_group_Heatmap.pdf" compare="sim_size"/>
499 </test> 531 </test>
541 #> 2 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR 573 #> 2 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR
542 #> 3 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR 574 #> 3 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR
543 #> 4 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR 575 #> 4 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR
544 #> 5 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR 576 #> 5 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR
545 #> 6 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR 577 #> 6 sp|Q60854|SPB6_MOUSE .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR
546 #> PrecursorCharge PSM Mixture 578 #> Charge PSM Mixture
547 #> 1 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3 579 #> 1 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3
548 #> 2 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3 580 #> 2 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3
549 #> 3 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3 581 #> 3 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3
550 #> 4 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3 582 #> 4 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3
551 #> 5 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3 583 #> 5 3 .(TMT6plex)AFVEVNEEGTEAAAATAGMM(Oxidation)TVR_3 3