diff --git a/Dockerfile b/Dockerfile index fe91e85c..7fb82cdb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -83,6 +83,11 @@ COPY DESCRIPTION NAMESPACE ./ RUN R -e "install.packages(repos=NULL, '.')" && \ find . -maxdepth 1 ! -name R -exec rm -r "{}" \; +# switch to default blas (fixes 'Error in if (any(above.noise))' from scran::quickCluster) +RUN ARCH=$(uname -m) && \ + update-alternatives --set "libblas.so.3-${ARCH}-linux-gnu" "/usr/lib/${ARCH}-linux-gnu/blas/libblas.so.3" && \ + update-alternatives --set "liblapack.so.3-${ARCH}-linux-gnu" "/usr/lib/${ARCH}-linux-gnu/lapack/liblapack.so.3" + # ---------- # PRODUCTION #----------- diff --git a/R/run_dseqr.R b/R/run_dseqr.R index 0e25715b..6da10250 100644 --- a/R/run_dseqr.R +++ b/R/run_dseqr.R @@ -89,13 +89,13 @@ run_dseqr <- function(app_name, # pass arguments to app through options then run shiny::shinyOptions( - data_dir = normalizePath(data_dir), + data_dir = normalizePath(data_dir, mustWork = FALSE), app_name = app_name, - pert_query_dir = normalizePath(pert_query_dir), - pert_signature_dir = normalizePath(pert_signature_dir), - gs_dir = normalizePath(gs_dir), - indices_dir = normalizePath(indices_dir), - tx2gene_dir = normalizePath(tx2gene_dir), + pert_query_dir = normalizePath(pert_query_dir, mustWork = FALSE), + pert_signature_dir = normalizePath(pert_signature_dir, mustWork = FALSE), + gs_dir = normalizePath(gs_dir, mustWork = FALSE), + indices_dir = normalizePath(indices_dir, mustWork = FALSE), + tx2gene_dir = normalizePath(tx2gene_dir, mustWork = FALSE), tabs = tabs, logout_url = logout_url, is_local = is_local, diff --git a/inst/app/server.R b/inst/app/server.R index d605b8b7..200a3548 100644 --- a/inst/app/server.R +++ b/inst/app/server.R @@ -107,7 +107,7 @@ server <- function(input, output, session) { if (!is_local) { options(shiny.error = function() { observe({ - user_name <- user_name() + user_name <- session$request$HTTP_X_SP_USERID send_slack_error(app_name, user_name) }) }) @@ -206,7 +206,6 @@ server <- function(input, output, session) { projects_table <- reactive({ projects <- project_choices() project <- project() - req(project) nsc <- sapply(projects, get_num_sc_datasets, user_dir()) nbulk <- sapply(projects, get_num_bulk_datasets, user_dir()) @@ -401,7 +400,7 @@ server <- function(input, output, session) { project_dir <- reactive(file.path(user_dir(), project())) prev_path <- reactive(file.path(user_dir(), 'prev_project.qs')) - project <- reactiveVal() + project <- reactiveVal('default') observe({ project(qread.safe(prev_path(), .nofile = 'default'))