Я написал приложение Rshiny.Здесь пользователь вводит список генов, и приложение создает из него биологическую сеть.Пример ввода показан ниже.Код работает из shinyapp как R-скрипт.Ввод текста, а не числовой.
Исследовал подобные вопросы по SO здесь , но не очень полезен, мой вклад - текст.
Любая помощь очень ценится.
library(shiny)
library(shinydashboard)
library(STRINGdb)
sidebar <- dashboardSidebar(
sidebarMenu(
menuItem("Analysis", tabName = "analysis")
))
body <- dashboardBody(
tabItems(
# Text Area Input for gene list
tabItem(tabName = "analysis",
fluidRow(
box(
title = "Input gene list here", status = "warning", width
= 6, textAreaInput("title1","",value = "", width =
'100%',rows=5),
actionButton("submit", "Submit")
)
),
fluidRow(
box(
title = "Stirng DB network", status = "warning", width = 8, plotOutput("stringplot")
)
)
)))
# User interface --
ui <- dashboardPage(
dashboardHeader(title = "Analysis", titleWidth = 300),
sidebar,
body
)
# Server logic
server <- function(input, output) {
subset_dataset <- eventReactive(input$submit,
{data.frame(strsplit(input$title1,split='[\r\n]'),col.names='genes')})
output$stringplot <- renderPlot({
string_db <- STRINGdb$new()
mapped_genes <- string_db$map(subset_dataset,subset_dataset()$genes,removeUnmappedRows = TRUE)
hits_2<-mapped_genes$STRING_id
string_db$plot_network(hits_2)})
}
shinyApp(ui = ui, server = server)
Пример ввода:
BRAF
NF1
NRAS
ERBB3
FLT3
PIK3CA
PTEN
TP53
CTNNB1
APC
SMAD4
NCOR1