From 75f09bd5c04afdf72eb5a247c66a11c9288fc14f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Todor=20Kondi=C4=87?= <kontrapunkt@uclmail.net>
Date: Thu, 30 Mar 2023 00:15:20 +0200
Subject: [PATCH] Function make_eic_ms1_plot got a new argument `db'.

---
 R/plotting.R      |  9 ++++-----
 R/shiny-ui-base.R | 34 +++++++++++++++++++++-------------
 2 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/R/plotting.R b/R/plotting.R
index eb90abd..56f0541 100644
--- a/R/plotting.R
+++ b/R/plotting.R
@@ -325,8 +325,7 @@ narrow_summ <- function(summ,kvals,labs,...) {
 
 ### PLOTTING: TOP-LEVEL PLOT CREATION
 
-make_eic_ms1_plot <- function(extr_ms1,summ,kvals,labs,axis="linear",rt_range=NULL,i_range=NULL, asp=1,colrdata=NULL) {
-
+make_eic_ms1_plot <- function(db,extr_ms1,summ,kvals,labs,axis="linear",rt_range=NULL,i_range=NULL, asp=1,colrdata=NULL) {
     ## If nothing selected, just return NULL.
     if (is.null(kvals)) return(NULL)
 
@@ -336,7 +335,7 @@ make_eic_ms1_plot <- function(extr_ms1,summ,kvals,labs,axis="linear",rt_range=NU
     ## TODO: FIXME: Somehow calculating representationve ms1_rt for
     ## plots is wrong. Horrible and wrong. Will remove those labels
     ## until we fix.
-    summ_rows <- narrow_summ(summ,kvals,labs,"mz","ms1_rt","ms1_int","Name","SMILES","Formula","qa_ms1_exists","scan","ms2_sel")
+    summ_rows <- narrow_summ(summ,kvals,labs,"mz","ms1_rt","ms1_int","Name","SMILES","qa_ms1_exists","scan","ms2_sel")
     rows_key <- union(data.table::key(summ_rows),labs)
     summ_rows$sel_ms1_rt=NA_real_
     summ_rows[ms2_sel==T,sel_ms1_rt:=ms1_rt[which.max(ms1_int)],by=rows_key]
@@ -388,7 +387,7 @@ make_eic_ms2_plot <- function(summ,kvals,labs,axis="linear",rt_range=NULL,asp=1,
     if (is.null(kvals)) return(NULL)
 
     ## Get metadata.
-    summ_rows <- narrow_summ(summ,kvals,labs,"mz","ms2_rt","ms2_int","Name","SMILES","Formula")
+    summ_rows <- narrow_summ(summ,kvals,labs,"mz","ms2_rt","ms2_int","Name","SMILES")
 
     ## Get plotting data for the compound.
     pdata <- get_data_4_eic_ms2(summ,
@@ -436,7 +435,7 @@ make_spec_ms2_plot <- function(extr_ms2,summ,kvals,labs,axis="linear",asp=1, col
     if (NROW(mdata)==0L) return(NULL)
     if (NROW(subxdata) == 0L) return(NULL)
     ans <- data.table(scan=mdata[,unique(scan)],key="scan")
-    ms2ctg <- c(intersect(c(names(kvals),labs),names(extr_ms2)),"CE")
+    ms2ctg <- c(intersect(c(names(kvals),labs),names(extr_ms2)),"ce")
     xlxx <- intersect(as.character(labs),names(extr_ms2))
     common_labels <- unique(c("scan",common_key,intersect(names(extr_ms2),labs)))
     pdata <- subxdata[ans,on="scan"][,.(mz=mz,intensity=intensity,rt=signif(unique(rt),5)),by=common_labels]
diff --git a/R/shiny-ui-base.R b/R/shiny-ui-base.R
index 3ea38e7..8609042 100644
--- a/R/shiny-ui-base.R
+++ b/R/shiny-ui-base.R
@@ -815,18 +815,22 @@ mk_shinyscreen_server <- function(projects,init) {
             isolate({
                 ms1 = rvs$m$db$extr$cgm$ms1
                 summ = rvs$m$out$tab$summ
+                db = rvs$m$db
 
             })
             req(NROW(summ)>0L)
             req(NROW(ms1)>0L)
 
 
-            p = make_eic_ms1_plot(ms1,summ,kvals=rf_get_cindex_kval(),
-                                   labs=rf_get_cindex_labs(),
-                                   asp=PLOT_EIC_ASPECT,
-                                   rt_range=rf_get_rtrange(),
-                                   i_range=rf_get_irange(),
-                                   colrdata = rf_colrdata())
+            p = make_eic_ms1_plot(db=db,
+                                  extr_ms1=ms1,
+                                  summ,
+                                  kvals=rf_get_cindex_kval(),
+                                  labs=rf_get_cindex_labs(),
+                                  asp=PLOT_EIC_ASPECT,
+                                  rt_range=rf_get_rtrange(),
+                                  i_range=rf_get_irange(),
+                                  colrdata = rf_colrdata())
 
             p = if (!is.null(p)) p else empty_plot("Nothing to plot")
 
@@ -1148,7 +1152,7 @@ mk_shinyscreen_server <- function(projects,init) {
                     rv_extr_flag(F)
                     rvs$m = run(m=rvs$m,
                                 envopts=init$envopts,
-                                phases=c("setup","comptab","extract"))
+                                phases=c("setup","comptab","db","extract"))
                     rvs$status$is_extracted_stat = "Yes."
                     rvs$status$is_qa_stat = "No."
                     fn_c_state = file.path(rvs$m$run$paths$project,
@@ -1299,6 +1303,7 @@ mk_shinyscreen_server <- function(projects,init) {
                 ms1 = rvs$m$db$extr$cgm$ms1
                 ms2 = rvs$m$db$extr$cgm$ms2
                 summ = rvs$m$out$tab$summ
+                db = rvs$m$db
 
             })
             req(NROW(summ)>0L)
@@ -1320,12 +1325,15 @@ mk_shinyscreen_server <- function(projects,init) {
                 names(kvals) = key
                 message('Compound index row: ',ri)
 
-                p1 = make_eic_ms1_plot(ms1,summ,kvals=kvals,
-                                        labs=labs,
-                                        asp=PLOT_EIC_ASPECT,
-                                        rt_range=rt_range,
-                                        i_range=i_range,
-                                        colrdata = colrdata) + theme_print()
+                p1 = make_eic_ms1_plot(db=db,
+                                       ms1,
+                                       summ,
+                                       kvals=kvals,
+                                       labs=labs,
+                                       asp=PLOT_EIC_ASPECT,
+                                       rt_range=rt_range,
+                                       i_range=i_range,
+                                       colrdata = colrdata) + theme_print()
 
                 p2 = make_eic_ms2_plot(summ,kvals=kvals,
                                         labs=labs,
-- 
GitLab