From aaf21467457b9d37124240483e4fab22ae1f532b Mon Sep 17 00:00:00 2001 From: Giulio Benedetti Date: Thu, 5 Dec 2024 14:58:15 +0200 Subject: [PATCH 1/4] Added tryCatch to report unexpected errors --- DESCRIPTION | 2 +- NEWS | 5 ++++- R/observers.R | 32 +++++++++++++++++++++----------- R/utils.R | 33 +++++++++++++++++---------------- man/utils.Rd | 2 +- tests/testthat/test-utils.R | 4 ++-- 6 files changed, 46 insertions(+), 32 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index ec97a80..5ade68c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: miaDash -Version: 0.99.4 +Version: 0.99.5 Authors@R: c(person(given = "Giulio", family = "Benedetti", role = c("aut", "cre"), email = "giulio.benedetti@utu.fi", diff --git a/NEWS b/NEWS index 3233f75..999ffc2 100644 --- a/NEWS +++ b/NEWS @@ -14,4 +14,7 @@ Changes in version 0.99.2 Changes in version 0.99.3 * Added tree import option * Fixed bugs with RDS and unifrac -* Added clickable title box \ No newline at end of file +* Added clickable title box + +Changes in version 0.99.5 +* Dealt with reporting unexpected errors diff --git a/R/observers.R b/R/observers.R index 27fbef3..c9639bf 100644 --- a/R/observers.R +++ b/R/observers.R @@ -63,7 +63,10 @@ fun_args <- list(assays = assay_list, colData = coldata, rowData = rowdata, rowTree = row.tree, colTree = col.tree) - rObjects$tse <- .update_tse(TreeSummarizedExperiment, fun_args) + rObjects$tse <- .update_tse( + rObjects$tse, TreeSummarizedExperiment, fun_args + ) + }) }else if( input$format == "foreign" ){ @@ -79,7 +82,9 @@ removeTaxaPrefixes = input$rm.tax.pref, rankFromPrefix = input$rank.from.pref) - rObjects$tse <- .update_tse(convertFromBIOM, fun_args) + rObjects$tse <- .update_tse( + rObjects$tse, convertFromBIOM, fun_args, + ) } else if( input$ftype == "MetaPhlAn" ){ @@ -91,7 +96,9 @@ fun_args <- list(file = input$main.file$datapath, col.data = coldata, tree.file = treefile) - rObjects$tse <- .update_tse(importMetaPhlAn, fun_args) + rObjects$tse <- .update_tse( + rObjects$tse, importMetaPhlAn, fun_args + ) } @@ -129,7 +136,7 @@ fun_args <- list(x = rObjects$tse, assay.type = input$subassay, prevalence = input$prevalence, detection = input$detection) - rObjects$tse <- .update_tse(subset_fun, fun_args) + rObjects$tse <- .update_tse(rObjects$tse, subset_fun, fun_args) }) @@ -140,7 +147,9 @@ isolate({ fun_args <- list(x = rObjects$tse, rank = input$taxrank) - rObjects$tse <- .update_tse(agglomerateByRank, fun_args) + rObjects$tse <- .update_tse( + rObjects$tse, agglomerateByRank, fun_args + ) }) @@ -170,7 +179,9 @@ method = input$trans.method, assay.type = input$assay.type, MARGIN = input$margin, pseudocount = input$pseudocount) - rObjects$tse <- .update_tse(transformAssay, fun_args) + rObjects$tse <- .update_tse( + rObjects$tse, transformAssay, fun_args + ) }) @@ -213,7 +224,7 @@ fun_args <- list(x = rObjects$tse, name = name, assay.type = input$estimate.assay, index = input$alpha.index) - rObjects$tse <- .update_tse(addAlpha, fun_args) + rObjects$tse <- .update_tse(rObjects$tse, addAlpha, fun_args) }) @@ -274,11 +285,10 @@ formula = as.formula(input$rda.formula)) } - print(beta_args) + beta_fun <- eval(parse(text = paste0("run", input$bmethod))) - print(beta_fun) - rObjects$tse <- .update_tse(beta_fun, beta_args) - + + rObjects$tse <- .update_tse(rObjects$tse, beta_fun, beta_args) }) } diff --git a/R/utils.R b/R/utils.R index 5032b33..46c6823 100644 --- a/R/utils.R +++ b/R/utils.R @@ -17,24 +17,25 @@ #' @rdname utils #' @importFrom shiny showNotification -.update_tse <- function(fun, fun_args) { - - messages <- c() - - withCallingHandlers({ - - tse <- do.call(fun, fun_args) +.update_tse <- function(tse, fun, fun_args) { + + tse <- tryCatch({withCallingHandlers({ + + do.call(fun, fun_args) - }, message = function(m) { + # nocov start + }, message = function(m) { + + showNotification(conditionMessage(m)) + invokeRestart("muffleMessage") + + })}, error = function(e) { - messages <<- c(messages, conditionMessage(m)) - invokeRestart("muffleMessage") - - }) - - # nocov start - lapply(messages, showNotification) - # nocov end + .print_message(e, title = "Unexpected error:") + return(tse) + + }) + # nocov end return(tse) } diff --git a/man/utils.Rd b/man/utils.Rd index bc25052..1733ecc 100644 --- a/man/utils.Rd +++ b/man/utils.Rd @@ -20,7 +20,7 @@ An object of class \code{character} of length 5. \usage{ .import_datasets(selection) -.update_tse(fun, fun_args) +.update_tse(tse, fun, fun_args) .print_message(..., title = "Invalid input:") diff --git a/tests/testthat/test-utils.R b/tests/testthat/test-utils.R index 634248a..f35b4e0 100644 --- a/tests/testthat/test-utils.R +++ b/tests/testthat/test-utils.R @@ -8,8 +8,8 @@ test_that("utils", { data(package = "mia")$results[idx, "Item"]) expect_no_error( - tse <- .update_tse(transformAssay, list(x = tse, assay.type = "counts", - method = "relabundance")) + tse <- .update_tse(tse, transformAssay, + list(x = tse, assay.type = "counts", method = "relabundance")) ) item <- NULL From fcbf93cfb77128b35831b98cd6a12a9f68f9a923 Mon Sep 17 00:00:00 2001 From: Giulio Benedetti Date: Wed, 11 Dec 2024 11:15:07 +0200 Subject: [PATCH 2/4] Add mia logo --- NAMESPACE | 1 + R/miaDash.R | 12 ++++++++---- README.md | 2 +- inst/assets/mia_logo.png | Bin 0 -> 63143 bytes 4 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 inst/assets/mia_logo.png diff --git a/NAMESPACE b/NAMESPACE index a55f3b8..0c969bc 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -46,6 +46,7 @@ importFrom(rintrojs,introjs) importFrom(scater,runMDS) importFrom(scater,runPCA) importFrom(shiny,actionButton) +importFrom(shiny,addResourcePath) importFrom(shiny,checkboxInput) importFrom(shiny,conditionalPanel) importFrom(shiny,downloadButton) diff --git a/R/miaDash.R b/R/miaDash.R index 8056560..381a87d 100644 --- a/R/miaDash.R +++ b/R/miaDash.R @@ -22,17 +22,21 @@ #' @export #' @rdname miaDash #' @importFrom iSEE iSEE +#' @importFrom shiny addResourcePath #' @importFrom utils packageVersion #' @importFrom htmltools tags miaDash <- function() { - + + addResourcePath("assets", system.file("assets", package = "miaDash")) + iSEE( landingPage = .landing_page, appTitle = tags$div( + paste0("Microbiome Analysis Dashboard - v", packageVersion("miaDash")), + tags$img(src = "assets/mia_logo.png", height = "40px", style = "margin-left: 10px"), style = "cursor: pointer; font-weight: 500", - onclick = "window.location='https://miadash-microbiome.2.rahtiapp.fi/'", - paste0("Microbiome Analysis Dashboard - v", - packageVersion("miaDash"), " \U0001f9a0")) + onclick = "window.location='https://miadash-microbiome.2.rahtiapp.fi/'") + ) } diff --git a/README.md b/README.md index e57d825..851ae3b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# miaDash +# miaDash [![issues](https://img.shields.io/github/issues/microbiome/miaDash)](https://github.com/microbiome/miaDash/issues) [![pulls](https://img.shields.io/github/issues-pr/microbiome/miaDash)](https://github.com/microbiome/miaDash/pulls) diff --git a/inst/assets/mia_logo.png b/inst/assets/mia_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0185123db103ea33401ffdaaba51ee17fbe0805f GIT binary patch literal 63143 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 Date: Wed, 11 Dec 2024 11:17:50 +0200 Subject: [PATCH 3/4] Update news --- NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 999ffc2..d9200fd 100644 --- a/NEWS +++ b/NEWS @@ -17,4 +17,5 @@ Changes in version 0.99.3 * Added clickable title box Changes in version 0.99.5 -* Dealt with reporting unexpected errors +* Implemented error check system +* Added mia logo \ No newline at end of file From 1e8e3810c4c6623f1c72333c81c515e2c7e72316 Mon Sep 17 00:00:00 2001 From: Giulio Benedetti Date: Wed, 11 Dec 2024 14:39:53 +0200 Subject: [PATCH 4/4] Fix spacing bug --- R/observers.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R/observers.R b/R/observers.R index c9639bf..8c30168 100644 --- a/R/observers.R +++ b/R/observers.R @@ -75,15 +75,15 @@ req(input$main.file) if( input$ftype == "biom" ){ - + biom_object <- read_biom(input$main.file$datapath) fun_args <- list(x = biom_object, removeTaxaPrefixes = input$rm.tax.pref, rankFromPrefix = input$rank.from.pref) - + rObjects$tse <- .update_tse( - rObjects$tse, convertFromBIOM, fun_args, + rObjects$tse, convertFromBIOM, fun_args ) } else if( input$ftype == "MetaPhlAn" ){