diff --git a/R/module-statmodel-server.R b/R/module-statmodel-server.R index 5409a28..5b06cee 100644 --- a/R/module-statmodel-server.R +++ b/R/module-statmodel-server.R @@ -447,14 +447,7 @@ statmodelServer = function(id, parent_session, loadpage_input, qc_input, req(input[[NAMESPACE_STATMODEL$visualization_view_results]]) ns = session$ns - if (loadpage_input()$BIO == "PTM") { - output_plot = renderPlot({ - create_group_comparison_plot( - input, loadpage_input(), data_comparison() - ) - }) - - } else if (input[[NAMESPACE_STATMODEL$visualization_plot_type]] == + if (input[[NAMESPACE_STATMODEL$visualization_plot_type]] == CONSTANTS_STATMODEL$plot_type_response_curve) { if (app_template() == TEMPLATES$protein_turnover) { req(turnover_ratios()) diff --git a/R/statmodel-server-visualization.R b/R/statmodel-server-visualization.R index 4d4a017..618efb3 100644 --- a/R/statmodel-server-visualization.R +++ b/R/statmodel-server-visualization.R @@ -83,7 +83,7 @@ create_group_comparison_plot = function(input, loadpage_input, data_comparison) stop('** Cannot generate multiple plots in a screen. Please refine selection or save to a pdf. **') } if (loadpage_input$BIO == "PTM") { - plot_result = groupComparisonPlotsPTM( + result = groupComparisonPlotsPTM( data_comparison, input[[NAMESPACE_STATMODEL$visualization_plot_type]], sig = input[[NAMESPACE_STATMODEL$visualization_volcano_significance_cutoff]], @@ -91,8 +91,13 @@ create_group_comparison_plot = function(input, loadpage_input, data_comparison) logBase.pvalue = as.integer(input[[NAMESPACE_STATMODEL$visualization_logp_base]]), ProteinName = TRUE, which.Comparison = input[[NAMESPACE_STATMODEL$visualization_which_comparison]], - address = FALSE + address = FALSE, + isPlotly = TRUE ) + # groupComparisonPlotsPTM returns `result` as a list where element 3 is + # the adjusted-peptide plot and element 1 is the unadjusted fallback; + # prefer the adjusted plot (result[[3]]) when available. + plot_result = if (length(result) >= 3) result[[3]] else result[[1]] } else if (loadpage_input$DDA_DIA == "TMT") { plot_result = groupComparisonPlots( data = data_comparison$ComparisonResult, @@ -131,6 +136,7 @@ create_group_comparison_plot = function(input, loadpage_input, data_comparison) }, error = function(e) { remove_modal_spinner() showNotification(conditionMessage(e), type = "error", duration = 8) + NULL }) } #' Get filename for plot download based on plot type