# This is the user-interface definition of a Shiny web application. # You can find out more about building applications with Shiny here: # # http://shiny.rstudio.com # library(shiny) library(shinyjs) #http://deanattali.com/shinyjs/ library(plotly) shinyUI(fluidPage( useShinyjs(), # Include shinyjs # Application title title = "Timecourse Inspector", sidebarLayout( sidebarPanel( #Selector for file upload fileInput( 'inFileLoadNuc', 'Select data file (e.g. tCoursesSelected.csv) and press "Load Data"', accept = c('text/csv', 'text/comma-separated-values,text/plain') ), actionButton("inButLoadNuc", "Load Data"), actionButton("butReset", "Reset file input"), actionButton('inDataGen1', 'Generate artificial dataset'), tags$hr(), checkboxInput('chBtrajRem', 'Upload IDs to remove'), helpPopup( title = 'Remove time series', content = help.text[1], placement = 'right', trigger = 'hover' ), uiOutput('uiFileLoadTrajRem'), uiOutput('uiButLoadTrajRem'), tags$hr(), checkboxInput('chBtrackUni', 'Track Label unique across entire dataset', FALSE), helpPopup( title = 'Create unique cell ID', content = help.text[2], placement = 'right', trigger = 'hover' ), uiOutput('varSelSite'), uiOutput('varSelTrackLabel'), tags$hr(), uiOutput('varSelGroup'), uiOutput('varSelTime'), uiOutput('varSelMeas1'), radioButtons( 'inSelMath', 'Math operation 1st and 2nd meas.:', c( 'None' = '', 'Divide' = " / ", 'Sum' = " + ", 'Multiply' = " * ", 'Subtract' = ' - ', '1 / X' = '1 / ' ) ), uiOutput('varSelMeas2'), tags$hr(), checkboxInput('chBtimeTrim', 'Trim x-axis', FALSE), uiOutput('uiSlTimeTrim'), tags$hr(), checkboxInput('chBnorm', 'Normalization', FALSE), uiOutput('uiChBnorm'), uiOutput('uiSlNorm'), uiOutput('uiChBnormRobust'), uiOutput('uiChBnormGroup'), tags$hr(), checkboxInput('chBoutliers', 'Remove outliers', FALSE), uiOutput('uiSlOutliers'), uiOutput("uiTxtOutliers"), downloadButton('downloadDataClean', 'Download mod\'d data') ), mainPanel(tabsetPanel( tabPanel( "Time courses", h4( "Plot time series" ), br(), checkboxInput('chBhighlightTraj', 'Highlight trajectories?', FALSE), uiOutput('varSelHighlight'), br(), modTrajPlotUI('modTrajPlot') ), tabPanel( "AUI", modAUCplotUI('tabAUC') ), tabPanel( "Box-plots", tabBoxPlotUI('tabBoxPlot') ), # scatter plot tabPanel( 'Scatter', tabScatterPlotUI('tabScatter') ), tabPanel( 'Hierarchical', clustHierUI('tabClHier') ), tabPanel( 'Hierarchical Sparse', clustHierSparUI('tabClHierSpar') ) )) ) ))