From 51c48479499c456e09f72233fa58acedba49ac90 Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Wed, 22 Jun 2022 13:57:20 +0200 Subject: [PATCH] ui: Move custom css to toplevel div --- R/ui.R | 272 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 139 insertions(+), 133 deletions(-) diff --git a/R/ui.R b/R/ui.R index 2d1e671..9040149 100644 --- a/R/ui.R +++ b/R/ui.R @@ -1,145 +1,151 @@ #' Function for creating the main user interface. #' @noRd ui <- function() { - navbarPage( - theme = bslib::bs_theme( - version = 5, - bootswatch = "united", - primary = "#7d19bf" - ), - title = "Ubigen", - header = custom_css(), - tabPanel( - "Explore", - sidebarLayout( - sidebarPanel( - width = 3, - h3("My genes"), - gene_selector_ui("custom_genes"), - h3("Scoring"), - selectInput( - "cross_sample_metric", - verticalLayout( - strong("Expression across samples"), - paste0( - "Proportion samples in which the gene is expressed above the ", - "selected threshold. Select a method and a weight for the ", - "final score." - ) - ), - list( - "Above 95th percentile" = "above_95", - "Above median" = "above_median", - "Above zero" = "above_zero" - ) - ), - sliderInput( - "cross_sample_weight", - label = NULL, - min = -1.0, - max = 1.0, - step = 0.01, - value = 0.5 - ), - sliderInput( - "mean_expression", - verticalLayout( - strong("Mean Expression"), - "Mean expression of the gene across all samples." - ), - min = -1.0, - max = 1.0, - step = 0.01, - value = 0.25 - ), - sliderInput( - "sd_expression", - verticalLayout( - strong("Standard deviation"), - "Standard deviation of the gene's expression across all samples." - ), - min = -1.0, - max = 1.0, - step = 0.01, - value = -0.25 - ) - ), - mainPanel( - width = 9, - plotly::plotlyOutput("overview_plot", height = "200px"), - tabsetPanel( - id = "results_panel", - selected = "top_genes", - header = div(class = "p-2"), - tabPanel( - "Your genes", - value = "custom_genes", - htmlOutput("custom_genes_synopsis"), - plotly::plotlyOutput("custom_genes_boxplot"), - div(class = "p-1"), - DT::dataTableOutput("custom_genes_details") - ), - tabPanel( - "Top genes", - value = "top_genes", - div(paste0( - "Hover over the markers to see details on each gene. Click or ", - "drag within the figure to select genes of interest." - )), - plotly::plotlyOutput("scores_plot"), - div(paste0( - "Click on gene names to view them using the GTEx website. ", - "There, you can see the tissue specific expression behavior ", - "derived from the samples that this analysis is also based on." - )), - div(class = "p-1"), - DT::dataTableOutput("selected_genes") - ), - tabPanel( - "GSEA", - value = "gsea", - div( - class = "flow-layout", - selectInput( - "gsea_set", - label = NULL, - list( - "Top genes" = "top", - "Selected genes" = "selected", - "Your genes" = "custom" - ) - ), - conditionalPanel( - "input.gsea_set == 'top'", - sliderInput( - "gsea_ranks", - label = NULL, - min = 10, - max = 1000, - value = 100, - step = 10, - ticks = FALSE - ) - ), - actionButton( - "gsea_run", - "Update analysis", - class = "btn-primary" + div( + custom_css(), + navbarPage( + theme = bslib::bs_theme( + version = 5, + bootswatch = "united", + primary = "#7d19bf" + ), + title = "Ubigen", + tabPanel( + "Explore", + sidebarLayout( + sidebarPanel( + width = 3, + h3("My genes"), + gene_selector_ui("custom_genes"), + h3("Scoring"), + selectInput( + "cross_sample_metric", + verticalLayout( + strong("Expression across samples"), + paste0( + "Proportion samples in which the gene is expressed above ", + "the selected threshold. Select a method and a weight for ", + "the final score." ) ), - plotly::plotlyOutput("gsea_plot"), - div(class = "p-2"), - DT::dataTableOutput("gsea_details") + list( + "Above 95th percentile" = "above_95", + "Above median" = "above_median", + "Above zero" = "above_zero" + ) + ), + sliderInput( + "cross_sample_weight", + label = NULL, + min = -1.0, + max = 1.0, + step = 0.01, + value = 0.5 + ), + sliderInput( + "mean_expression", + verticalLayout( + strong("Mean Expression"), + "Mean expression of the gene across all samples." + ), + min = -1.0, + max = 1.0, + step = 0.01, + value = 0.25 + ), + sliderInput( + "sd_expression", + verticalLayout( + strong("Standard deviation"), + paste0( + "Standard deviation of the gene's expression across all ", + "samples." + ) + ), + min = -1.0, + max = 1.0, + step = 0.01, + value = -0.25 + ) + ), + mainPanel( + width = 9, + plotly::plotlyOutput("overview_plot", height = "200px"), + tabsetPanel( + id = "results_panel", + selected = "top_genes", + header = div(class = "p-2"), + tabPanel( + "Your genes", + value = "custom_genes", + htmlOutput("custom_genes_synopsis"), + plotly::plotlyOutput("custom_genes_boxplot"), + div(class = "p-1"), + DT::dataTableOutput("custom_genes_details") + ), + tabPanel( + "Top genes", + value = "top_genes", + div(paste0( + "Hover over the markers to see details on each gene. Click ", + "or drag within the figure to select genes of interest." + )), + plotly::plotlyOutput("scores_plot"), + div(paste0( + "Click on gene names to view them using the GTEx website. ", + "There, you can see the tissue specific expression behavior ", + "derived from the samples that this analysis is also based ", + "on." + )), + div(class = "p-1"), + DT::dataTableOutput("selected_genes") + ), + tabPanel( + "GSEA", + value = "gsea", + div( + class = "flow-layout", + selectInput( + "gsea_set", + label = NULL, + list( + "Top genes" = "top", + "Selected genes" = "selected", + "Your genes" = "custom" + ) + ), + conditionalPanel( + "input.gsea_set == 'top'", + sliderInput( + "gsea_ranks", + label = NULL, + min = 10, + max = 1000, + value = 100, + step = 10, + ticks = FALSE + ) + ), + actionButton( + "gsea_run", + "Update analysis", + class = "btn-primary" + ) + ), + plotly::plotlyOutput("gsea_plot"), + div(class = "p-2"), + DT::dataTableOutput("gsea_details") + ) ) ) ) + ), + tabPanel( + title = "Help" + ), + tabPanel( + title = "Publication" ) - ), - tabPanel( - title = "Help" - ), - tabPanel( - title = "Publication" ) ) }