From 52e84de920705e7f640f456f08caa2d6191c8637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Todor=20Kondi=C4=87?= <todor.kondic@uni.lu> Date: Thu, 7 May 2020 12:27:02 +0200 Subject: [PATCH] Finish updating verification functions * R/api.R(verify_compounds, vrfy_conf): Updated. * R/api.R(verify_data_df,verify_data): New functions. The first is used if the input is only a data frame. --- R/api.R | 61 ++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/R/api.R b/R/api.R index ad9b009..3053280 100644 --- a/R/api.R +++ b/R/api.R @@ -143,32 +143,57 @@ verify_compounds <- function(conf) { df_sets <- file2tab(fn_cmpd_sets) all_sets<-unique(df_sets$set) - fn_data <- conf$data - assert(isThingFile(fn_data),msg=paste("Data table does not exist:",fn_data)) - mzml <- file2tab(fn_data) - - no_files <- which(mzml[,!file.exists(Files)]) - no_modes <- which(mzml[,!(mode %in% names(MODEMAP))]) - no_sets <- which(mzml[,!(set %in% all_sets)]) - assert(length(no_files)==0,msg = paste("Non-existent data files at rows:",paste(no_files,collapse = ','), "of",fn_data)) - assert(length(no_modes)==0,msg = paste("Unrecognised modes at rows:",paste(no_modes,collapse = ','), "of", fn_data)) - assert(length(no_sets)==0,msg = paste("Unknown sets at rows:",paste(no_sets,collapse = ','),"of", fn_data)) - - df_k <- file2tab(fn_cmpd_known) - - are_knowns_OK <- shiny::isTruthy(vald_comp_tab(df_k,fn_cmpd_known, checkSMILES=T, checkNames=T)) - assert(are_knowns_OK,msg='Aborted because known compounds table contained errors.') + ## ** Knowns + if (isThingFile(fn_cmpd_unk)) { + df_k <- file2tab(fn_cmpd_known) + are_knowns_OK <- shiny::isTruthy(vald_comp_tab(df_k,fn_cmpd_known, checkSMILES=T, checkNames=T)) + assert(are_knowns_OK,msg='Aborted because known compounds table contained errors.') + } ## ** Unknowns - if (!is.null(fn_cmpd_unk)) { + if (isThingFile(fn_cmpd_unk)) { df_u <- file2tab(fn_cmpd_unk) are_unknowns_OK <- shiny::isTruthy(vald_comp_tab(df_u,fn_cmpd_unk, checkSMILES=F, checkMz=T)) assert(are_unknowns_OK, msg='Aborted because unknown compounds table contained errors.') } - - + return(list(conf=conf,all_sets=all_sets)) +} + +verify_data_df <- function(mzml,all_sets) { + no_files <- which(mzml[,!file.exists(Files)]) + no_modes <- which(mzml[,!(mode %in% names(MODEMAP))]) + no_sets <- which(mzml[,!(set %in% all_sets)]) + assert(length(no_files)==0,msg = paste("Non-existent data files at rows:",paste(no_files,collapse = ','))) + assert(length(no_modes)==0,msg = paste("Unrecognised modes at rows:",paste(no_modes,collapse = ','))) + assert(length(no_sets)==0,msg = paste("Unknown sets at rows:",paste(no_sets,collapse = ','))) +} + +verify_data <- function(conf,all_sets) { + ## * Existence of input files + fn_data <- conf$data + assert(isThingFile(fn_data),msg=paste("Data table does not exist:",fn_data)) + mzml <- file2tab(fn_data) + verify_data_df(mzml=mzml,all_sets) return(conf) } + +##' @export +vrfy_conf <- function(conf) { + ## * Existence of input files + + z <- verify_compounds(conf) + conf <- z$conf + all_sets <- z$all_sets + + verify_data(conf=conf,all_sets=all_sets) + return(conf) +} + + + + + + -- GitLab