Skip to content
Snippets Groups Projects
Commit 53cfda9f authored by Todor Kondić's avatar Todor Kondić
Browse files

Try to set proper default values for tag_sets_list and tag_adducts_list.

parent 774d3fbc
No related branches found
No related tags found
No related merge requests found
......@@ -16,35 +16,35 @@
## Config defaults
CONF <- list(data=NA_character_,
CONF = list(data=NA_character_,
project=getwd(),
compounds=list(lists=list(),
sets=NA_character_))
## Constants
FN_ENVOPTS="envopts.rds"
FN_SUMM_BASE<-"summ.base.csv"
FN_SUMM_PP<-"summ.pp.csv"
FN_PP_OUT_PREF<-"PP.filetable"
FN_SUMM_STATE<-"summ_state.csv"
FN_SUMM <- "summ.csv"
FN_SUMM_DEF_OUT <- FN_SUMM
FN_CMP_L<-"compounds.csv"
FN_LOC_SETID <-"setid.csv"
FN_COMP_TAB<-"comprehensive.csv"
FN_SPEC<-"specdata.rds"
FN_CONF <- "conf-state.yaml"
FN_EXTR_STATE <- "state_after_extraction.rds"
FN_STATE <- "current-state.rds"
FN_GUI_STATE <- "gui.rds"
.envp <- new.env(parent = emptyenv())
FN_SUMM_BASE="summ.base.csv"
FN_SUMM_PP="summ.pp.csv"
FN_PP_OUT_PREF="PP.filetable"
FN_SUMM_STATE="summ_state.csv"
FN_SUMM = "summ.csv"
FN_SUMM_DEF_OUT = FN_SUMM
FN_CMP_L="compounds.csv"
FN_LOC_SETID ="setid.csv"
FN_COMP_TAB="comprehensive.csv"
FN_SPEC="specdata.rds"
FN_CONF = "conf-state.yaml"
FN_EXTR_STATE = "state_after_extraction.rds"
FN_STATE = "current-state.rds"
FN_GUI_STATE = "gui.rds"
.envp = new.env(parent = emptyenv())
data(adducts,package = "enviPat", envir = .envp)
data(isotopes,package = "enviPat", envir = .envp)
ADDUCTS <- dtable(.envp$adducts)
ISOTOPES <- dtable(.envp$isotopes)
.envp <- NULL
ADDUCTMAP <- ADDUCTS$Name
ADDUCTS$Name <- the_ifelse(ADDUCTS$Charge>0,paste0("[",ADDUCTS$Name,"]+"),paste0("[",ADDUCTS$Name,"]-"))
ADDUCTS = dtable(.envp$adducts)
ISOTOPES = dtable(.envp$isotopes)
.envp = NULL
ADDUCTMAP = ADDUCTS$Name
ADDUCTS$Name = the_ifelse(ADDUCTS$Charge>0,paste0("[",ADDUCTS$Name,"]+"),paste0("[",ADDUCTS$Name,"]-"))
## names(ADDUCTMAP) <- apply(ADDUCTS,1,function(row) {
## nm <- row[["Name"]]
## sgn <- row[["Charge"]]
......@@ -52,68 +52,68 @@ ADDUCTS$Name <- the_ifelse(ADDUCTS$Charge>0,paste0("[",ADDUCTS$Name,"]+"),paste0
## paste0("[",nm,"]",suff)
## })
## ADDUCTS$Name <- names(ADDUCTMAP)
DISP_ADDUCTS <- ADDUCTS$Name
TAG_NA <- "::UNSET::"
SET_NA <- "::UNSET::"
TAG_DEF <- TAG_NA
TAG_DEF_DESC<-"Case"
DISP_ADDUCTS = ADDUCTS$Name
TAG_NA = "::UNSET::"
SET_NA = "::UNSET::"
TAG_DEF = TAG_NA
TAG_DEF_DESC="Case"
DEFAULT_RT_RANGE=c(NA,NA)
DEFAULT_INT_RANGE=c(NA,NA)
DEFAULT_MZ_RANGE=c(NA,NA)
## QANAMES <- c("MS1","MS2","Alignment","AboveNoise")
PLOT_DEF_TAGS<-NA
PLOT_DEF_SET<-NA
## QANAMES = c("MS1","MS2","Alignment","AboveNoise")
PLOT_DEF_TAGS=NA
PLOT_DEF_SET=NA
CEX<-0.75
CEX=0.75
RT_DIGITS=2
M_DIGITS=4
PAL="Dark2"
REST_TAB<-c("mzml")
REST_TAB=c("mzml")
GUI_TAB_TITLE<-c(conf="Config",
GUI_TAB_TITLE=c(conf="Config",
gen="Spectra Extraction and Automatic QA",
pres="Prescreening",
log="Log")
GUI_SIDE_TITLE<-GUI_TAB_TITLE
GUI_SIDE_TITLE[["gen"]]<-"Spectra Extraction"
GUI_SIDE_TITLE=GUI_TAB_TITLE
GUI_SIDE_TITLE[["gen"]]="Spectra Extraction"
CHR_GRAM_X="retention time [min]"
CHR_GRAM_Y="intensity"
KEY_GLYPH='rect'
PLOT_MS1_LEG_TIT<-"peak retention time (MS1)"
PLOT_MS2_LEG_TIT<-"peak retention time (MS2)"
PLOT_MS1_LEG_TIT="peak retention time (MS1)"
PLOT_MS2_LEG_TIT="peak retention time (MS2)"
MS2_1ST_N<-5
MS2_1ST_N=5
EXTR_MS2_DIR<-"MS2"
EXTR_MS2_FLAG<-file.path(EXTR_MS2_DIR,'.ms2.DONE')
EXTR_MS2_DIR="MS2"
EXTR_MS2_FLAG=file.path(EXTR_MS2_DIR,'.ms2.DONE')
SUMM_CHK_NONE<-'NONE'
SUMM_CHK_NONE='NONE'
SUMM_CHK_AUTO<-'AUTO'
SUMM_CHK_AUTO='AUTO'
SUMM_CHK_MANL<-'MANUAL'
SUMM_CHK_MANL='MANUAL'
MS1_ERR_COARSE<-"0.5 Da" # Da
MS1_ERR_FINE<- "5 ppm" # ppm
EIC_ERR <- "0.001 Da" # Da
RT_EXTR_ERR<-"0.5 min" # min
RT_SHIFT_ERR <- "0.5 min" # min
MS1_ERR_COARSE="0.5 Da" # Da
MS1_ERR_FINE= "5 ppm" # ppm
EIC_ERR = "0.001 Da" # Da
RT_EXTR_ERR="0.5 min" # min
RT_SHIFT_ERR = "0.5 min" # min
MS1_INT_THOLD <- 1e5
MS2_INT_THOLD <- 2500.
MS1_INT_THOLD = 1e5
MS2_INT_THOLD = 2500.
MS1_SN_FAC <- 3.0
MS1_SN_FAC = 3.0
## Shiny objects
......@@ -124,7 +124,7 @@ NUM_INP_HEIGHT="5%"
## Possible compound list fields
EMPTY_CMPD_LIST <- dtable(ID=character(),
EMPTY_CMPD_LIST = dtable(ID=character(),
SMILES=character(),
Name=character(),
Formula=character(),
......@@ -132,32 +132,32 @@ EMPTY_CMPD_LIST <- dtable(ID=character(),
mz=numeric(),
known=character(),
ORIG=character())
COMP_LIST_COLS <- c("ID","Name","SMILES","Formula","RT","mz")
COMP_LIST_COLS = c("ID","Name","SMILES","Formula","RT","mz")
## Comprehensive table properties
COMP_NAME_MAP <- list(RT="rt")
COMP_NAME_FIRST <- c("ID","mz","rt","adduct","tag","set","Name","known","SMILES","Formula","file")
COMP_NAME_MAP = list(RT="rt")
COMP_NAME_FIRST = c("ID","mz","rt","adduct","tag","set","Name","known","SMILES","Formula","file")
## Trivial data table
EMPTY_MZML <- dtable(file=character(0),
EMPTY_MZML = dtable(file=character(0),
tag=character(0),
adduct=character(0),
set=character(0))
FN_DATA_TAB <- "data-files.csv"
FN_DATA_TAB = "data-files.csv"
## Default number of concurrent workers
NO_WORKERS <- 2
NO_WORKERS = 2
## Input parameters for prescreening.
CONF_PRES_NUM <- c("ms1_int_thresh","ms2_int_thresh","s2n")
CONF_PRES_TU <- c("ret_time_shift_tol")
CONF_PRES_NUM = c("ms1_int_thresh","ms2_int_thresh","s2n")
CONF_PRES_TU = c("ret_time_shift_tol")
## Prescreening columns
QA_FLAGS <- c("qa_pass",
QA_FLAGS = c("qa_pass",
"qa_ms1_exists",
"qa_ms2_exists",
"qa_ms1_good_int",
......@@ -165,7 +165,7 @@ QA_FLAGS <- c("qa_pass",
"qa_ms2_near",
"qa_ms2_good_int")
QABOX_VALS <- c("MS1 exists"="qa_ms1_exists",
QABOX_VALS = c("MS1 exists"="qa_ms1_exists",
"MS1 good intensity"="qa_ms1_good_int",
"MS1 above noise"="qa_ms1_above_noise",
"MS2 exists"="qa_ms2_exists",
......@@ -173,42 +173,42 @@ QABOX_VALS <- c("MS1 exists"="qa_ms1_exists",
"MS2 no RT shift"="qa_ms2_near")
QA_NUM_REAL <- c("ms1_int","ms1_rt","ms1_mean")
QA_NUM_REAL = c("ms1_int","ms1_rt","ms1_mean")
QA_NUM_INT <- c("ms2_sel","ms1_rt_ind")
QA_NUM_INT = c("ms2_sel","ms1_rt_ind")
QA_COLS <- c(QA_FLAGS,QA_NUM_REAL,QA_NUM_INT)
QA_COLS = c(QA_FLAGS,QA_NUM_REAL,QA_NUM_INT)
## MS2 spectral table columns
MS2_SPEC_COLS <- c("adduct","tag","ID","CE","rt","file","spec","ms2_max_int")
MS2_SPEC_COLS = c("adduct","tag","ID","CE","rt","file","spec","ms2_max_int")
## MS1 spectral table columns
MS1_SPEC_COLS <- c("adduct","tag","ID","eicMS1","ms1_int","ms1_rt","ms1_mean")
MS1_SPEC_COLS = c("adduct","tag","ID","eicMS1","ms1_int","ms1_rt","ms1_mean")
## Default secondary indexing in the summary table
DEF_INDEX_SUMM <- c("set", "-qa_pass", "-ms1_int", "adduct","-mz")
DEF_INDEX_SUMM = c("set", "-qa_pass", "-ms1_int", "adduct","-mz")
## Top-level directory to store the figures
FIG_TOPDIR <- "figures"
FIG_TOPDIR = "figures"
REP_TOPDIR <- "report"
REP_TOPDIR = "report"
## Figure filter
FIG_DEF_FILTER <- ""
FIG_DEF_FILTER = ""
FIG_DEF_SUBSET <- c("set","adduct","ID")
FIG_DEF_SUBSET = c("set","adduct","ID")
REPORT_AUTHOR <- "Anonymous"
REPORT_TITLE <- "Plots of EICs and MS2 Spectra"
REPORT_AUTHOR = "Anonymous"
REPORT_TITLE = "Plots of EICs and MS2 Spectra"
## Select the most fundamental group of entries. Within this group,
## each ID is unique.
BASE_KEY <- c("adduct","tag","ID")
BASE_KEY_MS2 <- c(BASE_KEY,"CE","an")
BASE_KEY = c("adduct","tag","ID")
BASE_KEY_MS2 = c(BASE_KEY,"CE","an")
FIG_DEF_CONF <-list(grouping=list(group="adduct",
FIG_DEF_CONF =list(grouping=list(group="adduct",
plot="ID",
label="tag"))
......@@ -217,14 +217,14 @@ FIG_DEF_CONF <-list(grouping=list(group="adduct",
SUMM_COLS=c("set",BASE_KEY_MS2,"mz","ms1_rt", "ms1_int", "ms2_rt", "ms2_int",
"ms1_mean","ms2_sel",QA_FLAGS,"Name", "SMILES", "Formula", "known","Comments","file")
SUMM_KEY <- c("set","ID","adduct","tag","an")
SUMM_KEY = c("set","ID","adduct","tag","an")
PLOT_FEATURES <- c("adduct",
PLOT_FEATURES = c("adduct",
"tag",
"ID")
## Empty summary table.
EMPTY_SUMM <- data.table::data.table(set=character(0),
EMPTY_SUMM = data.table::data.table(set=character(0),
adduct=character(0),
tag=character(0),
ID=character(0),
......@@ -252,10 +252,10 @@ EMPTY_SUMM <- data.table::data.table(set=character(0),
file=character(0))
## Default sorting keys of spectra in the summary table
DEF_KEY_SUMM <- c(BASE_KEY_MS2,"an")
DEF_KEY_SUMM = c(BASE_KEY_MS2,"an")
SUBSET_VALS <- c(IGNORE="ignore",
SUBSET_VALS = c(IGNORE="ignore",
GOOD="select good",
BAD="select bad")
......@@ -263,7 +263,7 @@ SUBSET_VALS <- c(IGNORE="ignore",
## Empty comprehensive table.
EMPTY_COMP_TAB <- dtable(ID=character(),
EMPTY_COMP_TAB = dtable(ID=character(),
mz=numeric(),
rt=numeric(),
adduct=character(),
......@@ -276,13 +276,13 @@ EMPTY_COMP_TAB <- dtable(ID=character(),
file=character())
DEF_CONF_MISSING_PCS <- "do_nothing"
DEF_CONF_MISSING_PCS = "do_nothing"
## Significant digits for output
SIGNF_I <- 3
SIGNF_MZ <- 7
SIGNF_RT <- 4
SIGNF_I = 3
SIGNF_MZ = 7
SIGNF_RT = 4
## Symbols to display T, or F
......@@ -290,13 +290,13 @@ SYM_YES="\U002713"
SYM_NO="\U00274C"
CMPD_LIST_PATT <- "((*.csv)|(*.csv.gz))$"
SET_LIST_PATT <- CMPD_LIST_PATT
DFILES_LIST_PATT <- ".*\\.mz[Mm][Ll]$"
CMPD_LIST_PATT = "((*.csv)|(*.csv.gz))$"
SET_LIST_PATT = CMPD_LIST_PATT
DFILES_LIST_PATT = ".*\\.mz[Mm][Ll]$"
CINDEX_BY <- c("set","ID","adduct","tag")
CINDEX_COLS <- c("mz", "ms1_rt","Name","qlt_ms1","qlt_ms2")
ARRANGE_CHOICES <- c(nothing="nothing",
CINDEX_BY = c("set","ID","adduct","tag")
CINDEX_COLS = c("mz", "ms1_rt","Name","qlt_ms1","qlt_ms2")
ARRANGE_CHOICES = c(nothing="nothing",
quality="quality",
set="set",
adduct="adduct",
......@@ -304,12 +304,12 @@ ARRANGE_CHOICES <- c(nothing="nothing",
rt="rt",
id="ID")
PLOT_EIC_ASPECT <- 0.75
PLOT_EIC_ASPECT = 0.75
## Each set should have it's different colourscheme, because of the
## possibility that each set connects to a different collection of
## files.
COLRDATA_KEY <- "set"
COLRDATA_KEY = "set"
## METFRAG
......
......@@ -1057,14 +1057,15 @@ mk_shinyscreen_server <- function(projects,init) {
rvs$gui$compounds$sets = sels
})
observeEvent(rvs$gui$datatab$set,{
if (isTruthy(rvs$gui$datatab$set)) {
observeEvent(rf_get_sets(),{
sets = rf_get_sets()
if (isTruthy(rf_get_sets())) {
updateSelectInput(session=session,
inputId="tag_set_list",
choices=rvs$gui$datatab$set,
selected=NA_character_)
inputId="tag_sets_list",
choices=sets,
selected=NULL)
}
}, label="tag_set_list")
}, label="tag_sets_list")
observeEvent(input$datafiles_b,{
new_file = input$dfile_list
......@@ -1113,15 +1114,41 @@ mk_shinyscreen_server <- function(projects,init) {
}, label = "datafiles-edit")
observeEvent(input$datatab_cell_edit,{
df = gen_dtab(rvs$gui$datatab,sets=rf_get_sets())
z = DT::editData(df,
input$datatab_cell_edit,
rownames = F)
## observeEvent(input$datatab_cell_edit,{
## df = gen_dtab(rvs$gui$datatab,sets=rf_get_sets())
## z = DT::editData(df,
## input$datatab_cell_edit,
## rownames = F)
rvs$gui$datatab$set = z$set
rvs$gui$datatab$adduct = z$adduct
}, label = "datatab-edit")
## rvs$gui$datatab$set = z$set
## rvs$gui$datatab$adduct = z$adduct
## }, label = "datatab-edit")
observe({
selected_adducts = input$tag_adducts_list
## selected_adducts[selected_adducts == "NA"] = NA_character_
selected_sets = input$tag_sets_list
## selected_sets[selected_sets == "NA"] = NA_character_
selected_rows = input$datafiles_rows_selected
if (isTruthy(selected_rows)) {
selected_tags = rvs$gui$datafiles$tag[selected_rows]
dt_rows = which(rvs$gui$datatab$tag %in% selected_tags)
if (isTruthy(selected_sets)) {
rvs$gui$datatab$set[dt_rows] = selected_sets
updateSelectInput(session=session,
inputId="tag_adducts_list",
selected=NULL)
}
if (isTruthy(selected_adducts)) {
rvs$gui$datatab$adduct[dt_rows] = selected_adducts
updateSelectInput(session=session,
inputId="tag_sets_list",
selected=NULL)
}
}
}, label = "datatab-set-associations")
## OBSERVERS: CONFIGURATION AND EXTRACTION
......@@ -1583,8 +1610,9 @@ mk_shinyscreen_server <- function(projects,init) {
sets = rf_get_sets()
dtab = gen_dtab(rvs$gui$datatab,
sets=sets)
tab = scroll_dropdown_dt(dtab, callback = dt_drop_callback('1','2',sets))
## tab = dropdown_dt(dtab, callback = dt_drop_callback('1','2',sets))
## tab = scroll_dropdown_dt(dtab, callback = dt_drop_callback('1','2',sets))
tab = scroll_style_dt(dtab)
tab
})
......
......@@ -264,16 +264,18 @@ Repeat the same for sets.
</details>
```{r, echo=F}
selectInput(inputId="tag_sets_list",
label="Select set",
## multiple=T, #TODO
choices=NULL,
selected=NULL)
```
```{r, echo=F}
selectInput(inputId="tag_adducts_list",
label="Select adducts",
choices=shinyscreen:::DISP_ADDUCTS,
multiple=T,
selected=NA_character_)
```
```{r, echo=F}
selectInput(inputId="tag_set_list",
label="Select set",
choices=NULL)
selected=NULL)
```
<!-- tag/adduct/set associations -->
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment