From d462227a85025774ade5e8f67b1edff72d7f8e4a Mon Sep 17 00:00:00 2001 From: Cedric Midoux <cedric.midoux@inra.fr> Date: Tue, 11 Sep 2018 11:16:59 +0200 Subject: [PATCH] histFocusScript --- server.R | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++----- ui.R | 13 ++---------- 2 files changed, 60 insertions(+), 16 deletions(-) diff --git a/server.R b/server.R index cf4a028..21f8e84 100644 --- a/server.R +++ b/server.R @@ -28,7 +28,7 @@ shinyServer options = list( dom = "lBtip", pageLength = 10, - lengthMenu = list(c(10, 25, 50, 100, -1), list('10', '25', '50', '100', 'All')), + lengthMenu = list(c(10, 25, 50, 100,-1), list('10', '25', '50', '100', 'All')), buttons = list( 'colvis', list( @@ -293,7 +293,8 @@ shinyServer }) output$histFocusUIfocusTaxa <- renderUI({ - validate(need(data16S(), "")) + validate(need(data16S(), ""), + need(input$focusRank, "")) selectInput( "focusTaxa", label = "Selected taxa : ", @@ -330,9 +331,61 @@ shinyServer choices = c("..." = 0, sample_variables(data16S()))) }) - output$histoFocus <- renderPlot({ - validate(need(data16S(), - "Requires an abundance dataset")) + output$histFocusUI <- renderUI({ + validate(need(data16S(), "")) + box( + title = "Setting : ", + width = NULL, + status = "primary", + uiOutput("histFocusUIfocusRank"), + uiOutput("histFocusUIfocusTaxa"), + uiOutput("histFocusUIfocusNbTaxa"), + uiOutput("histFocusUIfocusGrid"), + uiOutput("histFocusUIfocusX"), + collapsedBox(verbatimTextOutput("histFocusScript"), title = "RCode") + ) + }) + + output$histFocusScript <- renderText({ + paste0( + scriptHead, + "# Plot filtered barplot\n", + "p <- plot_composition(physeq = data", + glue(", taxaRank1 = \"{input$focusRank}\""), + glue(", taxaSet1 = \"{input$focusTaxa}\""), + glue( + ", taxaRank2 = \"{rank_names(data16S())[which(rank_names(data16S()) == input$focusRank) + 1]}\"" + ), + glue(", numberOfTaxa = {input$focusNbTaxa}"), + glue( + ", fill = \"{rank_names(data16S())[which(rank_names(data16S()) == input$focusRank) + 1]}\"" + ), + ifelse(is.null(checkNull(input$focusX)), + "", + glue(", x = \"{input$focusX}\"")), + ")\n", + ifelse( + is.null(checkNull(input$focusGrid)), + "", + glue( + "p <- p + facet_grid(\". ~ {input$focusGrid}\", scales = \"free_x\")" + ) + ), + ### + # x = ifelse(is.null(checkNull(input$focusX)), "Sample", input$focusX) + ### + "\n", + "plot(p)" + ) + }) + + output$histFocus <- renderPlot({ + validate( + need(data16S(), + "Requires an abundance dataset"), + need(input$focusRank, ""), + need(input$focusTaxa, "") + ) p <- plot_composition( physeq = data16S(), taxaRank1 = input$focusRank, diff --git a/ui.R b/ui.R index cd24170..94de056 100644 --- a/ui.R +++ b/ui.R @@ -104,17 +104,8 @@ shinyUI(dashboardPage( uiOutput("histUI")), tabPanel( "Filtered barplot", - withLoader(plotOutput("histoFocus", height = 700)), - box( - title = "Paramètres", - width = NULL, - status = "primary", - uiOutput("histFocusUIfocusRank"), - uiOutput("histFocusUIfocusTaxa"), - uiOutput("histFocusUIfocusNbTaxa"), - uiOutput("histFocusUIfocusGrid"), - uiOutput("histFocusUIfocusX") - ) + withLoader(plotOutput("histFocus", height = 700)), + uiOutput("histFocusUI") ), tabPanel("Heatmap", withLoader(plotOutput("Heatmap", height = 700)), -- GitLab