Mercurial > repos > melpetera > batchcorrection
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") +} +
