From 460cfab3d7c5258155bcb4e1a866b706c66111ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Todor=20Kondi=C4=87?= <todor.kondic@uni.lu> Date: Mon, 11 Jul 2022 14:54:02 +0200 Subject: [PATCH] app: shiny-ui-base: Render cindex --- R/resources.R | 3 +++ R/shiny-state.R | 5 +++++ R/shiny-ui-base.R | 19 +++++++++++++++++-- inst/rmd/app.Rmd | 24 ++++++++++++++++++++---- 4 files changed, 45 insertions(+), 6 deletions(-) diff --git a/R/resources.R b/R/resources.R index 25bf4c1f..929def9 100644 --- a/R/resources.R +++ b/R/resources.R @@ -282,3 +282,6 @@ SYM_NO="\U00274C" CMPD_LIST_PATT <- "((*.csv)|(*.csv.gz))$" SET_LIST_PATT <- CMPD_LIST_PATT DFILES_LIST_PATT <- ".*\\.mz[Mm][Ll]$" + +CINDEX_BY <- c("set","adduct","tag","ID") +CINDEX_COLS <- c("mz", "ms1_rt", "Formula","Name") diff --git a/R/shiny-state.R b/R/shiny-state.R index 40cf90a..fb44663 100644 --- a/R/shiny-state.R +++ b/R/shiny-state.R @@ -335,3 +335,8 @@ pre_setup_val_block <- function(gui) { T } +gen_cindex <- function(summ,cols = CINDEX_COLS,by. = CINDEX_BY) { + allc <- c(by.,cols) + summ[,first(.SD),by=by.][,..allc] + +} diff --git a/R/shiny-ui-base.R b/R/shiny-ui-base.R index bc14ec7..92ce5ca 100644 --- a/R/shiny-ui-base.R +++ b/R/shiny-ui-base.R @@ -704,6 +704,12 @@ mk_shinyscreen_server <- function(projects,init) { m$input$tab$setid }) + rf_get_cindex <- eventReactive(rvs$status$is_qa_stat,{ + summ <- req(rvs$m$out$tab$summ) + ## simple_style_dt(gen_cindex(summ)) + gen_cindex(summ) + }) + ## OBSERVERS @@ -771,8 +777,8 @@ mk_shinyscreen_server <- function(projects,init) { rvs$status$ms1_fine_stat = m$conf$tolerance[["ms1 fine"]] rvs$status$ms1_eic_stat = m$conf$tolerance[["eic"]] rvs$status$rt_stat = m$conf$tolerance[["rt"]] - rvs$status$ms1_int_thresh_stat = rvs$m$conf$prescreen[["ms1_int_thresh_stat"]] - rvs$status$ms2_int_thresh_stat = rvs$m$conf$prescreen[["ms2_int_thresh_stat"]] + rvs$status$ms1_int_thresh_stat = rvs$m$conf$prescreen[["ms1_int_thresh"]] + rvs$status$ms2_int_thresh_stat = rvs$m$conf$prescreen[["ms2_int_thresh"]] rvs$status$s2n_stat = rvs$m$conf$prescreen[["s2n"]] rvs$status$ret_time_shift_tol_stat = rvs$m$conf$prescreen[["ret_time_shift_tol"]] if (NROW(m$extr$ms1)>0L) rvs$status$is_extracted_stat <- "Yes." @@ -1121,6 +1127,15 @@ mk_shinyscreen_server <- function(projects,init) { req(rvs$status$ret_time_shift_tol_stat) }) + ## RENDER: COMPOUND INDEX + + output$cindex <- DT::renderDT({ + tab <- rf_get_cindex() + validate(need(NROW(tab)>0L,message="Need to prescreen, first.")) + print(names(tab)) + simple_style_dt(tab) + }) + diff --git a/inst/rmd/app.Rmd b/inst/rmd/app.Rmd index 9be4773..b36feb6 100644 --- a/inst/rmd/app.Rmd +++ b/inst/rmd/app.Rmd @@ -637,21 +637,37 @@ DT::dataTableOutput("setid_table") ## Results Explorer + + + <div style="display: flex; flex-flow: row wrap;"> <div style="width: 25%; padding-right: 1.0em; background-color: var(--lt-gr-bg);"> <div> -### Compounds -</div> +### Compound Index + +<div style="overflow-x: scroll"> +```{r, echo=F} +DT::DTOutput("cindex") +``` +</div> <!-- cindex-table --> + +<div style="display: flex; flex-flow: row wrap; vertical-align: bottom"> +```{r, echo=F} +selectInput("cindex_switch_ms2", label="Select MS2 to show", width="30%", choices=NULL) +``` +</div> <!-- cindex-controls --> + +</div> <!-- Compound Index --> <div> ### Arrange -</div> +</div> <!-- Arrange --> <div> ### Filter -</div> +</div> <!-- Filter --> </div> <!-- Big left panel. --> -- GitLab