From 365cf13dcbcb5c27ee44ac70419b09ebcc649e86 Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Thu, 21 Oct 2021 11:43:34 +0200 Subject: [PATCH] Add more optimization targets --- R/methods.R | 24 +++++++++++++++++------- R/server.R | 6 +++++- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/R/methods.R b/R/methods.R index e14db7b..fb49fd0 100644 --- a/R/methods.R +++ b/R/methods.R @@ -4,11 +4,6 @@ methods_ui <- function(id) { verticalLayout( h3("Methods"), - actionButton( - NS(id, "optimize_button"), - "Find optimal weights", - icon = icon("check-double") - ), div(style = "margin-top: 16px"), lapply(methods, function(method) { verticalLayout( @@ -30,7 +25,21 @@ methods_ui <- function(id) { value = initial_weight ) ) - }) + }), + radioButtons( + NS(id, "target"), + "Optimization target", + choices = list( + "Mean rank of reference genes" = "mean", + "First rank of reference genes" = "min", + "Last rank of reference genes" = "max" + ) + ), + actionButton( + NS(id, "optimize_button"), + "Optimize weights", + class = "btn-primary" + ) ) } @@ -54,7 +63,8 @@ methods_server <- function(id, analysis) { weights <- geposan::optimize_weights( analysis(), method_ids, - genes_tpe_old + genes_tpe_old, + target = input$target ) for (method_id in method_ids) { diff --git a/R/server.R b/R/server.R index 44df265..cb5edaf 100644 --- a/R/server.R +++ b/R/server.R @@ -160,19 +160,23 @@ server <- function(input, output, session) { digits = 1 )) + min_rank <- as.character(reference_results[, min(rank)]) max_rank <- as.character(reference_results[, max(rank)]) } else { mean_rank <- "Unknown" + min_rank <- "Unknown" max_rank <- "Unknown" } sprintf( "Included reference genes: %i/%i
\ Mean rank of reference genes: %s
\ - Maximum rank of reference genes: %s", + First rank of reference genes: %s
\ + Last rank of reference genes: %s", included_reference_count, total_reference_count, mean_rank, + min_rank, max_rank ) })