Description Usage Arguments Value See Also Examples
Output and render functions for using NGLVieweR within Shiny applications and interactive Rmd documents.
1 2 3 4 5 | NGLVieweROutput(outputId, width = "100%", height = "400px")
renderNGLVieweR(expr, env = parent.frame(), quoted = FALSE)
NGLVieweR_proxy(id, session = shiny::getDefaultReactiveDomain())
|
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. |
NGLVieweR
object that can be placed in the UI.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | 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)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.