From cce27875bc2c5ec2825c6a92e84f2aae4ae3de3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Todor=20Kondi=C4=87?= <kontrapunkt@uclmail.net> Date: Mon, 10 Apr 2023 18:23:40 +0200 Subject: [PATCH] Cleaned up make_eic_ms1_plot and related functions. --- R/plotting.R | 25 +++++++++++-------------- tests/testthat/_snaps/plotting.md | 20 ++++++++++---------- tests/testthat/test-plotting.R | 6 ++++-- 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/R/plotting.R b/R/plotting.R index 69b0c50..349dfaa 100644 --- a/R/plotting.R +++ b/R/plotting.R @@ -285,27 +285,25 @@ get_data_4_eic_ms1 <- function(db,extr_ms1,summ_rows,kvals,labs) { keys = names(kvals) actual_key = intersect(keys,names(extr_ms1)) actual_kvals = kvals[actual_key] - browser() + ## Subset extr_ms1 by the actual key. tab = get_data_from_key(db=db, tab=extr_ms1, kvals=kvals, - outcols = c("mz","rt","intensity")) + outcols = c("catid","mz","rt","intensity")) + + - ## Group the plot data per label group (ie tags, or adducts, or - ## both). - xlxx = intersect(labs,names(extr_ms1)) - xlxx = as.character(xlxx) - pdata = tab[,.(rt,intensity),by=xlxx] + meta = db$cat[tab[,.(catid=unique(catid))],on=.(catid),.SD,by=.EACHI,.SDcols=labs] + ## Attach catid information. + tab = meta[tab,on=.(catid),nomatch=NULL] + pdata = tab[,.(rt,intensity),by=labs] - ## TODO: FIXME: This fails because summ_rows sux wrt calcing of ms1_rt for labels. #Now, add the RTs in. - ## pdata[summ_rows,ms1_rt:=signif(i.ms1_rt,5),on=xlxx] + text_labels = labs + pdata = eval(bquote(pdata[,label:=make_line_label(..(lapply(text_labels,as.symbol))),by=text_labels],splice=T)) + setkeyv(pdata,cols=unique(as.character(text_labels))) - ## Create labels. - ## xlxx <- unique(c(xlxx,"ms1_rt")) - pdata = eval(bquote(pdata[,label:=make_line_label(..(lapply(xlxx,as.symbol))),by=xlxx],splice=T)) - setkeyv(pdata,cols=unique(as.character(xlxx),"rt")) pdata } @@ -354,7 +352,6 @@ make_eic_ms1_plot <- function(db,extr_ms1,summ,kvals,labs,axis="linear",rt_range ## plots is wrong. Horrible and wrong. Will remove those labels ## until we fix. summ_rows = narrow_summ(db=db,summ,kvals,labs,"mz","ms1_rt","ms1_int","Name","SMILES","qa_ms1_exists","scan","ms2_sel") - browser() 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] diff --git a/tests/testthat/_snaps/plotting.md b/tests/testthat/_snaps/plotting.md index 8d529dd..155d599 100644 --- a/tests/testthat/_snaps/plotting.md +++ b/tests/testthat/_snaps/plotting.md @@ -3,16 +3,16 @@ Code ns Output - set ID set ID adduct tag mz ms1_rt ms1_int Name - 1: AAs 4 AAs 4 [M+H]+ AA 120.0655 4 70481520 Threonine - 2: AAs 4 AAs 4 [M+H]+ AA 120.0655 4 70481520 Threonine - 3: AAs 4 AAs 4 [M+H]+ AA 120.0655 4 70481520 Threonine - 4: AAs 4 AAs 4 [M+H]+ KO 120.0655 4 80851056 Threonine - 5: AAs 4 AAs 4 [M+H]+ KO 120.0655 4 80851056 Threonine - 6: AAs 4 AAs 4 [M+H]+ KO 120.0655 4 80851056 Threonine - 7: AAs 4 AAs 4 [M+H]+ WT 120.0655 5 68987250 Threonine - 8: AAs 4 AAs 4 [M+H]+ WT 120.0655 5 68987250 Threonine - 9: AAs 4 AAs 4 [M+H]+ WT 120.0655 5 68987250 Threonine + set ID precid adduct tag mz ms1_rt ms1_int Name + 1: AAs 4 6 [M+H]+ AA 120.0655 4 70481520 Threonine + 2: AAs 4 6 [M+H]+ AA 120.0655 4 70481520 Threonine + 3: AAs 4 6 [M+H]+ AA 120.0655 4 70481520 Threonine + 4: AAs 4 26 [M+H]+ KO 120.0655 4 80851056 Threonine + 5: AAs 4 26 [M+H]+ KO 120.0655 4 80851056 Threonine + 6: AAs 4 26 [M+H]+ KO 120.0655 4 80851056 Threonine + 7: AAs 4 46 [M+H]+ WT 120.0655 5 68987250 Threonine + 8: AAs 4 46 [M+H]+ WT 120.0655 5 68987250 Threonine + 9: AAs 4 46 [M+H]+ WT 120.0655 5 68987250 Threonine SMILES qa_ms1_exists scan ms2_sel 1: C[C@@H](O)[C@H](N)C(O)=O TRUE F1.S000058 FALSE 2: C[C@@H](O)[C@H](N)C(O)=O TRUE F1.S000059 TRUE diff --git a/tests/testthat/test-plotting.R b/tests/testthat/test-plotting.R index 4b16e91..cd51c65 100644 --- a/tests/testthat/test-plotting.R +++ b/tests/testthat/test-plotting.R @@ -11,8 +11,10 @@ test_that("make_eic_ms1_plot",{ m = PLOTTING_TEST_STATE kvals = list(set="AAs",ID="4") labs = c("adduct","tag") - plt = make_eic_ms1_plot(db=m$db,m$db$extr$cgm$ms1,m$out$tab$summ,kvals,labs) - expect_equal(1,1) + cd = define_colrdata(m$out$tab$comp,labs) + plt = make_eic_ms1_plot(db=m$db,m$db$extr$cgm$ms1,m$out$tab$summ,kvals,labs,colrdata=cd) + plt$data = NULL + expect_snapshot(plt) }) -- GitLab