addSelection | R Documentation |
Add a new selection to a NGLVieweR object in Shinymode.
addSelection(NGLVieweR_proxy, type, param = list(), structureIndex = NULL)
NGLVieweR_proxy |
A NGLVieweR object. |
type |
Type of representation. Most common options are "cartoon", "ball+stick", "surface", "ribbon" and "label". |
param |
Options for the different types of representations. Most common
options are |
structureIndex |
(optional) The index of the specific structure to which the selection should be added (index 0 for the first). If not specified, the selection will be applied to all loaded structures. |
API call containing NGLVieweR
id
and list of message
parameters.
updateRepresentation()
Update an existing NGLVieweR representation.
NGLVieweR_example()
See example "addSelection".
Other selections:
removeSelection()
,
updateSelection()
## Not run:
NGLVieweR_proxy("7CID") %>%
addSelection("ball+stick", param = list(name="sel1",
sele="1-20",
colorValue="yellow",
colorScheme="element"
))
## End(Not run)
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", colorScheme = "residueindex")
)
})
observeEvent(input$add, {
NGLVieweR_proxy("structure") %>%
addSelection(isolate(input$type),
param =
list(
name = "sel1",
sele = isolate(input$selection),
colorValue = 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.