misantamaria's picture
conda & miniconda added. Vars removed
f17cc6c
raw
history blame
8.41 kB
#
# This is the user-interface definition of a Shiny web application. You can
# run the application by clicking 'Run App' above.
#
# Find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com/
#
shinyUI(fluidPage(
#theme = shinythemes::shinytheme("cerulean"),
# Application title
titlePanel("DeepVATS"),
# Load Shinyjs
shinyjs::useShinyjs(),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
fluidRow(
shiny::actionButton("load_dataset", label = "Load dataset", icon = icon("database")),
shiny::actionButton("load_embs", label = "Load embeddings", icon = icon("project-diagram"))
),
hr(),
selectizeInput("dataset", label = "Dataset", choices = NULL),
selectizeInput("encoder", label = "Encoder", choices = NULL),
#selectizeInput("embs_ar", label = "Select embeddings", choices = names(embs_l)),
br(),
sliderInput("wlen", "Select window size", min = 0, max = 0, value =0 , step = 1),
sliderInput("stride", "Select stride", min = 0, max = 0, value = 0, step = 1),
# sliderInput("points_emb", "Select range of points to plot in the projections",
# min = 0, max = 0, value = 0, step = 1, ticks = FALSE),
#uiOutput("points_prj_controls"),
#### TODO: Check. Added for debugging solar 4_secs
sliderInput("prj_n_neighbors", "Projections n_neighbors:", min = 1, max = 50, value = 15),
sliderInput("prj_min_dist", "Projections min_dist:", min = 0.0001, max = 1, value = 0.1),
#sliderInput("prj_random_state", "Projections random_state:", min = 0, max = 2^32-1, value = 1234),
sliderInput("prj_random_state", "Projections random_state:", min = 0, max = 2000, value = 1234),
################
radioButtons("cpu_flag", "Use: ", c("GPU", "CPU"), selected = "GPU", inline = T),
radioButtons("dr_method", "Projection method:", c("UMAP", "TSNE", "PCA"), selected="UMAP", inline=T),
br(),
radioButtons("clustering_options", label = "Select a clustering option", selected = "no_clusters",
choices = c("No clusters" = "no_clusters",
#"Show precomputed clusters" = "precomputed_clusters",
"Calculate and show clusters" = "calculate_clusters")),
# conditionalPanel(
# condition = "input.clustering_options == 'precomputed_clusters'",
# selectInput("clusters_labels_name", label = "Select a clusters_labels artifact", choices = NULL),
# tags$b("Selected 'clusters_labels' artifact description:"),
# textOutput("clusters_labels_ar_desc")
# ),
conditionalPanel(
condition = "input.clustering_options == 'calculate_clusters'",
selectInput("metric_hdbscan", label = "Metric", choices = DEFAULT_VALUES$metric_hdbscan),
sliderInput("min_cluster_size_hdbscan", label = "min_cluster_size_hdbscan",
value = DEFAULT_VALUES$min_cluster_size_hdbscan, min=0, max=200, step = 1),
sliderInput("min_samples_hdbscan", label = "min_samples_hdbscan",
value = DEFAULT_VALUES$min_samples_hdbscan, min=0, max=50, step = 1),
sliderInput("cluster_selection_epsilon_hdbscan", label = "cluster_selection_epsilon",
value = DEFAULT_VALUES$cluster_selection_epsilon_hdbscan, min=0, max=5, step = 0.01),
actionBttn(inputId = "calculate_clusters", label = "Calculate and show clusters", style = "bordered",
color = "primary", size = "sm", block = TRUE)
),
),
# Show a plot of the generated distribution
mainPanel(
tabsetPanel(
id = "tabs",
tabPanel(
"Projections",
fluidRow(
h3("Embedding projections"),
fluidRow(
column(1,
dropdownButton(
tags$b("Set height of the projections plot (px):"),
numericInput("embedding_plot_height", label = "Height",value =400),
hr(),
tags$b("Configure aestethics"),
sliderInput("path_line_size", label = "path_line_size",
value = DEFAULT_VALUES$path_line_size, min=0, max=5, step = 0.01),
sliderInput("path_alpha", label = "path_alpha",
value = DEFAULT_VALUES$path_alpha, min=0, max=1, step = 0.01),
sliderInput("point_alpha", label = "point_alpha",
value = DEFAULT_VALUES$point_alpha, min=0, max=1, step = 0.01),
sliderInput("point_size", label = "point_size",
value = DEFAULT_VALUES$point_size, min=0, max=10, step = 0.5),
checkboxInput("show_lines", "Show lines", value = TRUE),
actionButton('savePlot', 'Save embedding projections plot'),
actionBttn(inputId = "update_prj_graph",label = "Update aestethics",style = "simple",
color = "primary",icon = icon("bar-chart"),size = "xs", block = TRUE),
circle = FALSE, status = "primary",
icon = icon("gear"), width = "300px",size = "xs",
tooltip = tooltipOptions(title = "Configure the embedding appearance"),
inputId = "projections_config"
)
),
column(8,
prettyToggle(
inputId = "zoom_btn",
label_on = "Zoom out",
label_off = "Zoom in",
shape = "square",
outline = TRUE,
plain = TRUE,
inline = TRUE,
icon_on = icon("search-minus"),
icon_off = icon("search-plus"),
status_on = "danger",
status_off = "primary"
),
materialSwitch(
inputId = "plot_windows",
label = "Plot windows",
status = "info",
value = TRUE,
inline = TRUE
)
),
column(3)
),
fluidRow(
uiOutput("projections_plot_ui")
)
),
fluidRow(h3("Original data")),
fluidRow(
dropdownButton(
tags$b("Select/deselect variables"),
tags$div(style= 'height:200px; overflow-y: scroll',
checkboxGroupInput(inputId = "select_variables",
label=NULL, choices = NULL, selected = NULL)
),
actionBttn(inputId = "selectall",label = "Select/Deselect all",style = "simple",
color = "primary",icon = icon("check-double"),size = "xs", block = TRUE),
hr(),
prettySwitch(inputId = "dygraph_sel",label = "Show stacked graphs (Not available yet)",
status = "success",fill = TRUE),
circle = FALSE, status = "primary", size = "xs",
icon = icon("gear"), width = "300px",
tooltip = tooltipOptions(title = "Configure the TS appearance"),
inputId = "ts_config"
)
),
fluidRow(
column(12,
#sliderInput(
#"nrows", "Select initial data range:",
#min = 0, max = 10000,
#value = c(0,0),
#step = 1000000
#),
dygraphOutput("ts_plot_dygraph") %>% withSpinner(),
plotOutput("windows_plot"),
uiOutput("windows_text")
)
)
#verbatimTextOutput("projections_plot_interaction_info"),
#verbatimTextOutput("point")
),
tabPanel(
"Information",
fluidRow(
h3("Time series"),
dataTableOutput("ts_ar_info"),
h3("Configuration of the associated encoder"),
dataTableOutput("enc_info")
)
),
)
)
)
))