diff --git a/R/cytoscapeNetwork.R b/R/cytoscapeNetwork.R index cc3a3e8..cfdf293 100644 --- a/R/cytoscapeNetwork.R +++ b/R/cytoscapeNetwork.R @@ -106,6 +106,40 @@ cytoscapeNetwork <- function(nodes, # ── Shiny helpers ─────────────────────────────────────────────────────────── #' Shiny output binding for cytoscapeNetwork +#' +#' Creates a Shiny output binding for a Cytoscape network visualization, allowing +#' the network to be rendered within Shiny applications. +#' +#' @return A Shiny output binding for a Cytoscape network visualization. +#' +#' @examples +#' \dontrun{ +#' library(shiny) +#' +#' ui <- fluidPage( +#' cytoscapeNetworkOutput("cytoNetwork") +#' ) +#' +#' server <- function(input, output, session) { +#' output$cytoNetwork <- renderCytoscapeNetwork({ +#' nodes <- data.frame( +#' id = c("TP53", "MDM2", "CDKN1A"), +#' logFC = c(1.5, -0.8, 2.1), +#' stringsAsFactors = FALSE +#' ) +#' edges <- data.frame( +#' source = c("TP53", "MDM2"), +#' target = c("MDM2", "TP53"), +#' interaction = c("Activation", "Inhibition"), +#' stringsAsFactors = FALSE +#' ) +#' cytoscapeNetwork(nodes, edges) +#' }) +#' } +#' +#' shinyApp(ui, server) +#' } +#' #' @importFrom htmlwidgets shinyWidgetOutput #' @inheritParams htmlwidgets::shinyWidgetOutput #' @export diff --git a/man/cytoscapeNetworkOutput.Rd b/man/cytoscapeNetworkOutput.Rd index 39ec60f..be2fa1c 100644 --- a/man/cytoscapeNetworkOutput.Rd +++ b/man/cytoscapeNetworkOutput.Rd @@ -13,6 +13,39 @@ cytoscapeNetworkOutput(outputId, width = "100\%", height = "500px") \code{"400px"}, \code{"auto"}) or a number, which will be coerced to a string and have \code{"px"} appended.} } +\value{ +A Shiny output binding for a Cytoscape network visualization. +} \description{ -Shiny output binding for cytoscapeNetwork +Creates a Shiny output binding for a Cytoscape network visualization, allowing +the network to be rendered within Shiny applications. +} +\examples{ +\dontrun{ +library(shiny) + +ui <- fluidPage( + cytoscapeNetworkOutput("cytoNetwork") +) + +server <- function(input, output, session) { + output$cytoNetwork <- renderCytoscapeNetwork({ + nodes <- data.frame( + id = c("TP53", "MDM2", "CDKN1A"), + logFC = c(1.5, -0.8, 2.1), + stringsAsFactors = FALSE + ) + edges <- data.frame( + source = c("TP53", "MDM2"), + target = c("MDM2", "TP53"), + interaction = c("Activation", "Inhibition"), + stringsAsFactors = FALSE + ) + cytoscapeNetwork(nodes, edges) + }) +} + +shinyApp(ui, server) +} + }