NGLVieweR-shiny {NGLVieweR} | R Documentation |
Shiny bindings for NGLVieweR
Description
Output and render functions for using NGLVieweR within Shiny applications and interactive Rmd documents.
Usage
NGLVieweROutput(outputId, width = "100%", height = "400px")
renderNGLVieweR(expr, env = parent.frame(), quoted = FALSE)
NGLVieweR_proxy(id, session = shiny::getDefaultReactiveDomain())
Arguments
outputId |
output variable to read from |
width , height |
Must be a valid CSS unit (like |
expr |
An expression that generates a NGLVieweR. |
env |
The environment in which to evaluate |
quoted |
Is |
id |
single-element character vector indicating the output ID of the chart to modify (if invoked from a Shiny module, the namespace will be added automatically) |
session |
The Shiny session object to which the map belongs; usually the default value will suffice. |
Value
NGLVieweR
object that can be placed in the UI.
See Also
Examples
if (interactive()) {
library(shiny)
ui <- fluidPage(
titlePanel("Viewer with API inputs"),
sidebarLayout(
sidebarPanel(
textInput("selection", "Selection", "1-20"),
selectInput("type", "Type", c("ball+stick", "cartoon", "backbone")),
selectInput("color", "Color", c("orange", "grey", "white")),
actionButton("add", "Add"),
actionButton("remove", "Remove")
),
mainPanel(
NGLVieweROutput("structure")
)
)
)
server <- function(input, output) {
output$structure <- renderNGLVieweR({
NGLVieweR("7CID") %>%
addRepresentation("cartoon",
param = list(name = "cartoon", color = "residueindex")
) %>%
stageParameters(backgroundColor = input$backgroundColor) %>%
setQuality("high") %>%
setFocus(0) %>%
setSpin(TRUE)
})
observeEvent(input$add, {
NGLVieweR_proxy("structure") %>%
addSelection(isolate(input$type),
param =
list(
name = "sel1",
sele = isolate(input$selection),
color = isolate(input$color)
)
)
})
observeEvent(input$remove, {
NGLVieweR_proxy("structure") %>%
removeSelection("sel1")
})
}
shinyApp(ui, server)
}
[Package NGLVieweR version 1.3.1 Index]