tidycwl_shiny | R Documentation |
Output and renderer functions for using tidycwl within Shiny apps and interactive R Markdown documents.
cwl_output(outputId, width = "100%", height = "600px") render_cwl(expr, env = parent.frame(), quoted = FALSE)
outputId |
output variable to read from |
width, height |
Must be a valid CSS unit (like |
expr |
An expression that generates a CWL graph |
env |
The environment in which to evaluate |
quoted |
Is |
An output or render function that enables the use of the widget within Shiny apps.
if (interactive()) { library("shiny") library("tidycwl") cwl_folder <- system.file("cwl/sbg/workflow/", package = "tidycwl") file_all <- list.files(cwl_folder) cwl_name <- file_all[which(tools::file_ext(file_all) == "json")] ui <- fluidPage( selectInput("cwl_file", "Select a CWL file:", cwl_name), cwl_output("cwl_plot", height = "800px") ) server <- function(input, output, session) { output$cwl_plot <- render_cwl({ flow <- paste0(cwl_folder, input$cwl_file) %>% read_cwl_json() get_graph( flow %>% parse_inputs(), flow %>% parse_outputs(), flow %>% parse_steps() ) %>% visualize_graph() }) } shinyApp(ui, server) }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.