Mercurial > repos > vandelj > giant_factor_generator
annotate src/LIMMAscriptV4.R @ 2:1f4a30d19264 draft default tip
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit 89b7d0e8812f53222691cffe29bd48be6519829d"
| author | vandelj | 
|---|---|
| date | Fri, 25 Sep 2020 08:53:02 +0000 | 
| parents | 4764dc6a1019 | 
| children | 
| rev | line source | 
|---|---|
| 
0
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
1 # A command-line interface for LIMMA to use with Galaxy | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
2 # written by Jimmy Vandel | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
3 # one of these arguments is required: | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
4 # | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
5 # | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
6 initial.options <- commandArgs(trailingOnly = FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
7 file.arg.name <- "--file=" | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
8 script.name <- sub(file.arg.name, "", initial.options[grep(file.arg.name, initial.options)]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
9 script.basename <- dirname(script.name) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
10 source(file.path(script.basename, "utils.R")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
11 source(file.path(script.basename, "getopt.R")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
12 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
13 #addComment("Welcome R!") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
14 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
15 # setup R error handling to go to stderr | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
16 options( show.error.messages=F, error = function () { cat(geterrmessage(), file=stderr() ); q( "no", 1, F ) } ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
17 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
18 # we need that to not crash galaxy with an UTF8 error on German LC settings. | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
19 loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
20 loc <- Sys.setlocale("LC_NUMERIC", "C") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
21 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
22 #get starting time | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
23 start.time <- Sys.time() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
24 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
25 options(stringAsfactors = FALSE, useFancyQuotes = FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
26 args <- commandArgs() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
27 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
28 # get options, using the spec as defined by the enclosed list. | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
29 # we read the options from the default: commandArgs(TRUE). | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
30 spec <- matrix(c( | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
31 "dataFile", "i", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
32 "factorInfo","a", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
33 "blockingInfo","b", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
34 "dicoRenaming","g",1,"character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
35 "blockingPolicy","u", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
36 "fdrThreshold","t", 1, "double", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
37 "thresholdFC","d", 1, "double", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
38 "format", "f", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
39 "histo","h", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
40 "volcano","v", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
41 "factorsContrast","r", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
42 "contrastNames","p", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
43 "firstGroupContrast","m", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
44 "secondGroupContrast","n", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
45 "controlGroups","c", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
46 "fratioFile","s",1,"character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
47 "organismID","x",1,"character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
48 "rowNameType","y",1,"character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
49 "quiet", "q", 0, "logical", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
50 "log", "l", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
51 "outputFile" , "o", 1, "character", | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
52 "outputDfFile" , "z", 1, "character"), | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
53 byrow=TRUE, ncol=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
54 opt <- getopt(spec) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
55 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
56 # enforce the following required arguments | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
57 if (is.null(opt$log)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
58 addComment("[ERROR]'log file' is required\n") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
59 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
60 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
61 addComment("[INFO]Start of R script",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
62 if (is.null(opt$dataFile)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
63 addComment("[ERROR]'dataFile' is required",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
64 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
65 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
66 if (!is.null(opt$blockingInfo) && is.null(opt$blockingPolicy) ) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
67 addComment("[ERROR]blocking policy is missing",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
68 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
69 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
70 if (is.null(opt$dicoRenaming)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
71 addComment("[ERROR]renaming dictionnary is missing",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
72 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
73 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
74 if (is.null(opt$factorsContrast)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
75 addComment("[ERROR]factor informations are missing",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
76 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
77 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
78 if (length(opt$firstGroupContrast)!=length(opt$secondGroupContrast)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
79 addComment("[ERROR]some contrast groups seems to be empty",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
80 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
81 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
82 if (is.null(opt$factorInfo)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
83 addComment("[ERROR]factors info is missing",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
84 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
85 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
86 if (is.null(opt$format)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
87 addComment("[ERROR]'output format' is required",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
88 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
89 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
90 if (is.null(opt$fdrThreshold)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
91 addComment("[ERROR]'FDR threshold' is required",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
92 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
93 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
94 if (is.null(opt$outputFile) || is.null(opt$outputDfFile)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
95 addComment("[ERROR]'output files' are required",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
96 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
97 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
98 if (is.null(opt$thresholdFC)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
99 addComment("[ERROR]'FC threshold' is required",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
100 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
101 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
102 if (is.null(opt$fratioFile)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
103 addComment("[ERROR]F-ratio parameter is missing",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
104 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
105 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
106 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
107 #demande si le script sera bavard | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
108 verbose <- if (is.null(opt$quiet)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
109 TRUE | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
110 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
111 FALSE | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
112 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
113 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
114 #paramètres internes | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
115 #pour savoir si on remplace les FC calculés par LIMMA par un calcul du LS-MEAN (ie moyenne de moyennes de chaque groupe dans chaque terme du contraste plutôt qu'une moyenne globale dans chaque terme) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
116 useLSmean=FALSE | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
117 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
118 addComment("[INFO]Parameters checked!",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
119 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
120 addComment(c("[INFO]Working directory: ",getwd()),TRUE,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
121 addComment(c("[INFO]Command line: ",args),TRUE,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
122 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
123 #directory for plots | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
124 dir.create(file.path(getwd(), "plotDir")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
125 dir.create(file.path(getwd(), "plotLyDir")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
126 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
127 #charge des packages silencieusement | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
128 suppressPackageStartupMessages({ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
129 library("methods") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
130 library("limma") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
131 library("biomaRt") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
132 library("ggplot2") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
133 library("plotly") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
134 library("stringr") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
135 library("RColorBrewer") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
136 }) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
137 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
138 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
139 #chargement du fichier dictionnaire de renommage | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
140 renamingDico=read.csv(file=file.path(getwd(), opt$dicoRenaming),header=F,sep="\t",colClasses="character") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
141 rownames(renamingDico)=renamingDico[,2] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
142 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
143 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
144 #chargement des fichiers en entrée | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
145 expDataMatrix=read.csv(file=file.path(getwd(), opt$dataFile),header=F,sep="\t",colClasses="character") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
146 #remove first row to convert it as colnames (to avoid X before colnames with header=T) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
147 colNamesData=expDataMatrix[1,-1] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
148 expDataMatrix=expDataMatrix[-1,] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
149 #remove first colum to convert it as rownames | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
150 rowNamesData=expDataMatrix[,1] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
151 expDataMatrix=expDataMatrix[,-1] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
152 if(is.data.frame(expDataMatrix)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
153 expDataMatrix=data.matrix(expDataMatrix) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
154 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
155 expDataMatrix=data.matrix(as.numeric(expDataMatrix)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
156 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
157 dimnames(expDataMatrix)=list(rowNamesData,colNamesData) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
158 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
159 #test the number of rows that are constant in dataMatrix | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
160 nbConstantRows=length(which(unlist(apply(expDataMatrix,1,var))==0)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
161 if(nbConstantRows>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
162 addComment(c("[WARNING]",nbConstantRows,"rows are constant across conditions in input data file"),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
163 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
164 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
165 #test if all condition names are present in dico | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
166 if(!all(colnames(expDataMatrix) %in% rownames(renamingDico))){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
167 addComment("[ERROR]Missing condition names in renaming dictionary",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
168 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
169 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
170 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
171 addComment("[INFO]Expression data loaded and checked",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
172 addComment(c("[INFO]Dim of expression matrix:",dim(expDataMatrix)),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
173 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
174 #chargement du fichier des facteurs | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
175 factorInfoMatrix=read.csv(file=file.path(getwd(), opt$factorInfo),header=F,sep="\t",colClasses="character") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
176 #remove first row to convert it as colnames | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
177 colnames(factorInfoMatrix)=factorInfoMatrix[1,] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
178 factorInfoMatrix=factorInfoMatrix[-1,] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
179 #use first colum to convert it as rownames but not removing it to avoid conversion as vector in unique factor case | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
180 rownames(factorInfoMatrix)=factorInfoMatrix[,1] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
181 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
182 if(length(setdiff(colnames(expDataMatrix),rownames(factorInfoMatrix)))!=0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
183 addComment("[ERROR]Missing samples in factor file",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
184 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
185 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
186 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
187 #order sample as in expression matrix and remove spurious sample | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
188 factorInfoMatrix=factorInfoMatrix[colnames(expDataMatrix),] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
189 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
190 #test if all values names are present in dico | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
191 if(!all(unlist(factorInfoMatrix) %in% rownames(renamingDico))){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
192 addComment("[ERROR]Missing factor names in renaming dictionary",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
193 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
194 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
195 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
196 addComment("[INFO]Factors OK",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
197 addComment(c("[INFO]Dim of factorInfo matrix:",dim(factorInfoMatrix)),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
198 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
199 ##manage blocking factor | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
200 blockingFactor=NULL | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
201 blockinFactorsList=NULL | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
202 if(!is.null(opt$blockingInfo)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
203 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
204 #chargement du fichier des blocking factors | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
205 blockingInfoMatrix=read.csv(file=file.path(getwd(), opt$blockingInfo),header=F,sep="\t",colClasses="character") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
206 #remove first row to convert it as colnames | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
207 colnames(blockingInfoMatrix)=blockingInfoMatrix[1,] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
208 blockingInfoMatrix=blockingInfoMatrix[-1,] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
209 #use first colum to convert it as rownames but not removing it to avoid conversion as vector in unique factor case | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
210 rownames(blockingInfoMatrix)=blockingInfoMatrix[,1] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
211 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
212 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
213 if(length(setdiff(colnames(expDataMatrix),rownames(blockingInfoMatrix)))!=0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
214 addComment("[ERROR]Missing samples in blocking factor file",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
215 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
216 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
217 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
218 #order sample as in expression matrix | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
219 blockingInfoMatrix=blockingInfoMatrix[colnames(expDataMatrix),] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
220 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
221 #test if all blocking names are present in dico | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
222 if(!all(unlist(blockingInfoMatrix) %in% rownames(renamingDico))){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
223 addComment("[ERROR]Missing blocking names in renaming dictionary",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
224 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
225 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
226 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
227 #remove blocking factors allready present as real factors | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
228 blockingNotInMainFactors=setdiff(colnames(blockingInfoMatrix)[-1],colnames(factorInfoMatrix)[-1]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
229 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
230 if(length(blockingNotInMainFactors)<(ncol(blockingInfoMatrix)-1))addComment("[WARNING]Blocking factors cannot be principal factors",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
231 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
232 if(length(blockingNotInMainFactors)>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
233 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
234 blockingInfoMatrix=blockingInfoMatrix[,c(colnames(blockingInfoMatrix)[1],blockingNotInMainFactors)] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
235 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
236 groupBlocking=rep("c",ncol(expDataMatrix)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
237 #for each blocking factor | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
238 for(blockingFact in blockingNotInMainFactors){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
239 if(opt$blockingPolicy=="correlated"){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
240 indNewFact=as.numeric(factor(blockingInfoMatrix[,blockingFact])) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
241 groupBlocking=paste(groupBlocking,indNewFact,sep="_") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
242 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
243 if(is.null(blockinFactorsList))blockinFactorsList=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
244 blockinFactorsList[[blockingFact]]=factor(unlist(lapply(blockingInfoMatrix[,blockingFact],function(x)paste(c(blockingFact,"_",x),collapse="")))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
245 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
246 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
247 if(opt$blockingPolicy=="correlated"){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
248 blockingFactor=factor(groupBlocking) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
249 if(length(levels(blockingFactor))==1){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
250 addComment("[ERROR]Selected blocking factors seems to be constant",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
251 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
252 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
253 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
254 addComment("[INFO]Blocking info OK",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
255 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
256 addComment("[WARNING]No blocking factors will be considered",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
257 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
258 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
259 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
260 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
261 ##rename different input parameters using renamingDictionary | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
262 opt$factorsContrast=renamingDico[unlist(lapply(unlist(strsplit(opt$factorsContrast,",")),function(x)which(renamingDico[,1]==x))),2] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
263 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
264 userDefinedContrasts=FALSE | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
265 if(!is.null(opt$firstGroupContrast) && !is.null(opt$secondGroupContrast)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
266 userDefinedContrasts=TRUE | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
267 for(iContrast in 1:length(opt$firstGroupContrast)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
268 opt$firstGroupContrast[iContrast]=paste(unlist(lapply(unlist(strsplit(opt$firstGroupContrast[iContrast],",")),function(x)paste(renamingDico[unlist(lapply(unlist(strsplit(x,"\\*")),function(x)which(renamingDico[,1]==x))),2],collapse="*"))),collapse=",") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
269 opt$secondGroupContrast[iContrast]=paste(unlist(lapply(unlist(strsplit(opt$secondGroupContrast[iContrast],",")),function(x)paste(renamingDico[unlist(lapply(unlist(strsplit(x,"\\*")),function(x)which(renamingDico[,1]==x))),2],collapse="*"))),collapse=",") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
270 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
271 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
272 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
273 if(!is.null(opt$controlGroups)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
274 renamedGroups=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
275 for(iGroup in unlist(strsplit(opt$controlGroups,","))){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
276 renamedControlGroup=paste(renamingDico[unlist(lapply(unlist(strsplit(iGroup,":")),function(x)which(renamingDico[,1]==x))),2],collapse=":") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
277 if(length(renamedControlGroup)==0 || any(which(unlist(gregexpr(text = renamedControlGroup,pattern = ":"))==-1))){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
278 addComment("[ERROR]Control groups for interaction seem to mismatch, please check them.",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
279 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
280 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
281 renamedGroups=c(renamedGroups,renamedControlGroup) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
282 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
283 opt$controlGroups=renamedGroups | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
284 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
285 addComment("[INFO]Contrast variables are renamed to avoid confusion",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
286 ##renaming done | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
287 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
288 #to convert factor as numeric value --> useless now ? | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
289 #expDataMatrix=apply(expDataMatrix,c(1,2),function(x)as.numeric(paste(x))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
290 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
291 #get factors info for LIMMA | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
292 factorsList=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
293 for(iFactor in opt$factorsContrast){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
294 if(!(iFactor %in% colnames(factorInfoMatrix))){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
295 addComment("[ERROR]Required factors are missing in input file",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
296 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
297 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
298 factorsList[[iFactor]]=factor(unlist(lapply(factorInfoMatrix[,iFactor],function(x)paste(c(iFactor,"_",x),collapse="")))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
299 if(length(levels(factorsList[[iFactor]]))==1){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
300 addComment("[ERROR]One selected factor seems to be constant",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
301 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
302 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
303 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
304 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
305 #check if there is at least 2 factors to allow interaction computation | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
306 if(!is.null(opt$controlGroups) && length(factorsList)<2){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
307 addComment("[ERROR]You cannot ask for interaction with less than 2 factors",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
308 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
309 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
310 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
311 #merge all factors as a single one | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
312 factorsMerged=as.character(factorsList[[opt$factorsContrast[1]]]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
313 for(iFactor in opt$factorsContrast[-1]){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
314 factorsMerged=paste(factorsMerged,as.character(factorsList[[iFactor]]),sep=".") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
315 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
316 factorsMerged=factor(factorsMerged) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
317 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
318 #checked that coefficient number (ie. factorsMerged levels) is strictly smaller than sample size | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
319 if(length(levels(factorsMerged))>=length(factorsMerged)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
320 addComment(c("[ERROR]No enough samples (",length(factorsMerged),") to estimate ",length(levels(factorsMerged))," coefficients"),T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
321 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
322 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
323 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
324 #get the sample size of each factor values | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
325 sampleSizeFactor=table(factorsMerged) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
326 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
327 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
328 if(!is.null(blockinFactorsList)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
329 factorString=c("blockinFactorsList[['", names(blockinFactorsList)[1],"']]") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
330 for(blockingFact in names(blockinFactorsList)[-1]){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
331 factorString=c(factorString," + blockinFactorsList[['",blockingFact,"']]") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
332 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
333 design = model.matrix(as.formula(paste(c("~ factorsMerged +",factorString," + 0"),collapse=""))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
334 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
335 #rename design columns | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
336 coeffMeaning = levels(factorsMerged) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
337 for(blockingFact in blockinFactorsList){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
338 coeffMeaning=c(coeffMeaning,levels(blockingFact)[-1]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
339 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
340 colnames(design) = coeffMeaning | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
341 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
342 design = model.matrix(as.formula( ~ factorsMerged + 0)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
343 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
344 #rename degin columns | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
345 coeffMeaning = levels(factorsMerged) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
346 colnames(design) = coeffMeaning | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
347 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
348 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
349 addComment(c("[INFO]Available coefficients: ",coeffMeaning),T,opt$log,display=F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
350 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
351 estimableCoeff=which(colSums(design)!=0) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
352 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
353 addComment("[INFO]Design done",T,opt$log,display=F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
354 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
355 #use blocking factor if exists | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
356 if(!is.null(blockingFactor)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
357 corfit <- duplicateCorrelation(expDataMatrix, design, block=blockingFactor) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
358 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
359 addComment(c("[INFO]Correlation within groups: ",corfit$consensus.correlation),T,opt$log,display=F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
360 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
361 #run linear model fit | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
362 data.fit = lmFit(expDataMatrix,design,block = blockingFactor, correlation=corfit$consensus.correlation) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
363 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
364 #run linear model fit | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
365 data.fit = lmFit(expDataMatrix,design) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
366 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
367 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
368 estimatedCoeff=which(!is.na(data.fit$coefficients[1,])) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
369 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
370 addComment("[INFO]Lmfit done",T,opt$log,display=F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
371 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
372 #catch situation where some coefficients cannot be estimated, probably due to dependances between design columns | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
373 #if(length(setdiff(estimableCoeff,estimatedCoeff))>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
374 # addComment("[ERROR]Error in design matrix, check your group definitions",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
375 # q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
376 #} | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
377 #to strong condition, should return ERROR only when coefficients relative to principal factors cannot be estimated, otherwise, return a simple WARNING | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
378 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
379 #define requested contrasts | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
380 requiredContrasts=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
381 humanReadingContrasts=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
382 persoContrastName=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
383 if(userDefinedContrasts){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
384 for(iContrast in 1:length(opt$firstGroupContrast)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
385 posGroup=unlist(lapply(unlist(strsplit(opt$firstGroupContrast[iContrast],",")),function(x)paste(paste(opt$factorsContrast,unlist(strsplit(x,"\\*")),sep="_"),collapse="."))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
386 negGroup=unlist(lapply(unlist(strsplit(opt$secondGroupContrast[iContrast],",")),function(x)paste(paste(opt$factorsContrast,unlist(strsplit(x,"\\*")),sep="_"),collapse="."))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
387 #clear posGroup and negGroup from empty groups | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
388 emptyPosGroups=which(!(posGroup%in%coeffMeaning)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
389 if(length(emptyPosGroups)>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
390 addComment(c("[WARNING]The group(s)",posGroup[emptyPosGroups],"is/are removed from contrast as it/they is/are empty"),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
391 posGroup=posGroup[-emptyPosGroups] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
392 currentHumanContrast=paste(unlist(strsplit(opt$firstGroupContrast[iContrast],","))[-emptyPosGroups],collapse="+") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
393 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
394 currentHumanContrast=paste(unlist(strsplit(opt$firstGroupContrast[iContrast],",")),collapse="+") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
395 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
396 emptyNegGroups=which(!(negGroup%in%coeffMeaning)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
397 if(length(emptyNegGroups)>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
398 addComment(c("[WARNING]The group(s)",negGroup[emptyNegGroups],"is/are removed from contrast as it/they is/are empty"),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
399 negGroup=negGroup[-emptyNegGroups] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
400 currentHumanContrast=paste(c(currentHumanContrast,unlist(strsplit(opt$secondGroupContrast[iContrast],","))[-emptyNegGroups]),collapse="-") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
401 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
402 currentHumanContrast=paste(c(currentHumanContrast,unlist(strsplit(opt$secondGroupContrast[iContrast],","))),collapse="-") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
403 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
404 if(length(posGroup)==0 || length(negGroup)==0 ){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
405 addComment(c("[WARNING]Contrast",currentHumanContrast,"cannot be estimated due to empty group"),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
406 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
407 if(all(posGroup%in%negGroup) && all(negGroup%in%posGroup)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
408 addComment(c("[WARNING]Contrast",currentHumanContrast,"cannot be estimated due to null contrast"),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
409 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
410 #get coefficients required for first group added as positive | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
411 positiveCoeffWeights=sampleSizeFactor[posGroup]/sum(sampleSizeFactor[posGroup]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
412 #positiveCoeffWeights=rep(1,length(posGroup)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
413 #names(positiveCoeffWeights)=names(sampleSizeFactor[posGroup]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
414 #get coefficients required for second group added as negative | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
415 negativeCoeffWeights=sampleSizeFactor[negGroup]/sum(sampleSizeFactor[negGroup]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
416 #negativeCoeffWeights=rep(1,length(negGroup)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
417 #names(negativeCoeffWeights)=names(sampleSizeFactor[negGroup]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
418 #build the resulting contrast | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
419 currentContrast=paste(paste(positiveCoeffWeights[posGroup],posGroup,sep="*"),collapse="+") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
420 currentContrast=paste(c(currentContrast,paste(paste(negativeCoeffWeights[negGroup],negGroup,sep="*"),collapse="-")),collapse="-") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
421 requiredContrasts=c(requiredContrasts,currentContrast) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
422 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
423 #build the human reading contrast | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
424 humanReadingContrasts=c(humanReadingContrasts,currentHumanContrast) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
425 if(!is.null(opt$contrastNames) && nchar(opt$contrastNames[iContrast])>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
426 persoContrastName=c(persoContrastName,opt$contrastNames[iContrast]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
427 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
428 persoContrastName=c(persoContrastName,"") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
429 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
430 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
431 addComment(c("[INFO]Contrast added : ",currentHumanContrast),T,opt$log,display=F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
432 addComment(c("with complete formula ",currentContrast),T,opt$log,display=F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
433 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
434 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
435 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
436 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
437 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
438 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
439 #define the true formula with interactions to get interaction coefficients | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
440 factorString=c("factorsList[['", names(factorsList)[1],"']]") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
441 for(iFactor in names(factorsList)[-1]){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
442 factorString=c(factorString," * factorsList[['",iFactor,"']]") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
443 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
444 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
445 if(!is.null(blockinFactorsList)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
446 for(blockingFact in names(blockinFactorsList)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
447 factorString=c(factorString," + blockinFactorsList[['",blockingFact,"']]") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
448 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
449 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
450 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
451 #should not be null at the end | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
452 allFtestMeanSquare=NULL | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
453 #to get the F-test values | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
454 estimatedInteractions=rownames(anova(lm(as.formula(paste(c("expDataMatrix[1,] ~ ",factorString),collapse=""))))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
455 estimatedInteractions=c(unlist(lapply(estimatedInteractions[-length(estimatedInteractions)],function(x){temp=unlist(strsplit(x,"[ \" | : ]"));paste(temp[seq(2,length(temp),3)],collapse=":")})),estimatedInteractions[length(estimatedInteractions)]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
456 #rename estimated interaction terms using renamingDico | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
457 estimatedInteractions=c(unlist(lapply(estimatedInteractions[-length(estimatedInteractions)],function(x)paste(renamingDico[unlist(strsplit(x,":")),1],collapse=":"))),estimatedInteractions[length(estimatedInteractions)]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
458 t <- unlist(apply(expDataMatrix,1,function(x){temp=anova(lm(as.formula(paste(c("x ~ ",factorString),collapse=""))))$`Mean Sq`;temp/temp[length(temp)]})) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
459 allFtestMeanSquare <- t(matrix(t,nrow=length(estimatedInteractions))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
460 #remove from allFtest rows containing NA | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
461 if(length(which(is.na(allFtestMeanSquare[,1])))>0)allFtestMeanSquare=allFtestMeanSquare[-(which(is.na(allFtestMeanSquare[,1]))),] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
462 colnames(allFtestMeanSquare)=estimatedInteractions | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
463 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
464 #add contrasts corresponding to interaction terms | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
465 if(!is.null(opt$controlGroups)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
466 #first load user defined control group for each factor | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
467 controlGroup=rep(NA,length(factorsList)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
468 names(controlGroup)=names(factorsList) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
469 for(iGroup in opt$controlGroups){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
470 splitGroup=unlist(strsplit(iGroup,":")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
471 splitGroup[2]=paste(splitGroup[1],splitGroup[2],sep = "_") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
472 #check if defined control group is really a level of the corresponding factor | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
473 if(!splitGroup[1]%in%names(controlGroup) || !splitGroup[2]%in%factorsList[[splitGroup[1]]]){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
474 addComment(c("[ERROR]The factor name",splitGroup[1],"does not exist or group name",splitGroup[2]),T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
475 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
476 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
477 if(!is.na(controlGroup[splitGroup[1]])){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
478 addComment("[ERROR]Several control groups are defined for the same factor, please select only one control group for each factor if you want to compute interaction contrasts",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
479 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
480 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
481 controlGroup[splitGroup[1]]=splitGroup[2] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
482 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
483 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
484 #check if all factor have a defined control group | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
485 if(any(is.na(controlGroup))){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
486 addComment("[ERROR]Missing control group for some factors, please check them if you want to compute interaction contrasts",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
487 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
488 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
489 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
490 nbFactors=length(factorsList) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
491 interactionContrasts=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
492 contrastClass=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
493 #initialize list for the first level | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
494 newPreviousLoopContrast=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
495 for(iFactorA in 1:(nbFactors-1)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
496 nameFactorA=names(factorsList)[iFactorA] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
497 compA=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
498 for(levelA in setdiff(levels(factorsList[[iFactorA]]),controlGroup[nameFactorA])){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
499 compA=c(compA,paste(levelA,controlGroup[nameFactorA],sep="-")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
500 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
501 newPreviousLoopContrast[[as.character(iFactorA)]]=compA | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
502 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
503 #make a loop for growing interaction set | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
504 for(globalIfactor in 1:(nbFactors-1)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
505 previousLoopContrast=newPreviousLoopContrast | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
506 newPreviousLoopContrast=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
507 #factor A reuse contrasts made at previsous loop | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
508 for(iFactorA in names(previousLoopContrast)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
509 compA=previousLoopContrast[[iFactorA]] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
510 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
511 if(max(as.integer(unlist(strsplit(iFactorA,"\\."))))<nbFactors){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
512 #factor B is the new factor to include in intreraction set | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
513 for(iFactorB in (max(as.integer(unlist(strsplit(iFactorA,"\\."))))+1):nbFactors){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
514 nameFactorB=names(factorsList)[iFactorB] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
515 #keep contrasts identified trough interacting factors set | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
516 newPreviousLoopContrast[[paste(iFactorA,iFactorB,sep=".")]]=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
517 for(iCompA in compA){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
518 for(levelB in setdiff(levels(factorsList[[iFactorB]]),controlGroup[nameFactorB])){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
519 #decompose the contrast compA to apply the new level of factor B on each term | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
520 temp=unlist(strsplit(iCompA,"[ + ]")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
521 splitCompA=temp[1] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
522 for(iTemp in temp[-1])splitCompA=c(splitCompA,"+",iTemp) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
523 splitCompA=unlist(lapply(splitCompA,function(x){temp=unlist(strsplit(x,"-"));splitCompB=temp[1];for(iTemp in temp[-1])splitCompB=c(splitCompB,"-",iTemp);splitCompB})) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
524 #apply on each contrast term the new level of factor B | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
525 firstTerm=paste(unlist(lapply(splitCompA,function(x)if(x!="+" && x!="-"){paste(x,levelB,sep=".")}else{x})),collapse="") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
526 secondTerm=negativeExpression(paste(unlist(lapply(splitCompA,function(x)if(x!="+" && x!="-"){paste(x,controlGroup[nameFactorB],sep=".")}else{x})),collapse="")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
527 currentContrast=paste(c(firstTerm,secondTerm),collapse="") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
528 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
529 newPreviousLoopContrast[[paste(iFactorA,iFactorB,sep=".")]]=c(newPreviousLoopContrast[[paste(iFactorA,iFactorB,sep=".")]],currentContrast) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
530 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
531 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
532 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
533 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
534 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
535 for(iContrast in names(newPreviousLoopContrast)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
536 contrastClass=c(contrastClass,rep(iContrast,length(newPreviousLoopContrast[[iContrast]]))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
537 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
538 interactionContrasts=c(interactionContrasts,unlist(newPreviousLoopContrast)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
539 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
540 #make human title for interactions | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
541 names(interactionContrasts)=contrastClass | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
542 humanReadingInteraction=unlist(lapply(interactionContrasts,function(x)gsub("\\.",":",unlist(strsplit(x,"[+-]"))[1]))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
543 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
544 contrastToIgnore=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
545 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
546 #complete with control groups and order to match to coeffs | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
547 for(iContrast in 1:length(interactionContrasts)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
548 missingFactor=setdiff(1:nbFactors,as.integer(unlist(strsplit(names(interactionContrasts[iContrast]),"\\.")))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
549 #decompose the contrast | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
550 temp=unlist(strsplit(interactionContrasts[iContrast],"[ + ]")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
551 splitContrast=temp[1] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
552 for(iTemp in temp[-1])splitContrast=c(splitContrast,"+",iTemp) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
553 splitContrast=unlist(lapply(splitContrast,function(x){temp=unlist(strsplit(x,"-"));splitCompB=temp[1];for(iTemp in temp[-1])splitCompB=c(splitCompB,"-",iTemp);splitCompB})) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
554 for(iFactor in missingFactor){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
555 for(iTerm in 1:length(splitContrast)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
556 if(splitContrast[iTerm]!="+" && splitContrast[iTerm]!="-"){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
557 splitTerm=unlist(strsplit(splitContrast[iTerm],"\\.")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
558 if(iFactor==1)splitContrast[iTerm]=paste(c(controlGroup[names(factorsList)[iFactor]],splitTerm),collapse=".") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
559 if(iFactor==nbFactors)splitContrast[iTerm]=paste(c(splitTerm,controlGroup[names(factorsList)[iFactor]]),collapse=".") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
560 if(iFactor>1 && iFactor<nbFactors)splitContrast[iTerm]=paste(c(splitTerm[1:(iFactor-1)],controlGroup[names(factorsList)[iFactor]],splitTerm[iFactor:length(splitTerm)]),collapse=".") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
561 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
562 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
563 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
564 interactionContrasts[iContrast]=paste(splitContrast,collapse="") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
565 if(all(splitContrast[seq(1,length(splitContrast),2)]%in%coeffMeaning)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
566 addComment(c("[INFO]Interaction contrast added : ",humanReadingInteraction[iContrast]),T,opt$log,display=F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
567 addComment(c("with complete formula ",interactionContrasts[iContrast]),T,opt$log,display=F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
568 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
569 contrastToIgnore=c(contrastToIgnore,iContrast) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
570 addComment(c("[WARNING]Interaction contrast",humanReadingInteraction[iContrast],"is removed due to empty group"),T,opt$log,display=F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
571 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
572 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
573 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
574 #add interaction contrasts to global contrast list | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
575 if(length(contrastToIgnore)>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
576 requiredContrasts=c(requiredContrasts,interactionContrasts[-contrastToIgnore]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
577 humanReadingContrasts=c(humanReadingContrasts,humanReadingInteraction[-contrastToIgnore]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
578 persoContrastName=c(persoContrastName,rep("",length(humanReadingInteraction[-contrastToIgnore]))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
579 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
580 requiredContrasts=c(requiredContrasts,interactionContrasts) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
581 humanReadingContrasts=c(humanReadingContrasts,humanReadingInteraction) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
582 persoContrastName=c(persoContrastName,rep("",length(humanReadingInteraction))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
583 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
584 }#end of intreaction contrasts | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
585 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
586 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
587 #remove from requiredContrasts contrasts that cannot be estimated | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
588 toRemove=unique(unlist(lapply(setdiff(coeffMeaning,names(estimatedCoeff)),function(x)grep(x,requiredContrasts)))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
589 if(length(toRemove)>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
590 addComment(c("[WARNING]",length(toRemove)," contrasts are removed, due to missing coefficients"),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
591 requiredContrasts=requiredContrasts[-toRemove] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
592 humanReadingContrasts=humanReadingContrasts[-toRemove] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
593 persoContrastName=persoContrastName[-toRemove] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
594 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
595 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
596 if(length(requiredContrasts)==0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
597 addComment("[ERROR]No contrast to compute, please check your contrast definition.",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
598 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
599 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
600 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
601 #compute for each contrast mean of coefficients in posGroup and negGroup for FC computation of log(FC) with LSmean as in Partek | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
602 meanPosGroup=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
603 meanNegGroup=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
604 for(iContrast in 1:length(requiredContrasts)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
605 #define posGroup and negGroup | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
606 #first split contrast | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
607 temp=unlist(strsplit(requiredContrasts[iContrast],"[ + ]")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
608 splitContrast=temp[1] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
609 for(iTemp in temp[-1])splitContrast=c(splitContrast,"+",iTemp) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
610 splitContrast=unlist(lapply(splitContrast,function(x){temp=unlist(strsplit(x,"-"));splitCompB=temp[1];for(iTemp in temp[-1])splitCompB=c(splitCompB,"-",iTemp);splitCompB})) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
611 #and then put each term in good group | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
612 posGroup=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
613 negGroup=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
614 nextIsPos=TRUE | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
615 for(iSplit in splitContrast){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
616 if(iSplit=="+")nextIsPos=TRUE | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
617 if(iSplit=="-")nextIsPos=FALSE | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
618 if(iSplit!="-" && iSplit!="+"){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
619 #remove weights of contrast terms | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
620 iSplitBis=unlist(strsplit(iSplit,"[*]")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
621 iSplitBis=iSplitBis[length(iSplitBis)] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
622 if(nextIsPos)posGroup=c(posGroup,iSplitBis) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
623 else negGroup=c(negGroup,iSplitBis) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
624 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
625 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
626 #compute means for each group | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
627 meanPosGroup[[iContrast]]=apply(as.matrix(data.fit$coefficients[,posGroup],ncol=length(posGroup)),1,mean) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
628 meanNegGroup[[iContrast]]=apply(as.matrix(data.fit$coefficients[,negGroup],ncol=length(negGroup)),1,mean) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
629 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
630 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
631 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
632 contrast.matrix = makeContrasts(contrasts=requiredContrasts,levels=design) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
633 data.fit.con = contrasts.fit(data.fit,contrast.matrix) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
634 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
635 addComment("[INFO]Contrast definition done",T,opt$log,T,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
636 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
637 #compute LIMMA statistics | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
638 data.fit.eb = eBayes(data.fit.con) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
639 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
640 addComment("[INFO]Estimation done",T,opt$log,T,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
641 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
642 #adjust p.value through FDR | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
643 data.fit.eb$adj_p.value=data.fit.eb$p.value | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
644 for(iComparison in 1:ncol(data.fit.eb$adj_p.value)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
645 data.fit.eb$adj_p.value[,iComparison]=p.adjust(data.fit.eb$p.value[,iComparison],"fdr") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
646 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
647 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
648 #add a new field based on LS-means for each contrast instead of global mean like they were calculated in coefficients field | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
649 data.fit.eb$coefficientsLS=data.fit.eb$coefficients | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
650 if(ncol(data.fit.eb$coefficients)!=length(meanPosGroup)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
651 addComment("[ERROR]Estimated contrasts number unexpected",T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
652 q( "no", 1, F ) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
653 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
654 for(iContrast in 1:length(meanPosGroup)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
655 data.fit.eb$coefficientsLS[,iContrast]=meanPosGroup[[iContrast]][rownames(data.fit.eb$coefficientsLS)]-meanNegGroup[[iContrast]][rownames(data.fit.eb$coefficientsLS)] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
656 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
657 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
658 #if requested replace coefficient computed as global mean by LS-means values | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
659 if(useLSmean)data.fit.eb$coefficients=data.fit.eb$coefficientsLS | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
660 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
661 addComment("[INFO]Core treatment done",T,opt$log,T,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
662 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
663 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
664 ##convert humanReadingContrasts with namingDictionary to create humanReadingContrastsRenamed and keep original humanReadingContrasts names for file names | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
665 humanReadingContrastsRenamed=rep("",length(humanReadingContrasts)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
666 for(iContrast in 1:length(humanReadingContrasts)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
667 if(persoContrastName[iContrast]==""){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
668 #if(verbose)addComment(humanReadingContrasts[iContrast]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
669 specialCharacters=str_extract_all(humanReadingContrasts[iContrast],"[+|*|_|:|-]")[[1]] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
670 #if(verbose)addComment(specialCharacters) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
671 nameConverted=unlist(lapply(strsplit(humanReadingContrasts[iContrast],"[+|*|_|:|-]")[[1]],function(x)renamingDico[x,1])) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
672 #if(verbose)addComment(nameConverted) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
673 humanReadingContrastsRenamed[iContrast]=paste(nameConverted,specialCharacters,collapse="",sep="") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
674 #if(verbose)addComment(humanReadingContrastsRenamed[iContrast]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
675 humanReadingContrastsRenamed[iContrast]=substr(humanReadingContrastsRenamed[iContrast],1,nchar(humanReadingContrastsRenamed[iContrast])-1) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
676 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
677 humanReadingContrastsRenamed[iContrast]=persoContrastName[iContrast] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
678 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
679 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
680 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
681 #write correspondances between plot file names (humanReadingContrasts) and displayed names in figure legends (humanReadingContrastsRenamed), usefull to define html items in xml file | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
682 correspondanceTable=matrix("",ncol=2,nrow=ncol(data.fit.eb$p.value)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
683 correspondanceTable[,1]=unlist(lapply(humanReadingContrasts,function(x)gsub(":","_INT_",gsub("\\+","_PLUS_",gsub("\\*","_AND_",x))))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
684 correspondanceTable[,2]=humanReadingContrastsRenamed | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
685 rownames(correspondanceTable)=correspondanceTable[,2] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
686 write.table(correspondanceTable,file=file.path(getwd(), "correspondanceFileNames.csv"),quote=FALSE,sep="\t",col.names = F,row.names = F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
687 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
688 #plot nominal p-val histograms for selected comparisons | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
689 histogramPerPage=6 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
690 if (!is.null(opt$histo)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
691 iToPlot=1 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
692 plotVector=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
693 nbComparisons=ncol(data.fit.eb$p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
694 for (iComparison in 1:nbComparisons){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
695 dataToPlot=data.frame(pval=data.fit.eb$p.value[,iComparison],id=rownames(data.fit.eb$p.value)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
696 p <- ggplot(data=dataToPlot, aes(x=pval)) + geom_histogram(colour="red", fill="salmon") + | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
697 theme_bw() + ggtitle(humanReadingContrastsRenamed[iComparison]) + ylab(label="Frequencies") + xlab(label="Nominal p-val") + | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
698 theme(panel.border=element_blank(),plot.title = element_text(hjust = 0.5)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
699 plotVector[[length(plotVector)+1]]=p | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
700 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
701 pp <- ggplotly(p) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
702 htmlwidgets::saveWidget(as_widget(pp), paste(c(file.path(getwd(), "plotLyDir"),"/",opt$histo,"_",correspondanceTable[humanReadingContrastsRenamed[iComparison],1],".html"),collapse=""),selfcontained = F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
703 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
704 if(iComparison==nbComparisons || length(plotVector)==histogramPerPage){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
705 #plot and close the actual plot | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
706 if(opt$format=="pdf"){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
707 pdf(paste(c("./plotDir/",opt$histo,iToPlot,".pdf"),collapse=""))}else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
708 png(paste(c("./plotDir/",opt$histo,iToPlot,".png"),collapse="")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
709 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
710 multiplot(plotlist=plotVector,cols=2) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
711 dev.off() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
712 if(iComparison<nbComparisons){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
713 #prepare for a new plotting file if necessary | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
714 plotVector=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
715 iToPlot=iToPlot+1 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
716 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
717 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
718 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
719 addComment("[INFO]Histograms drawn",T,opt$log,T,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
720 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
721 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
722 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
723 #plot F-test sum square barplot | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
724 if(!is.null(allFtestMeanSquare)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
725 dataToPlot=data.frame(Fratio=apply(allFtestMeanSquare,2,mean),Factors=factor(colnames(allFtestMeanSquare),levels = colnames(allFtestMeanSquare))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
726 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
727 p <- ggplot(data=dataToPlot, aes(x=Factors, y=Fratio, fill=Factors)) + | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
728 geom_bar(stat="identity") + scale_fill_manual(values = colorRampPalette(brewer.pal(9,"Set1"))(ncol(allFtestMeanSquare))[sample(ncol(allFtestMeanSquare))]) + ylab(label="mean F-ratio") + | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
729 theme_bw() + theme(panel.border=element_blank(),plot.title = element_text(hjust = 0.5)) + ggtitle("Source of variation") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
730 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
731 if(opt$format=="pdf"){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
732 pdf(paste(c("./plotDir/",opt$fratioFile,".pdf"),collapse=""))}else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
733 png(paste(c("./plotDir/",opt$fratioFile,".png"),collapse="")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
734 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
735 plot(p) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
736 dev.off() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
737 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
738 pp <- ggplotly(p) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
739 htmlwidgets::saveWidget(as_widget(pp), paste(c(file.path(getwd(), "plotLyDir"),"/",opt$fratioFile,".html"),collapse=""),selfcontained = F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
740 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
741 addComment("[INFO]SumSquareTest drawn",T,opt$log,T,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
742 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
743 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
744 #plot VOLCANO plot | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
745 #volcanoplot(data.fit.eb,coef=1,highlight=10) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
746 volcanoPerPage=1 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
747 logFCthreshold=log2(opt$thresholdFC) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
748 if (!is.null(opt$volcano)) { | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
749 iToPlot=1 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
750 plotVector=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
751 nbComparisons=ncol(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
752 for (iComparison in 1:nbComparisons){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
753 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
754 #define the log10(p-val) threshold corresponding to FDR threshold fixed by user | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
755 probeWithLowFDR=-log10(data.fit.eb$p.value[which(data.fit.eb$adj_p.value[,iComparison]<=opt$fdrThreshold),iComparison]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
756 pvalThresholdFDR=NULL | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
757 if(length(probeWithLowFDR)>0)pvalThresholdFDR=min(probeWithLowFDR) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
758 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
759 #get significant points over FC and FDR thresholds | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
760 significativePoints=intersect(which(abs(data.fit.eb$coefficients[,iComparison])>=logFCthreshold),which(data.fit.eb$adj_p.value[,iComparison]<=opt$fdrThreshold)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
761 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
762 #to reduce size of html plot, we keep 20000 points maximum sampled amongst genes with pval>=33%(pval) and abs(log2(FC))<=66%(abs(log2(FC))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
763 htmlPointsToRemove=intersect(which(abs(data.fit.eb$coefficients[,iComparison])<=quantile(abs(data.fit.eb$coefficients[,iComparison]),c(0.66))),which(data.fit.eb$p.value[,iComparison]>=quantile(abs(data.fit.eb$p.value[,iComparison]),c(0.33)))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
764 if(length(htmlPointsToRemove)>20000){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
765 htmlPointsToRemove=setdiff(htmlPointsToRemove,sample(htmlPointsToRemove,20000)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
766 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
767 htmlPointsToRemove=c() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
768 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
769 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
770 xMinLimPlot=min(data.fit.eb$coefficients[,iComparison])-0.2 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
771 xMaxLimPlot=max(data.fit.eb$coefficients[,iComparison])+0.2 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
772 yMaxLimPlot= max(-log10(data.fit.eb$p.value[,iComparison]))+0.2 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
773 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
774 if(length(significativePoints)>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
775 dataSignifToPlot=data.frame(pval=-log10(data.fit.eb$p.value[significativePoints,iComparison]),FC=data.fit.eb$coefficients[significativePoints,iComparison],description=paste(names(data.fit.eb$coefficients[significativePoints,iComparison]),"\n","FC: " , round(2^data.fit.eb$coefficients[significativePoints,iComparison],2) , " | FDR p-val: ",prettyNum(data.fit.eb$adj_p.value[significativePoints,iComparison],digits=4), sep="")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
776 #to test if remains any normal points to draw | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
777 if(length(significativePoints)<nrow(data.fit.eb$p.value)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
778 dataToPlot=data.frame(pval=-log10(data.fit.eb$p.value[-significativePoints,iComparison]),FC=data.fit.eb$coefficients[-significativePoints,iComparison],description=paste("FC: " , round(2^data.fit.eb$coefficients[-significativePoints,iComparison],2) , " | FDR p-val: ",prettyNum(data.fit.eb$adj_p.value[-significativePoints,iComparison],digits=4), sep="")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
779 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
780 dataToPlot=data.frame(pval=0,FC=0,description="null") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
781 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
782 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
783 dataToPlot=data.frame(pval=-log10(data.fit.eb$p.value[,iComparison]),FC=data.fit.eb$coefficients[,iComparison],description=paste("FC: " , round(2^data.fit.eb$coefficients[,iComparison],2) , " | FDR p-val: ",prettyNum(data.fit.eb$adj_p.value[,iComparison],digits=4), sep="")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
784 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
785 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
786 ##traditional plot | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
787 p <- ggplot(data=dataToPlot, aes(x=FC, y=pval)) + geom_point() + | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
788 theme_bw() + ggtitle(humanReadingContrastsRenamed[iComparison]) + ylab(label="-log10(p-val)") + xlab(label="Log2 Fold Change") + | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
789 theme(panel.border=element_blank(),plot.title = element_text(hjust = 0.5),legend.position="none") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
790 if(logFCthreshold!=0) p <- p + geom_vline(xintercept=-logFCthreshold, color="salmon",linetype="dotted", size=1) + geom_vline(xintercept=logFCthreshold, color="salmon",linetype="dotted", size=1) + geom_text(data.frame(text=c(paste(c("log2(1/FC=",opt$thresholdFC,")"),collapse=""),paste(c("log2(FC=",opt$thresholdFC,")"),collapse="")),x=c(-logFCthreshold,logFCthreshold),y=c(0,0)),mapping=aes(x=x, y=y, label=text), size=4, angle=90, vjust=-0.4, hjust=0, color="salmon") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
791 if(!is.null(pvalThresholdFDR)) p <- p + geom_hline(yintercept=pvalThresholdFDR, color="skyblue1",linetype="dotted", size=0.5) + geom_text(data.frame(text=c(paste(c("FDR pval limit(",opt$fdrThreshold,")"),collapse="")),x=c(xMinLimPlot),y=c(pvalThresholdFDR)),mapping=aes(x=x, y=y, label=text), size=4, vjust=0, hjust=0, color="skyblue3") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
792 if(length(significativePoints)>0)p <- p + geom_point(data=dataSignifToPlot,aes(colour=description)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
793 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
794 ##interactive plot | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
795 if(length(htmlPointsToRemove)>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
796 pointToRemove=union(htmlPointsToRemove,significativePoints) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
797 #to test if remains any normal points to draw | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
798 if(length(pointToRemove)<nrow(data.fit.eb$p.value)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
799 dataToPlot=data.frame(pval=-log10(data.fit.eb$p.value[-pointToRemove,iComparison]),FC=data.fit.eb$coefficients[-pointToRemove,iComparison],description=paste("FC: " , round(2^data.fit.eb$coefficients[-pointToRemove,iComparison],2) , " | FDR p-val: ", prettyNum(data.fit.eb$adj_p.value[-pointToRemove,iComparison],digits=4), sep="")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
800 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
801 dataToPlot=data.frame(pval=0,FC=0,description="null") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
802 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
803 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
804 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
805 if((nrow(dataToPlot)+nrow(dataSignifToPlot))>40000)addComment(c("[WARNING]For",humanReadingContrastsRenamed[iComparison],"volcano, numerous points to plot(",nrow(dataToPlot)+nrow(dataSignifToPlot),"), resulting volcano could be heavy, using more stringent thresholds could be helpful."),T,opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
806 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
807 phtml <- plot_ly(data=dataToPlot, x=~FC, y=~pval,type="scatter", mode="markers",showlegend = FALSE, marker = list(color="gray",opacity=0.5), text=~description, hoverinfo="text") %>% | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
808 layout(title = humanReadingContrastsRenamed[iComparison],xaxis=list(title="Log2 Fold Change",showgrid=TRUE, zeroline=FALSE),yaxis=list(title="-log10(p-val)", showgrid=TRUE, zeroline=FALSE)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
809 if(length(significativePoints)>0) phtml=add_markers(phtml,data=dataSignifToPlot, x=~FC, y=~pval, mode="markers" , marker=list( color=log10(abs(dataSignifToPlot$FC)*dataSignifToPlot$pval),colorscale='Rainbow'), text=~description, hoverinfo="text", inherit = FALSE) %>% hide_colorbar() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
810 if(logFCthreshold!=0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
811 phtml=add_trace(phtml,x=c(-logFCthreshold,-logFCthreshold), y=c(0,yMaxLimPlot), type="scatter", mode = "lines", line=list(color="coral",dash="dash"), hoverinfo='none', showlegend = FALSE,inherit = FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
812 phtml=add_annotations(phtml,x=-logFCthreshold,y=0,xref = "x",yref = "y",text = paste(c("log2(1/FC=",opt$thresholdFC,")"),collapse=""),xanchor = 'right',showarrow = F,textangle=270,font=list(color="coral")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
813 phtml=add_trace(phtml,x=c(logFCthreshold,logFCthreshold), y=c(0, yMaxLimPlot), type="scatter", mode = "lines", line=list(color="coral",dash="dash"), hoverinfo='none', showlegend = FALSE,inherit = FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
814 phtml=add_annotations(phtml,x=logFCthreshold,y=0,xref = "x",yref = "y",text = paste(c("log2(FC=",opt$thresholdFC,")"),collapse=""),xanchor = 'right',showarrow = F,textangle=270,font=list(color="coral")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
815 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
816 if(!is.null(pvalThresholdFDR)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
817 phtml=add_trace(phtml,x=c(xMinLimPlot,xMaxLimPlot), y=c(pvalThresholdFDR,pvalThresholdFDR), type="scatter", mode = "lines", line=list(color="cornflowerblue",dash="dash"), hoverinfo='none', showlegend = FALSE,inherit = FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
818 phtml=add_annotations(phtml,x=xMinLimPlot,y=pvalThresholdFDR+0.1,xref = "x",yref = "y",text = paste(c("FDR pval limit(",opt$fdrThreshold,")"),collapse=""),xanchor = 'left',showarrow = F,font=list(color="cornflowerblue")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
819 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
820 plotVector[[length(plotVector)+1]]=p | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
821 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
822 #save plotly files | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
823 pp <- ggplotly(phtml) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
824 htmlwidgets::saveWidget(as_widget(pp), paste(c(file.path(getwd(), "plotLyDir"),"/",opt$volcano,"_",correspondanceTable[humanReadingContrastsRenamed[iComparison],1],".html"),collapse=""),selfcontained = F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
825 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
826 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
827 if(iComparison==nbComparisons || length(plotVector)==volcanoPerPage){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
828 #plot and close the actual plot | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
829 if(opt$format=="pdf"){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
830 pdf(paste(c("./plotDir/",opt$volcano,"_",correspondanceTable[humanReadingContrastsRenamed[iComparison],1],".pdf"),collapse=""))}else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
831 png(paste(c("./plotDir/",opt$volcano,"_",correspondanceTable[humanReadingContrastsRenamed[iComparison],1],".png"),collapse="")) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
832 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
833 multiplot(plotlist=plotVector,cols=1) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
834 dev.off() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
835 if(iComparison<nbComparisons){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
836 #prepare for a new ploting file if necessary | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
837 plotVector=list() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
838 iToPlot=iToPlot+1 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
839 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
840 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
841 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
842 remove(dataToPlot,dataSignifToPlot) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
843 addComment("[INFO]Volcanos drawn",T,opt$log,T,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
844 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
845 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
846 rowItemInfo=NULL | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
847 if(!is.null(opt$rowNameType) && !is.null(opt$organismID)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
848 ##get gene information from BioMart | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
849 #if(!require("biomaRt")){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
850 # source("https://bioconductor.org/biocLite.R") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
851 # biocLite("biomaRt") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
852 #} | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
853 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
854 ensembl_hs_mart <- useMart(biomart="ensembl", dataset=opt$organismID) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
855 ensembl_df <- getBM(attributes=c(opt$rowNameType,"description"),mart=ensembl_hs_mart) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
856 rowItemInfo=ensembl_df[which(ensembl_df[,1]!=""),2] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
857 rowItemInfo=unlist(lapply(rowItemInfo,function(x)substr(unlist(strsplit(x," \\[Source"))[1],1,30))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
858 names(rowItemInfo)=ensembl_df[which(ensembl_df[,1]!=""),1] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
859 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
860 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
861 #write(unlist(dimnames(data.fit.eb$adj_p.value)),opt$log,append = T) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
862 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
863 #prepare additional output containing df informations | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
864 dfMatrix=matrix(0,ncol=3,nrow = nrow(data.fit.eb$coefficients),dimnames = list(rownames(data.fit.eb$coefficients),c("df.residual","df.prior","df.total"))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
865 dfMatrix[,"df.residual"]=data.fit.eb$df.residual | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
866 dfMatrix[,"df.prior"]=data.fit.eb$df.prior | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
867 dfMatrix[,"df.total"]=data.fit.eb$df.total | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
868 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
869 #filter out genes with higher p-values for all comparisons | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
870 genesToKeep=names(which(apply(data.fit.eb$adj_p.value,1,function(x)length(which(x<=opt$fdrThreshold))>0))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
871 #filter out genes with lower FC for all comparisons | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
872 genesToKeep=intersect(genesToKeep,names(which(apply(data.fit.eb$coefficients,1,function(x)length(which(abs(x)>=logFCthreshold))>0)))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
873 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
874 if(length(genesToKeep)>0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
875 data.fit.eb$adj_p.value=matrix(data.fit.eb$adj_p.value[genesToKeep,],ncol=ncol(data.fit.eb$adj_p.value)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
876 rownames(data.fit.eb$adj_p.value)=genesToKeep | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
877 colnames(data.fit.eb$adj_p.value)=colnames(data.fit.eb$p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
878 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
879 data.fit.eb$p.value=matrix(data.fit.eb$p.value[genesToKeep,],ncol=ncol(data.fit.eb$p.value)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
880 rownames(data.fit.eb$p.value)=genesToKeep | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
881 colnames(data.fit.eb$p.value)=colnames(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
882 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
883 data.fit.eb$coefficients=matrix(data.fit.eb$coefficients[genesToKeep,],ncol=ncol(data.fit.eb$coefficients)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
884 rownames(data.fit.eb$coefficients)=genesToKeep | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
885 colnames(data.fit.eb$coefficients)=colnames(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
886 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
887 data.fit.eb$t=matrix(data.fit.eb$t[genesToKeep,],ncol=ncol(data.fit.eb$t)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
888 rownames(data.fit.eb$t)=genesToKeep | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
889 colnames(data.fit.eb$t)=colnames(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
890 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
891 dfMatrix=dfMatrix[genesToKeep,,drop=FALSE] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
892 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
893 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
894 addComment(c("[WARNING]No significative genes considering the given FDR threshold : ",opt$fdrThreshold),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
895 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
896 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
897 addComment("[INFO]Significant genes filtering done",T,opt$log,T,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
898 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
899 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
900 #plot VennDiagramm for genes below threshold between comparisons | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
901 #t=apply(data.fit.eb$adj_p.value[,1:4],2,function(x)names(which(x<=opt$threshold))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
902 #get.venn.partitions(t) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
903 #vennCounts(data.fit.eb$adj_p.value[,1:4]<=opt$threshold) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
904 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
905 #make a simple sort genes based only on the first comparison | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
906 #newOrder=order(data.fit.eb$adj_p.value[,1]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
907 #data.fit.eb$adj_p.value=data.fit.eb$adj_p.value[newOrder,] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
908 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
909 #alternative sorting strategy based on the mean gene rank over all comparisons | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
910 if(length(genesToKeep)>1){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
911 currentRank=rep(0,nrow(data.fit.eb$adj_p.value)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
912 for(iComparison in 1:ncol(data.fit.eb$adj_p.value)){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
913 currentRank=currentRank+rank(data.fit.eb$adj_p.value[,iComparison]) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
914 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
915 currentRank=currentRank/ncol(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
916 newOrder=order(currentRank) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
917 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
918 data.fit.eb$adj_p.value=matrix(data.fit.eb$adj_p.value[newOrder,],ncol=ncol(data.fit.eb$adj_p.value)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
919 rownames(data.fit.eb$adj_p.value)=rownames(data.fit.eb$p.value)[newOrder] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
920 colnames(data.fit.eb$adj_p.value)=colnames(data.fit.eb$p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
921 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
922 data.fit.eb$p.value=matrix(data.fit.eb$p.value[newOrder,],ncol=ncol(data.fit.eb$p.value)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
923 rownames(data.fit.eb$p.value)=rownames(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
924 colnames(data.fit.eb$p.value)=colnames(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
925 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
926 data.fit.eb$coefficients=matrix(data.fit.eb$coefficients[newOrder,],ncol=ncol(data.fit.eb$coefficients)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
927 rownames(data.fit.eb$coefficients)=rownames(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
928 colnames(data.fit.eb$coefficients)=colnames(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
929 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
930 data.fit.eb$t=matrix(data.fit.eb$t[newOrder,],ncol=ncol(data.fit.eb$t)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
931 rownames(data.fit.eb$t)=rownames(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
932 colnames(data.fit.eb$t)=colnames(data.fit.eb$adj_p.value) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
933 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
934 dfMatrix=dfMatrix[newOrder,,drop=FALSE] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
935 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
936 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
937 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
938 #formating output matrices depending on genes to keep | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
939 if(length(genesToKeep)==0){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
940 outputData=matrix(0,ncol=ncol(data.fit.eb$adj_p.value)*5+2,nrow=3) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
941 outputData[1,]=c("X","X",rep(humanReadingContrastsRenamed,each=5)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
942 outputData[2,]=c("X","X",rep(c("p-val","FDR.p-val","FC","log2(FC)","t-stat"),ncol(data.fit.eb$adj_p.value))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
943 outputData[,1]=c("LIMMA","Gene","noGene") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
944 outputData[,2]=c("Comparison","Info","noInfo") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
945 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
946 outputDfData=matrix(0,ncol=3+1,nrow=2) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
947 outputDfData[1,]=c("X","df.residual","df.prior","df.total") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
948 outputDfData[,1]=c("Statistics","noGene") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
949 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
950 if(length(genesToKeep)==1){ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
951 outputData=matrix(0,ncol=ncol(data.fit.eb$adj_p.value)*5+2,nrow=3) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
952 outputData[1,]=c("X","X",rep(humanReadingContrastsRenamed,each=5)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
953 outputData[2,]=c("X","X",rep(c("p-val","FDR.p-val","FC","log2(FC)","t-stat"),ncol(data.fit.eb$adj_p.value))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
954 outputData[,1]=c("LIMMA","Gene",genesToKeep) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
955 outputData[,2]=c("Comparison","Info","na") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
956 if(!is.null(rowItemInfo))outputData[3,2]=rowItemInfo[genesToKeep] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
957 outputData[3,seq(3,ncol(outputData),5)]=prettyNum(data.fit.eb$p.value,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
958 outputData[3,seq(4,ncol(outputData),5)]=prettyNum(data.fit.eb$adj_p.value,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
959 outputData[3,seq(5,ncol(outputData),5)]=prettyNum(2^data.fit.eb$coefficients,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
960 outputData[3,seq(6,ncol(outputData),5)]=prettyNum(data.fit.eb$coefficients,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
961 outputData[3,seq(7,ncol(outputData),5)]=prettyNum(data.fit.eb$t,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
962 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
963 outputDfData=matrix(0,ncol=3+1,nrow=1+nrow(dfMatrix)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
964 outputDfData[1,]=c("Statistics","df.residual","df.prior","df.total") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
965 outputDfData[2,]=c(rownames(dfMatrix),prettyNum(dfMatrix[,c("df.residual","df.prior","df.total")],digits=4)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
966 }else{ | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
967 #format matrix to be correctly read by galaxy (move headers in first column and row) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
968 outputData=matrix(0,ncol=ncol(data.fit.eb$adj_p.value)*5+2,nrow=nrow(data.fit.eb$adj_p.value)+2) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
969 outputData[1,]=c("X","X",rep(humanReadingContrastsRenamed,each=5)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
970 outputData[2,]=c("X","X",rep(c("p-val","FDR.p-val","FC","log2(FC)","t-stat"),ncol(data.fit.eb$adj_p.value))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
971 outputData[,1]=c("LIMMA","Gene",rownames(data.fit.eb$adj_p.value)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
972 outputData[,2]=c("Comparison","Info",rep("na",nrow(data.fit.eb$adj_p.value))) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
973 if(!is.null(rowItemInfo))outputData[3:nrow(outputData),2]=rowItemInfo[rownames(data.fit.eb$adj_p.value)] | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
974 outputData[3:nrow(outputData),seq(3,ncol(outputData),5)]=prettyNum(data.fit.eb$p.value,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
975 outputData[3:nrow(outputData),seq(4,ncol(outputData),5)]=prettyNum(data.fit.eb$adj_p.value,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
976 outputData[3:nrow(outputData),seq(5,ncol(outputData),5)]=prettyNum(2^data.fit.eb$coefficients,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
977 outputData[3:nrow(outputData),seq(6,ncol(outputData),5)]=prettyNum(data.fit.eb$coefficients,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
978 outputData[3:nrow(outputData),seq(7,ncol(outputData),5)]=prettyNum(data.fit.eb$t,digits=4) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
979 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
980 outputDfData=matrix(0,ncol=3+1,nrow=1+nrow(dfMatrix)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
981 outputDfData[1,]=c("Statistics","df.residual","df.prior","df.total") | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
982 outputDfData[2:(1+nrow(dfMatrix)),]=cbind(rownames(dfMatrix),prettyNum(dfMatrix[,c("df.residual")],digits=4),prettyNum(dfMatrix[,c("df.prior")],digits=4),prettyNum(dfMatrix[,c("df.total")],digits=4)) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
983 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
984 } | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
985 addComment("[INFO]Formated output",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
986 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
987 #write output results | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
988 write.table(outputData,file=opt$outputFile,quote=FALSE,sep="\t",col.names = F,row.names = F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
989 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
990 #write df info file | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
991 write.table(outputDfData,file=opt$outputDfFile,quote=FALSE,sep="\t",col.names = F,row.names = F) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
992 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
993 end.time <- Sys.time() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
994 addComment(c("[INFO]Total execution time for R script:",as.numeric(end.time - start.time,units="mins"),"mins"),T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
995 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
996 addComment("[INFO]End of R script",T,opt$log,display=FALSE) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
997 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
998 printSessionInfo(opt$log) | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
999 #sessionInfo() | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
1000 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
1001 | 
| 
 
4764dc6a1019
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
1002 | 
