diff BC/batch_correction_docker_wrapper.R @ 4:23314e1192d4 draft default tip

Uploaded
author melpetera
date Thu, 14 Jan 2021 09:56:58 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BC/batch_correction_docker_wrapper.R	Thu Jan 14 09:56:58 2021 +0000
@@ -0,0 +1,76 @@
+#!/usr/bin/env Rscript
+
+################################################################################################
+# batch_correction_main_wrapper                                                                #
+#                                                                                              #
+# Author: Nils Paulhe                                                                          #
+# User: Galaxy                                                                                 #
+# Original data: --                                                                            #
+# Starting date: 2017-12-11                                                                    #
+# Version 1: 2017-12-11                                                                        #
+#                                                                                              #
+#                                                                                              #
+#                                                                                              #
+################################################################################################
+
+library(batch) #necessary for parseCommandArgs function
+
+##------------------------------
+## init. prog. constants
+##------------------------------
+
+argv.wrapper <- commandArgs(trailingOnly = FALSE)
+script.path <- sub("--file=", "", argv.wrapper[grep("--file=", argv.wrapper)])
+prog.name <- basename(script.path)
+
+##------------------------------
+## init. functions
+##------------------------------
+
+script_bypass <- function(other.script.name) {
+  initial.options <- commandArgs(trailingOnly = FALSE)
+  file.arg.name <- "--file="
+  script.name <- sub(file.arg.name, "", initial.options[grep(file.arg.name, initial.options)])
+  script.basename <- dirname(script.name)
+  other.script.fullpath <- paste(sep="/", script.basename, other.script.name)
+  other.script.cmd <- paste(sep=" ", "Rscript", other.script.fullpath, "-h")
+  system(other.script.cmd, wait=TRUE)
+}
+
+source_wrapper <- function(other.script.name){
+  initial.options <- commandArgs(trailingOnly = FALSE)
+  file.arg.name <- "--file="
+  script.name <- sub(file.arg.name, "", initial.options[grep(file.arg.name, initial.options)])
+  script.basename <- dirname(script.name)
+  other.script.fullpath <- paste(sep="/", script.basename, other.script.name)
+  source(other.script.fullpath)
+}
+
+##------------------------------
+## Test Help
+##------------------------------
+
+if (length(grep('-h', argv.wrapper)) > 0) {
+  cat("Usage: Rscript ", 
+    prog.name,
+    "{args} \n",
+    "parameters: \n",
+    "\t-h: display this help message, call all scripts with the same option and exit (optional) \n",
+    "\t--loess \"TRUE\": call the script as \"batch_correction_all_loess_wrapper.R\"; otherwise call it as \"batch_correction_wrapper.R\" one (optional) \n",
+    "for other parameters, please refer to each script specific options and parameters. \n",
+    "\n")
+  script_bypass("batch_correction_all_loess_wrapper.R")
+  script_bypass("batch_correction_wrapper.R")
+  quit(status = 0)
+}
+
+##------------------------------
+## check if loess or normal
+##------------------------------
+
+if (length(grep('--loess', argv.wrapper)) > 0) {
+  source_wrapper("batch_correction_all_loess_wrapper.R")
+} else {
+  source_wrapper("batch_correction_3Lwrapper.R")
+}
+