annotate GalFilter/filter_wrap.R @ 3:cfd7c4aa5c26 draft default tip

Uploaded
author melpetera
date Fri, 03 Jan 2020 04:09:28 -0500
parents 2c9afaf849ad
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
1 #!/usr/bin/Rscript --vanilla --slave --no-site-file
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
2
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
3 ################################################################################################
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
4 # WRAPPER FOR filter_script.R (GENERIC FILTERS) #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
5 # #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
6 # Author: Melanie PETERA based on Marion LANDI's filters' wrapper #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
7 # User: Galaxy #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
8 # Original data: used with filter_script.R #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
9 # Starting date: 04-09-2014 #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
10 # V-1: Restriction of old filter wrapper to Filter according to factors #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
11 # V-1.1: Modification to allow the choice of meta-data table for filtering #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
12 # V-2: Addition of numerical filter #
3
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
13 # V-2.5: -h option + additional information in stdout #
0
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
14 # #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
15 # #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
16 # Input files: dataMatrix.txt ; sampleMetadata.txt ; variableMetadata.txt #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
17 # Output files: dataMatrix.txt ; sampleMetadata.txt ; variableMetadata.txt #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
18 # #
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
19 ################################################################################################
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
20
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
21
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
22 library(batch) #necessary for parseCommandArgs function
3
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
23
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
24 # Constants
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
25 argv <- commandArgs(trailingOnly = FALSE)
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
26 script.path <- sub("--file=","",argv[grep("--file=",argv)])
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
27 prog.name <- basename(script.path)
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
28
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
29 # Help
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
30 if (length(grep('-h', argv)) >0) {
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
31 cat("Usage:", prog.name,
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
32 "dataMatrix_in myDataMatrix.tsv",
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
33 "sampleMetadata_in mySampleMetadata.tsv",
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
34 "variableMetadata_in myVariableMetadata.tsv",
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
35 "...",
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
36 "\n")
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
37 quit(status = 0)
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
38 }
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
39
0
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
40 args = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
41
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
42 source_local <- function(...){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
43 argv <- commandArgs(trailingOnly = FALSE)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
44 base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
45 for(i in 1:length(list(...))){source(paste(base_dir, list(...)[[i]], sep="/"))}
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
46 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
47 #Import the different functions
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
48 source_local("filter_script.R","RcheckLibrary.R","miniTools.R")
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
49
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
50
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
51 if(length(args) < 8){ stop("NOT enough argument !!!") }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
52
3
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
53
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
54 cat('\nJob starting time:\n',format(Sys.time(), "%a %d %b %Y %X"),
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
55 '\n\n--------------------------------------------------------------------',
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
56 '\nParameters used in "Generic Filter":\n\n')
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
57 print(args)
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
58 cat('--------------------------------------------------------------------\n\n')
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
59
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
60
0
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
61 list_num <- NULL
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
62 if(!is.null(args$parm_col)){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
63 for( i in which(names(args)=="num_file") ){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
64 if(args[[i+2]] %in% c("lower","upper")){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
65 list_num <- c(list_num, list(c(args[[i]], args[[i+1]], args[[i+2]],args[[i+3]])))
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
66 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
67 if(args[[i+2]] %in% c("between","extremity")){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
68 list_num <- c(list_num, list(c(args[[i]], args[[i+1]], args[[i+2]],args[[i+3]],args[[i+4]])))
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
69 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
70 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
71 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
72
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
73 list_fact <- NULL
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
74 if(!is.null(args$factor_col)){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
75 for( i in which(names(args)=="qual_file") ){
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
76 list_fact <- c(list_fact, list(c(args[[i+1]], args[[i+2]], args[[i]])))
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
77 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
78 }
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
79
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
80 filters(args$dataMatrix_in, args$sampleMetadata_in, args$variableMetadata_in,
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
81 args$Numeric, list_num, args$Factors, list_fact,
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
82 args$dataMatrix_out, args$sampleMetadata_out, args$variableMetadata_out)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
83
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
84 #filters(ion.file.in, meta.samp.file.in, meta.ion.file.in,
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
85 # NUM, ls.num, FACT, ls.fact,
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
86 # ion.file.out, meta.samp.file.out, meta.ion.file.out)
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
87
3
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
88
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
89 cat('\n--------------------------------------------------------------------',
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
90 '\nInformation about R (version, Operating System, attached or loaded packages):\n\n')
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
91 sessionInfo()
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
92 cat('--------------------------------------------------------------------\n',
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
93 '\nJob ending time:\n',format(Sys.time(), "%a %d %b %Y %X"))
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
94
cfd7c4aa5c26 Uploaded
melpetera
parents: 0
diff changeset
95
0
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
96 #delete the parameters to avoid the passage to the next tool in .RData image
2c9afaf849ad Uploaded
melpetera
parents:
diff changeset
97 rm(args)