mirror of
https://github.com/johrpan/geposanui.git
synced 2025-10-26 11:17:24 +01:00
Add preset editor
This commit is contained in:
parent
365cf13dcb
commit
ca1d0e442a
4 changed files with 102 additions and 28 deletions
92
R/preset_editor.R
Normal file
92
R/preset_editor.R
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
# Create a preset editor.
|
||||
preset_editor_ui <- function(id) {
|
||||
species_choices <- species$id
|
||||
names(species_choices) <- species$name
|
||||
|
||||
species_selected <- species_ids_replicative
|
||||
|
||||
known_genes <- genes[name != ""]
|
||||
gene_choices <- known_genes$id
|
||||
names(gene_choices) <- known_genes$name
|
||||
|
||||
genes_selected <- genes[suggested | verified == TRUE, id]
|
||||
|
||||
verticalLayout(
|
||||
h3("Preset"),
|
||||
selectInput(
|
||||
NS(id, "preset"),
|
||||
"Default presets",
|
||||
choices = list(
|
||||
"Replicatively aging species" = "replicative",
|
||||
"All species" = "all",
|
||||
"Customize" = "custom"
|
||||
)
|
||||
),
|
||||
conditionalPanel(
|
||||
sprintf("input['%s'] == 'custom'", NS(id, "preset")),
|
||||
shinyWidgets::pickerInput(
|
||||
inputId = NS(id, "species"),
|
||||
label = "Included species",
|
||||
choices = species_choices,
|
||||
selected = species_selected,
|
||||
options = list(
|
||||
"actions-box" = TRUE,
|
||||
"live-search" = TRUE
|
||||
),
|
||||
multiple = TRUE
|
||||
),
|
||||
shinyWidgets::pickerInput(
|
||||
inputId = NS(id, "reference_genes"),
|
||||
label = "Reference genes",
|
||||
choices = gene_choices,
|
||||
selected = genes_selected,
|
||||
options = list(
|
||||
"actions-box" = TRUE,
|
||||
"live-search" = TRUE
|
||||
),
|
||||
multiple = TRUE
|
||||
),
|
||||
actionButton(
|
||||
NS(id, "apply_button"),
|
||||
"Perform analysis",
|
||||
class = "btn-primary",
|
||||
style = "margin-top: 16px; margin-bottom: 16px"
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
# Create a server for the preset editor.
|
||||
#
|
||||
# @param id ID for namespacing the inputs and outputs.
|
||||
#
|
||||
# @return A reactive containing the preset.
|
||||
preset_editor_server <- function(id) {
|
||||
moduleServer(id, function(input, output, session) {
|
||||
result <- reactiveVal(preset_replicative_species)
|
||||
|
||||
observeEvent(input$preset, {
|
||||
if (input$preset == "replicative") {
|
||||
result(preset_replicative_species)
|
||||
} else if (input$preset == "all") {
|
||||
result(preset_all_species)
|
||||
}
|
||||
})
|
||||
|
||||
observeEvent(input$apply_button, {
|
||||
result(geposan::preset(
|
||||
methods <- c(
|
||||
"clusteriness",
|
||||
"correlation",
|
||||
"proximity",
|
||||
"neural"
|
||||
),
|
||||
species = input$species,
|
||||
genes = genes$id,
|
||||
reference_genes = input$reference_genes
|
||||
))
|
||||
})
|
||||
|
||||
result
|
||||
})
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue