Skip to content
Snippets Groups Projects
resources.R 5.22 KiB
Newer Older
Todor Kondic's avatar
Todor Kondic committed
## Copyright (C) 2020 by University of Luxembourg

## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at

##     http://www.apache.org/licenses/LICENSE-2.0

## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.




## Config defaults
CONF <- list(data=NA_character_,
             project=getwd(),
                            sets=NA_character_))

Todor Kondic's avatar
Todor Kondic committed
## Constants
FN_FTAB_BASE<-"ftable.base.csv"
FN_FTAB_PP<-"ftable.pp.csv"
FN_PP_OUT_PREF<-"PP.filetable"
FN_FTAB_STATE<-"ftable_state.csv"
FN_FTAB <- "ftable.csv"
FN_FTAB_DEF_OUT <- FN_FTAB
Todor Kondic's avatar
Todor Kondic committed
FN_CMP_L<-"compounds.csv"
FN_LOC_SETID <-"setid.csv"
FN_COMP_TAB<-"comprehensive.csv"
Todor Kondic's avatar
Todor Kondic committed
FN_SPEC<-"specdata.rds"
FN_CONF <- "conf-state.yaml"
.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,"]-"))
## names(ADDUCTMAP) <- apply(ADDUCTS,1,function(row) {
##     nm <- row[["Name"]]
##     sgn <- row[["Charge"]]
##     suff <- if (sgn > 0) "+" else if (sgn < 0) "-" else ""
##     paste0("[",nm,"]",suff)
## })
## ADDUCTS$Name <- names(ADDUCTMAP)
DISP_ADDUCTS <- c("UNSET",ADDUCTS$Name)
TAG_NA <- "::UNSET::"
SET_NA <- "::UNSET::"
TAG_DEF <- TAG_NA
Todor Kondic's avatar
Todor Kondic committed
TAG_DEF_DESC<-"Case"
Todor Kondic's avatar
Todor Kondic committed
DEFAULT_RT_RANGE=c(NA,NA)
DEFAULT_INT_RANGE=c(NA,NA)
Todor Kondic's avatar
Todor Kondic committed
DEFAULT_MZ_RANGE=c(NA,NA)
Todor Kondic's avatar
Todor Kondic committed

Todor Kondic's avatar
Todor Kondic committed
## QANAMES <- c("MS1","MS2","Alignment","AboveNoise")
Todor Kondic's avatar
Todor Kondic committed
PLOT_DEF_TAGS<-NA
PLOT_DEF_SET<-NA

CEX<-0.75
RT_DIGITS=2
M_DIGITS=4
PAL="Dark2"

Todor Kondic's avatar
Todor Kondic committed
REST_TAB<-c("mzml")


GUI_TAB_TITLE<-c(conf="Config",
                 gen="Spectra Extraction and Automatic QA",
Todor Kondic's avatar
Todor Kondic committed
                 pres="Prescreening",
                 log="Log")


GUI_SIDE_TITLE<-GUI_TAB_TITLE
GUI_SIDE_TITLE[["gen"]]<-"Spectra Extraction"

CHR_GRAM_X="retention time [min]"
CHR_GRAM_Y="intensity"
Todor Kondic's avatar
Todor Kondic committed

KEY_GLYPH='rect'

PLOT_MS1_LEG_TIT<-"peak retention time (MS1)"
PLOT_MS2_LEG_TIT<-"peak retention time (MS2)"


MS2_1ST_N<-5

EXTR_MS2_DIR<-"MS2"
EXTR_MS2_FLAG<-file.path(EXTR_MS2_DIR,'.ms2.DONE')


FTAB_CHK_NONE<-'NONE'

FTAB_CHK_AUTO<-'AUTO'

FTAB_CHK_MANL<-'MANUAL'
MS1_ERR_COARSE<-0.5                     # Da
MS1_ERR_FINE<- 5                       # ppm
EIC_ERR <- 0.001                       # Da
RT_EXTR_ERR<-0.5                       # min
RT_SHIFT_ERR <- 0.5               # min

MS1_INT_THOLD <- 1e5
Todor Kondic's avatar
Todor Kondic committed
MS2_INT_THOLD <- 5000.

MS1_SN_FAC <- 3.0
Todor Kondic's avatar
Todor Kondic committed


## Shiny objects

NUM_INP_WIDTH="15%"
Todor Kondic's avatar
Todor Kondic committed



## Possible compound list fields
EMPTY_CMPD_LIST <- dtable(ID=character(),
                          SMILES=character(),
                          Name=character(),
                          Formula=character(),
                          RT=numeric(),
                          mz=numeric(),
                          known=character(),
                          ORIG=character())
COMP_LIST_COLS <- c("ID","Name","SMILES","Formula","RT","mz")
Todor Kondic's avatar
Todor Kondic committed
## Comprehensive table properties
COMP_NAME_MAP <- list(RT="rt")
COMP_NAME_FIRST <- c("ID","mz","rt","adduct","tag","set","Name","known","SMILES","Formula","Files","wd")
Todor Kondic's avatar
Todor Kondic committed

## File table properties
FTAB_KEY=c("set","tag","mz")
FTAB_NAMES=c("ID", "mz", "rt", "tag", "adduct", "set", "Name", "SMILES", "Files" , "wd","known")
Todor Kondic's avatar
Todor Kondic committed

## Trivial data table
EMPTY_MZML <- dtable(Files=character(0),
                     tag=character(0),
                     adduct=character(0),
                     set=character(0))
Todor Kondic's avatar
Todor Kondic committed

FN_DATA_TAB <- "data-files.csv"


## Default number of concurrent workers
NO_WORKERS <- 2

EMPTY_CONF <- list(project="",
                   compounds=list(lists=list(),
                                  sets=""),
                   data="",
                   tolerance=list("ms1 coarse"=MS1_ERR_COARSE,
Todor Kondic's avatar
Todor Kondic committed
                                  "ms1 fine"=MS1_ERR_FINE,
                   prescreen=list("ms1_int_thresh"=1e5,
                                  "ms2_int_thresh"=2.5e3,
                                  "ret_time_shift_tol"=0.5),

## Input parameters for prescreening.
CONF_PRES_NUM <- c("ms1_int_thresh","ms2_int_thresh","s2n")
CONF_PRES_TU <- c("ret_time_shift_tol")

Todor Kondic's avatar
Todor Kondic committed

## Prescreening columns
QA_FLAGS <- c("qa_ms1_exists",
              "qa_ms2_exists",
              "qa_ms1_above_noise",
              "qa_ms2_near",
              "qa_ms2_good_int",
              "qa_pass")

QA_NUM_REAL <- c("int_ms1","rt_ms1","ms1_mean")

QA_NUM_INT <- c("sel_ms2","ind_ms1_rt")

QA_COLS <- c(QA_FLAGS,QA_NUM_REAL,QA_NUM_INT)

SPEC_DATA_COLS <- c("eicMS2","eicMS1","spec")

Todor Kondic's avatar
Todor Kondic committed
## Default order of spectra in spectral table
DEF_ORDER_SPECTRA <- c("set","qa_pass","int_ms1","adduct","mz","tag")