diff --git a/server.R b/server.R index f25877bdb969b4c95d17ef5991f6208577123a2d..247f138f32031bd3ebb5fc8a68a481807051c49e 100644 --- a/server.R +++ b/server.R @@ -343,36 +343,39 @@ shinyServer }) output$histFocusScript <- renderText({ - paste0( - scriptHead, - "# Plot filtered barplot\n", - "p <- plot_composition(physeq = data", - glue(", taxaRank1 = \"{input$focusRank}\""), - glue(", taxaSet1 = \"{input$focusTaxa}\""), + scriptArgs <- c( + "physeq = data", + glue("taxaRank1 = \"{input$focusRank}\""), + glue("taxaSet1 = \"{input$focusTaxa}\""), glue( - ", taxaRank2 = \"{rank_names(data16S())[which(rank_names(data16S()) == input$focusRank) + 1]}\"" + "taxaRank2 = \"{rank_names(data16S())[which(rank_names(data16S()) == input$focusRank) + 1]}\"" ), - glue(", numberOfTaxa = {input$focusNbTaxa}"), + 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)), - "", + "fill = \"{rank_names(data16S())[which(rank_names(data16S()) == input$focusRank) + 1]}\"" + ) + ) + if (!is.null(checkNull(input$focusX))) { + scriptArgs <- c(scriptArgs, glue("x = \"{input$focusX}\"")) + } + script <- c( + scriptHead, + "# Plot filtered barplot", + glue( + "p <- plot_composition({glue_collapse(scriptArgs, sep=', ')})" + ) + ) + if (!is.null(checkNull(input$focusGrid))) { + script <- c( + script, glue( "p <- p + facet_grid(\". ~ {input$focusGrid}\", scales = \"free_x\")" ) - ), - ### - # x = ifelse(is.null(checkNull(input$focusX)), "Sample", input$focusX) - ### - "\n", - "plot(p)" - ) + ) + } + script <- c(script, "", "plot(p)") + + return(glue_collapse(script, sep = "\n")) }) output$histFocus <- renderPlot({