diff --git a/scMonitor/app.R b/scMonitor/app.R new file mode 100644 index 0000000..ecaebcf --- /dev/null +++ b/scMonitor/app.R @@ -0,0 +1,47 @@ +library(shiny) +library(Seurat) +library(shinyFiles) +library(ggplot2) + +# Define UI for application +ui <- fluidPage( + + # Application title + titlePanel("scMonitor"), + + sidebarLayout( + sidebarPanel( + shinyFilesButton("file", label="Select File", title="Select a Seurat Object", multiple=F) + ), + + mainPanel( + plotOutput("umapPlot") + ) + ) +) + +# Define server logic required to draw a histogram +server <- function(input, output) { + dades<-reactiveValues() + dades$seu<-NULL + + volumes <- c(Home = fs::path_home(), "R Installation" = R.home(), getVolumes()()) + shinyFileChoose(input, 'file', roots=volumes) + + observe({ + if (!is.integer(input$file)){ + print(parseFilePaths(volumes, input$file)) + dades$seu<-readRDS(parseFilePaths(volumes, input$file)$datapath) + } + }) + + output$umapPlot <- renderPlot({ + observeEvent(dades$seu, {}) + if (!is.null(dades$seu)){ + DimPlot(dades$seu)+theme(aspect.ratio=1) + } + }) +} + +# Run the application +shinyApp(ui = ui, server = server)