Mercurial > repos > vandelj > giant_aptsummarize
annotate src/heatMapClustering.R @ 0:708f43bda2b6 draft
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
| author | vandelj | 
|---|---|
| date | Fri, 26 Jun 2020 09:35:11 -0400 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 
0
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
1 # A command-line interface to plot heatmap based on expression or diff. exp. analysis | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
2 # written by Jimmy Vandel | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
3 # one of these arguments is required: | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
4 # | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
5 # | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
6 initial.options <- commandArgs(trailingOnly = FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
7 file.arg.name <- "--file=" | 
| 
 
708f43bda2b6
"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)]) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
9 script.basename <- dirname(script.name) | 
| 
 
708f43bda2b6
"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")) | 
| 
 
708f43bda2b6
"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")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
12 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
13 #addComment("Welcome R!") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
14 | 
| 
 
708f43bda2b6
"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 | 
| 
 
708f43bda2b6
"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 ) } ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
17 | 
| 
 
708f43bda2b6
"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. | 
| 
 
708f43bda2b6
"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") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
20 loc <- Sys.setlocale("LC_NUMERIC", "C") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
21 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
22 #get starting time | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
23 start.time <- Sys.time() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
24 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
25 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
26 options(stringAsfactors = FALSE, useFancyQuotes = FALSE, OutDec=".") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
27 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
28 #get options | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
29 args <- commandArgs() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
30 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
31 # get options, using the spec as defined by the enclosed list. | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
32 # we read the options from the default: commandArgs(TRUE). | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
33 spec <- matrix(c( | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
34 "expressionFile", "x", 1, "character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
35 "diffAnalyseFile", "x", 1, "character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
36 "factorInfo","x", 1, "character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
37 "genericData","x", 0, "logical", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
38 "comparisonName","x",1,"character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
39 "comparisonNameLow","x",1,"character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
40 "comparisonNameHigh","x",1,"character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
41 "filterInputOutput","x", 1, "character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
42 "FCthreshold","x", 1, "double", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
43 "pvalThreshold","x", 1, "double", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
44 "geneListFiltering","x",1,"character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
45 "clusterNumber","x",1,"integer", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
46 "maxRows","x",1,"integer", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
47 "sampleClusterNumber","x",1,"integer", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
48 "dataTransformation","x",1,"character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
49 "distanceMeasure","x",1,"character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
50 "aggloMethod","x",1,"character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
51 "personalColors","x",1,"character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
52 "sideBarColorPalette","x",1,"character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
53 "format", "x", 1, "character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
54 "quiet", "x", 0, "logical", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
55 "log", "x", 1, "character", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
56 "outputFile" , "x", 1, "character"), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
57 byrow=TRUE, ncol=4) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
58 opt <- getoptLong(spec) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
59 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
60 # enforce the following required arguments | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
61 if (is.null(opt$log)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
62 addComment("[ERROR]'log file' is required") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
63 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
64 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
65 addComment("[INFO]Start of R script",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
66 if (is.null(opt$format)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
67 addComment("[ERROR]'output format' is required",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
68 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
69 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
70 if (is.null(opt$outputFile)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
71 addComment("[ERROR]'output file' is required",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
72 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
73 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
74 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
75 if(is.null(opt$expressionFile) && !is.null(opt$genericData)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
76 addComment("[ERROR]generic data clustering is based on expression clustering",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
77 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
78 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
79 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
80 if (is.null(opt$clusterNumber) || opt$clusterNumber<2) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
81 addComment("[ERROR]valid genes clusters number is required",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
82 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
83 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
84 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
85 if (is.null(opt$sampleClusterNumber) || opt$sampleClusterNumber<1) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
86 addComment("[ERROR]valid samples clusters number is required",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
87 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
88 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
89 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
90 if (is.null(opt$dataTransformation)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
91 addComment("[ERROR]data transformation option is required",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
92 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
93 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
94 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
95 if (is.null(opt$distanceMeasure)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
96 addComment("[ERROR]distance measure option is required",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
97 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
98 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
99 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
100 if (is.null(opt$aggloMethod)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
101 addComment("[ERROR]agglomeration method option is required",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
102 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
103 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
104 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
105 if (is.null(opt$maxRows) || opt$maxRows<2) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
106 addComment("[ERROR]valid plotted row number is required",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
107 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
108 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
109 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
110 if (!is.null(opt[["comparisonName"]]) && nchar(opt[["comparisonName"]])==0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
111 addComment("[ERROR]you have to specify comparison",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
112 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
113 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
114 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
115 if (!is.null(opt$comparisonNameLow) && nchar(opt$comparisonNameLow)==0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
116 addComment("[ERROR]you have to specify comparisonLow",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
117 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
118 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
119 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
120 if (!is.null(opt$comparisonNameHigh) && nchar(opt$comparisonNameHigh)==0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
121 addComment("[ERROR]you have to specify comparisonHigh",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
122 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
123 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
124 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
125 if (is.null(opt$genericData) && (!is.null(opt$comparisonNameLow) || !is.null(opt$comparisonNameHigh))){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
126 addComment("[ERROR]comparisonLow and comparisonHigh can be specified only with generic data",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
127 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
128 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
129 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
130 if (!is.null(opt$genericData) && !is.null(opt[["comparisonName"]])){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
131 addComment("[ERROR]basic comparison cannot be specified for generic data",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
132 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
133 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
134 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
135 if ((!is.null(opt[["comparisonName"]]) || !is.null(opt$comparisonNameLow) || !is.null(opt$comparisonNameHigh)) && is.null(opt$diffAnalyseFile)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
136 addComment("[ERROR]'diff. exp. analysis file' is required",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
137 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
138 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
139 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
140 if (!is.null(opt$genericData) && !is.null(opt$diffAnalyseFile) && is.null(opt$comparisonNameLow) && is.null(opt$comparisonNameHigh)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
141 addComment("[ERROR]Missing comparison information for filtering",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
142 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
143 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
144 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
145 if ((!is.null(opt$FCthreshold) || !is.null(opt$pvalThreshold)) && (is.null(opt[["comparisonName"]]) && is.null(opt$comparisonNameLow) && is.null(opt$comparisonNameHigh))) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
146 addComment("[ERROR]'comparisons' are missing for filtering",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
147 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
148 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
149 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
150 if ((!is.null(opt$FCthreshold) || !is.null(opt$pvalThreshold)) && !is.null(opt$geneListFiltering)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
151 addComment("[ERROR]Cannot have two filtering strategies",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
152 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
153 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
154 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
155 verbose <- if (is.null(opt$quiet)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
156 TRUE | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
157 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
158 FALSE} | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
159 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
160 addComment("[INFO]Parameters checked!",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
161 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
162 addComment(c("[INFO]Working directory: ",getwd()),TRUE,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
163 addComment(c("[INFO]Command line: ",args),TRUE,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
164 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
165 #directory for plots and HTML | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
166 dir.create(file.path(getwd(), "plotDir")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
167 dir.create(file.path(getwd(), "plotLyDir")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
168 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
169 #silent package loading | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
170 suppressPackageStartupMessages({ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
171 library("plotly") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
172 library("dendextend") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
173 #library("ggdendro") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
174 #library("plyr") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
175 library("ggplot2") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
176 library("heatmaply") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
177 library("circlize") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
178 #library("RColorBrewer") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
179 #source("https://bioconductor.org/biocLite.R") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
180 #biocLite("ComplexHeatmap") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
181 library("ComplexHeatmap") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
182 #library("processx") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
183 }) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
184 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
185 expressionToCluster=!is.null(opt$expressionFile) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
186 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
187 #load input data files | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
188 if(expressionToCluster){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
189 #first expression data | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
190 expressionMatrix=read.csv(file=opt$expressionFile,header=F,sep="\t",colClasses="character") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
191 #remove first row to convert it as colnames (to avoid X before colnames with header=T) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
192 colNamesData=expressionMatrix[1,-1] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
193 expressionMatrix=expressionMatrix[-1,] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
194 #remove first colum to convert it as rownames | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
195 rowNamesData=expressionMatrix[,1] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
196 expressionMatrix=expressionMatrix[,-1] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
197 if(is.data.frame(expressionMatrix)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
198 expressionMatrix=data.matrix(expressionMatrix) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
199 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
200 expressionMatrix=data.matrix(as.numeric(expressionMatrix)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
201 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
202 dimnames(expressionMatrix)=list(rowNamesData,colNamesData) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
203 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
204 #check input files | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
205 if (!is.numeric(expressionMatrix)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
206 addComment("[ERROR]Expression data is not fully numeric!",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
207 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
208 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
209 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
210 addComment("[INFO]Expression data loaded and checked") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
211 addComment(c("[INFO]Dim of expression matrix:",dim(expressionMatrix)),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
212 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
213 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
214 nbComparisons=0 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
215 nbColPerContrast=5 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
216 comparisonMatrix=NULL | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
217 comparisonMatrixInfoGene=NULL | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
218 #if available comparisons | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
219 if(!is.null(opt[["comparisonName"]])){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
220 #load results from differential expression analysis | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
221 #consider first row contains column names | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
222 comparisonMatrix=read.csv(file=opt$diffAnalyseFile,header=F,sep="\t") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
223 colnames(comparisonMatrix)=as.character(unlist(comparisonMatrix[1,])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
224 #remove the second line also as it's information line (p-val,FDR.p-val,FC,logFC) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
225 comparisonMatrix=comparisonMatrix[-c(1,2),] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
226 #remove first and second colums, convert the first one as rownames | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
227 rownames(comparisonMatrix)=as.character(unlist(comparisonMatrix[,1])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
228 #and save second column content that contain geneInfo | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
229 comparisonMatrixInfoGene=as.character(unlist(comparisonMatrix[,2])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
230 names(comparisonMatrixInfoGene)=as.character(unlist(comparisonMatrix[,1])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
231 comparisonMatrix=comparisonMatrix[,-c(1,2)] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
232 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
233 comparisonMatrix=matrix(as.numeric(as.matrix(comparisonMatrix)),ncol=ncol(comparisonMatrix),dimnames = dimnames(comparisonMatrix)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
234 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
235 if (ncol(comparisonMatrix)%%nbColPerContrast != 0) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
236 addComment("[ERROR]Diff. exp. data does not contain good number of columns per contrast, should contains in this order:p-val,FDR.p-val,FC,log2(FC) and t-stat",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
237 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
238 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
239 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
240 if(max(comparisonMatrix[,c(seq(1,ncol(comparisonMatrix),nbColPerContrast),seq(2,ncol(comparisonMatrix),nbColPerContrast))])>1 || min(comparisonMatrix[,c(seq(1,ncol(comparisonMatrix),nbColPerContrast),seq(2,ncol(comparisonMatrix),nbColPerContrast))])<0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
241 addComment("[ERROR]Seem that diff. exp. data does not contain correct values for p-val and FDR.p-val columns, should be including in [0,1] interval",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
242 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
243 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
244 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
245 if (!is.numeric(comparisonMatrix)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
246 addComment("[ERROR]Diff. exp. data is not fully numeric!",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
247 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
248 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
249 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
250 if(expressionToCluster && length(setdiff(rownames(comparisonMatrix),rownames(expressionMatrix)))!=0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
251 addComment("[WARNING]All genes from diff. exp. file are not included in expression file",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
252 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
253 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
254 if(expressionToCluster && length(setdiff(rownames(expressionMatrix),rownames(comparisonMatrix)))!=0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
255 addComment("[WARNING]All genes from expression file are not included in diff. exp. file",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
256 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
257 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
258 addComment("[INFO]Diff. exp. analysis loaded and checked",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
259 addComment(c("[INFO]Dim of original comparison matrix:",dim(comparisonMatrix)),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
260 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
261 #restrict to user specified comparisons | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
262 restrictedComparisons=unlist(strsplit(opt[["comparisonName"]],",")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
263 #should be improved to avoid selection of column names starting too similarly | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
264 colToKeep=which(unlist(lapply(colnames(comparisonMatrix),function(x)any(startsWith(x,restrictedComparisons))))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
265 comparisonMatrix=matrix(comparisonMatrix[,colToKeep],ncol=length(colToKeep),dimnames = list(rownames(comparisonMatrix),colnames(comparisonMatrix)[colToKeep])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
266 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
267 #get number of required comparisons | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
268 nbComparisons=ncol(comparisonMatrix)/nbColPerContrast | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
269 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
270 addComment(c("[INFO]Dim of effective filtering matrix:",dim(comparisonMatrix)),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
271 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
272 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
273 #should be only the case with generic data | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
274 if(!is.null(opt$comparisonNameLow) || !is.null(opt$comparisonNameHigh)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
275 #load generic data used for filtering | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
276 nbColPerContrast=1 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
277 #consider first row contains column names | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
278 comparisonMatrix=read.csv(file=opt$diffAnalyseFile,header=F,sep="\t") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
279 colnames(comparisonMatrix)=as.character(unlist(comparisonMatrix[1,])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
280 #remove first colum, convert the first one as rownames | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
281 rownames(comparisonMatrix)=as.character(unlist(comparisonMatrix[,1])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
282 comparisonMatrix=comparisonMatrix[-1,-1] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
283 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
284 comparisonMatrix=matrix(as.numeric(as.matrix(comparisonMatrix)),ncol=ncol(comparisonMatrix),dimnames = dimnames(comparisonMatrix)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
285 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
286 if (!is.numeric(comparisonMatrix)) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
287 addComment("[ERROR]Filtering matrix is not fully numeric!",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
288 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
289 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
290 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
291 if(expressionToCluster && length(setdiff(rownames(comparisonMatrix),rownames(expressionMatrix)))!=0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
292 addComment("[WARNING]All genes from filtering file are not included in expression file",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
293 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
294 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
295 if(expressionToCluster && length(setdiff(rownames(expressionMatrix),rownames(comparisonMatrix)))!=0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
296 addComment("[WARNING]All genes from expression file are not included in filtering file",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
297 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
298 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
299 addComment("[INFO]Filtering file loaded and checked",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
300 addComment(c("[INFO]Dim of original filtering matrix:",dim(comparisonMatrix)),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
301 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
302 #restrict to user specified comparisons | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
303 restrictedComparisons=c() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
304 if(!is.null(opt$comparisonNameLow))restrictedComparisons=unique(c(restrictedComparisons,unlist(strsplit(opt$comparisonNameLow,",")))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
305 if(!is.null(opt$comparisonNameHigh))restrictedComparisons=unique(c(restrictedComparisons,unlist(strsplit(opt$comparisonNameHigh,",")))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
306 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
307 if (!all(restrictedComparisons%in%colnames(comparisonMatrix))){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
308 addComment("[ERROR]Selected columns in filtering file are not present in filtering matrix!",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
309 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
310 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
311 comparisonMatrix=matrix(comparisonMatrix[,restrictedComparisons],ncol=length(restrictedComparisons),dimnames = list(rownames(comparisonMatrix),restrictedComparisons)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
312 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
313 #get number of required comparisons | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
314 nbComparisons=ncol(comparisonMatrix) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
315 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
316 addComment(c("[INFO]Dim of effective filtering matrix:",dim(comparisonMatrix)),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
317 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
318 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
319 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
320 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
321 factorInfoMatrix=NULL | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
322 if(!is.null(opt$factorInfo)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
323 #get group information | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
324 #load factors file | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
325 factorInfoMatrix=read.csv(file=opt$factorInfo,header=F,sep="\t",colClasses="character") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
326 #remove first row to convert it as colnames | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
327 colnames(factorInfoMatrix)=factorInfoMatrix[1,] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
328 factorInfoMatrix=factorInfoMatrix[-1,] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
329 #use first colum to convert it as rownames but not removing it to avoid conversion as vector in unique factor case | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
330 rownames(factorInfoMatrix)=factorInfoMatrix[,1] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
331 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
332 factorBarColor=colnames(factorInfoMatrix)[2] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
333 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
334 if(ncol(factorInfoMatrix)>2){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
335 addComment("[ERROR]Factors file should not contain more than 2 columns",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
336 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
337 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
338 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
339 #factor file is used for color band on heatmap, so all expression matrix column should be in the factor file | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
340 if(expressionToCluster && length(setdiff(colnames(expressionMatrix),rownames(factorInfoMatrix)))!=0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
341 addComment("[ERROR]Missing samples in factor file",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
342 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
343 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
344 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
345 #factor file is used for color band on heatmap, so all comparison matrix column should be in the factor file | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
346 if(!expressionToCluster && length(setdiff(colnames(comparisonMatrix),rownames(factorInfoMatrix)))!=0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
347 addComment("[ERROR]Missing differential contrasts in factor file",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
348 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
349 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
350 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
351 addComment("[INFO]Factors OK",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
352 addComment(c("[INFO]Dim of factorInfo matrix:",dim(factorInfoMatrix)),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
353 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
354 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
355 if(!is.null(opt$personalColors)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
356 ##parse personal colors | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
357 personalColors=unlist(strsplit(opt$personalColors,",")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
358 if(length(personalColors)==2){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
359 ##add medium color between two to get three colors | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
360 personalColors=c(personalColors[1],paste(c("#",as.character(as.hexmode(floor(apply(col2rgb(personalColors),1,mean))))),collapse=""),personalColors[2]) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
361 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
362 if(length(personalColors)!=3){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
363 addComment("[ERROR]Personalized colors doesn't contain enough colors",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
364 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
365 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
366 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
367 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
368 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
369 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
370 if(!is.null(opt$filterInputOutput) && opt$filterInputOutput=="input"){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
371 #filter input data | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
372 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
373 if(is.null(opt$geneListFiltering)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
374 #filtering using stat thresholds | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
375 #rowToKeep=intersect(which(comparisonMatrix[,seq(2,ncol(comparisonMatrix),4)]<=opt$pvalThreshold),which(abs(comparisonMatrix[,seq(4,ncol(comparisonMatrix),4)])>=log2(opt$FCthreshold))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
376 if(is.null(opt$genericData)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
377 #diff. expression matrix | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
378 rowToKeep=names(which(unlist(apply(comparisonMatrix,1,function(x)length(intersect(which(x[seq(2,length(x),nbColPerContrast)]<opt$pvalThreshold),which(abs(x[seq(4,length(x),nbColPerContrast)])>log2(opt$FCthreshold))))!=0)))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
379 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
380 #generic filtering matrix | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
381 rowToKeep=rownames(comparisonMatrix) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
382 if(!is.null(opt$comparisonNameLow)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
383 restrictedLowComparisons=unlist(strsplit(opt$comparisonNameLow,",")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
384 rowToKeep=intersect(rowToKeep,names(which(unlist(apply(comparisonMatrix,1,function(x)length(which(x[restrictedLowComparisons]>opt$FCthreshold))!=0))))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
385 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
386 if(!is.null(opt$comparisonNameHigh)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
387 restrictedHighComparisons=unlist(strsplit(opt$comparisonNameHigh,",")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
388 rowToKeep=intersect(rowToKeep,names(which(unlist(apply(comparisonMatrix,1,function(x)length(which(x[restrictedHighComparisons]<opt$pvalThreshold))!=0))))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
389 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
390 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
391 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
392 #filtering using user gene list | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
393 geneListFiltering=read.csv(opt$geneListFiltering,as.is = 1,header=F) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
394 rowToKeep=unlist(c(geneListFiltering)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
395 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
396 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
397 if(!is.null(comparisonMatrix) && !all(rowToKeep%in%rownames(comparisonMatrix))){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
398 #should arrive only with user gene list filtering with diff.exp. results clustering | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
399 addComment("[WARNING] some genes of the user defined list are not in the diff. exp. input file",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
400 rowToKeep=intersect(rowToKeep,rownames(comparisonMatrix)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
401 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
402 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
403 if(expressionToCluster && !all(rowToKeep%in%rownames(expressionMatrix))){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
404 addComment("[WARNING] some genes selected by the input filter are not in the expression file",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
405 rowToKeep=intersect(rowToKeep,rownames(expressionMatrix)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
406 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
407 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
408 if(length(rowToKeep)==0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
409 addComment("[ERROR]No gene survived to the input filtering thresholds, execution will be aborted. | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
410 Please consider to change threshold values and re-run the tool.",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
411 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
412 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
413 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
414 #filter comparison matrix | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
415 if(!is.null(comparisonMatrix)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
416 comparisonMatrix=matrix(comparisonMatrix[rowToKeep,],ncol=ncol(comparisonMatrix),dimnames = list(rowToKeep,colnames(comparisonMatrix))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
417 if(!is.null(comparisonMatrixInfoGene))comparisonMatrixInfoGene=comparisonMatrixInfoGene[rowToKeep] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
418 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
419 #then expression matrix | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
420 if(expressionToCluster)expressionMatrix=matrix(expressionMatrix[rowToKeep,],ncol=ncol(expressionMatrix),dimnames = list(rowToKeep,colnames(expressionMatrix))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
421 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
422 if(!is.null(comparisonMatrix) && expressionToCluster && nrow(comparisonMatrix)!=nrow(expressionMatrix)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
423 addComment("[ERROR]Problem during input filtering, please check code",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
424 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
425 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
426 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
427 addComment("[INFO]Filtering step done",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
428 addComment(c("[INFO]Input filtering step:",length(rowToKeep),"remaining rows"),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
429 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
430 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
431 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
432 addComment("[INFO]Ready to plot",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
433 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
434 ##--------------------- | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
435 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
436 #plot heatmap | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
437 if(expressionToCluster){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
438 #will make clustering based on expression value or generic value | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
439 dataToHeatMap=expressionMatrix | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
440 valueMeaning="Intensity" | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
441 if(!is.null(opt$genericData))valueMeaning="Value" | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
442 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
443 #will make clustering on log2(FC) values | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
444 dataToHeatMap=matrix(comparisonMatrix[,seq(4,ncol(comparisonMatrix),nbColPerContrast)],ncol=nbComparisons,dimnames = list(rownames(comparisonMatrix),colnames(comparisonMatrix)[seq(1,ncol(comparisonMatrix),nbColPerContrast)])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
445 valueMeaning="Log2(FC)" | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
446 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
447 addComment(c("[INFO]Dim of heatmap matrix:",dim(dataToHeatMap)),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
448 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
449 if(nrow(dataToHeatMap)==1 && ncol(dataToHeatMap)==1){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
450 addComment("[ERROR]Cannot make clustering with unique cell tab",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
451 q( "no", 1, F ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
452 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
453 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
454 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
455 #apply data transformation if needed | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
456 if(opt$dataTransformation=="log"){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
457 dataToHeatMap=log(dataToHeatMap) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
458 valueMeaning=paste(c("log(",valueMeaning,")"),collapse="") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
459 addComment("[INFO]Data to cluster and to display in the heatmap are log transformed",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
460 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
461 if(opt$dataTransformation=="log2"){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
462 dataToHeatMap=log2(dataToHeatMap) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
463 valueMeaning=paste(c("log2(",valueMeaning,")"),collapse="") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
464 addComment("[INFO]Data to cluster and to display in the heatmap are log2 transformed",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
465 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
466 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
467 maxRowsToDisplay=opt$maxRows | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
468 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
469 nbClusters=opt$clusterNumber | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
470 if(nbClusters>nrow(dataToHeatMap)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
471 #correct number of clusters if needed | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
472 nbClusters=nrow(dataToHeatMap) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
473 addComment(c("[WARNING]Not enough rows to reach required clusters number, it is reduced to number of rows:",nbClusters),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
474 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
475 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
476 nbSampleClusters=opt$sampleClusterNumber | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
477 if(nbSampleClusters>ncol(dataToHeatMap)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
478 #correct number of clusters if needed | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
479 nbSampleClusters=ncol(dataToHeatMap) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
480 addComment(c("[WARNING]Not enough columns to reach required conditions clusters number, it is reduced to number of columns:",nbSampleClusters),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
481 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
482 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
483 colClust=FALSE | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
484 rowClust=FALSE | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
485 effectiveRowClust=FALSE | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
486 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
487 #make appropriate clustering if needed | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
488 if(nrow(dataToHeatMap)>1 && nbClusters>1)rowClust=hclust(distExtended(dataToHeatMap,method = opt$distanceMeasure),method = opt$aggloMethod) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
489 if(ncol(dataToHeatMap)>1 && nbSampleClusters>1)colClust=hclust(distExtended(t(dataToHeatMap),method = opt$distanceMeasure),method = opt$aggloMethod) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
490 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
491 if(nrow(dataToHeatMap)>maxRowsToDisplay){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
492 #make subsampling based on preliminary global clustering | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
493 #clusteringResults=cutree(rowClust,nbClusters) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
494 #heatMapGenesToKeep=unlist(lapply(seq(1,nbClusters),function(x)sample(which(clusteringResults==x),min(length(which(clusteringResults==x)),round(maxRowsToDisplay/nbClusters))))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
495 ##OR | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
496 #basic subsampling | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
497 heatMapGenesToKeep=sample(rownames(dataToHeatMap),maxRowsToDisplay) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
498 effectiveDataToHeatMap=matrix(dataToHeatMap[heatMapGenesToKeep,],ncol=ncol(dataToHeatMap),dimnames=list(heatMapGenesToKeep,colnames(dataToHeatMap))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
499 effectiveNbClusters=min(nbClusters,maxRowsToDisplay) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
500 if(nrow(effectiveDataToHeatMap)>1 && effectiveNbClusters>1)effectiveRowClust=hclust(distExtended(effectiveDataToHeatMap, method = opt$distanceMeasure),method = opt$aggloMethod) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
501 addComment(c("[WARNING]Too many rows for efficient heatmap drawing",maxRowsToDisplay,"subsampling is done for vizualization only"),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
502 rm(heatMapGenesToKeep) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
503 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
504 effectiveDataToHeatMap=dataToHeatMap | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
505 effectiveRowClust=rowClust | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
506 effectiveNbClusters=nbClusters | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
507 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
508 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
509 addComment(c("[INFO]Dim of plotted heatmap matrix:",dim(effectiveDataToHeatMap)),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
510 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
511 personalized_hoverinfo=matrix("",ncol = ncol(effectiveDataToHeatMap),nrow = nrow(effectiveDataToHeatMap),dimnames = dimnames(effectiveDataToHeatMap)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
512 if(expressionToCluster){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
513 for(iCol in colnames(effectiveDataToHeatMap)){for(iRow in rownames(effectiveDataToHeatMap)){personalized_hoverinfo[iRow,iCol]=paste(c("Probe: ",iRow,"\nCondition: ",iCol,"\n",valueMeaning,": ",effectiveDataToHeatMap[iRow,iCol]),collapse="")}} | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
514 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
515 for(iCol in colnames(effectiveDataToHeatMap)){for(iRow in rownames(effectiveDataToHeatMap)){personalized_hoverinfo[iRow,iCol]=paste(c("Probe: ",iRow,"\nCondition: ",iCol,"\nFC: ",round(2^effectiveDataToHeatMap[iRow,iCol],2)),collapse="")}} | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
516 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
517 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
518 #trying to overcome limitation of heatmaply package to modify xtick and ytick label, using directly plotly functions, but for now plotly do not permit to have personalized color for each x/y tick separately | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
519 test=FALSE | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
520 if(test==TRUE){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
521 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
522 #define dendogram shapes | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
523 dd.row <- as.dendrogram(effectiveRowClust) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
524 dd.col <- as.dendrogram(colClust) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
525 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
526 #and color them | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
527 dd.row=color_branches(dd.row, k = effectiveNbClusters, groupLabels = T) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
528 dd.col=color_branches(dd.col, k = nbSampleClusters, groupLabels = T) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
529 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
530 #generating function for dendogram from segment list | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
531 ggdend <- function(df) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
532 ggplot() + | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
533 geom_segment(data = df, aes(x=x, y=y, xend=xend, yend=yend)) + | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
534 labs(x = "", y = "") + theme_minimal() + | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
535 theme(axis.text = element_blank(), axis.ticks = element_blank(), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
536 panel.grid = element_blank()) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
537 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
538 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
539 # generate x/y dendogram plots | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
540 px <- ggdend(dendro_data(dd.col)$segments) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
541 py <- ggdend(dendro_data(dd.row)$segments) + coord_flip() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
542 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
543 # reshape data matrix | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
544 col.ord <- order.dendrogram(dd.col) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
545 row.ord <- order.dendrogram(dd.row) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
546 xx <- effectiveDataToHeatMap[row.ord, col.ord] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
547 # and also personalized_hoverinfo | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
548 personalized_hoverinfo=personalized_hoverinfo[row.ord, col.ord] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
549 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
550 # hide axis ticks and grid lines | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
551 eaxis <- list( | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
552 showticklabels = FALSE, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
553 showgrid = FALSE, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
554 zeroline = FALSE | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
555 ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
556 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
557 #make the empty plot | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
558 p_empty <- plot_ly() %>% | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
559 layout(margin = list(l = 200), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
560 xaxis = eaxis, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
561 yaxis = eaxis) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
562 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
563 heatmap.plotly <- plot_ly( | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
564 z = xx, x = 1:ncol(xx), y = 1:nrow(xx), colors = viridis(n = 101, alpha = 1, begin = 0, end = 1, option = "inferno"), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
565 type = "heatmap", showlegend = FALSE, text = personalized_hoverinfo, hoverinfo = "text", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
566 colorbar = list( | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
567 # Capitalise first letter | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
568 title = valueMeaning, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
569 tickmode = "array", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
570 len = 0.3 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
571 ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
572 ) %>% | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
573 layout( | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
574 xaxis = list( | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
575 tickfont = list(size = 10,color=get_leaves_branches_col(dd.row)), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
576 tickangle = 45, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
577 tickvals = 1:ncol(xx), ticktext = colnames(xx), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
578 linecolor = "#ffffff", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
579 range = c(0.5, ncol(xx) + 0.5), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
580 showticklabels = TRUE | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
581 ), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
582 yaxis = list( | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
583 tickfont = list(size = 10, color=get_leaves_branches_col(dd.col)), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
584 tickangle = 0, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
585 tickvals = 1:nrow(xx), ticktext = rownames(xx), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
586 linecolor = "#ffffff", | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
587 range = c(0.5, nrow(xx) + 0.5), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
588 showticklabels = TRUE | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
589 ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
590 ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
591 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
592 #generate plotly | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
593 pp <- subplot(px, p_empty, heatmap.plotly, py, nrows = 2, margin = 0,widths = c(0.8,0.2),heights = c(0.2,0.8), shareX = TRUE, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
594 shareY = TRUE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
595 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
596 #save image file | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
597 export(pp, file = paste(c(file.path(getwd(), "plotDir"),"/Heatmap.",opt$format),collapse="")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
598 #rise a bug due to token stuf | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
599 #orca(pp, file = paste(c(file.path(getwd(), "plotDir"),"/Heatmap.",opt$format),collapse="")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
600 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
601 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
602 #save plotLy file | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
603 htmlwidgets::saveWidget(as_widget(pp), paste(c(file.path(getwd(), "plotLyDir"),"/Heatmap.html"),collapse=""),selfcontained = F) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
604 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
605 #htmlwidgets::saveWidget(as_widget(pp),"~/Bureau/test.html",selfcontained = F) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
606 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
607 }else{ #test | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
608 label_names=c("Probe","Condition",valueMeaning) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
609 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
610 # #color hclust objects | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
611 # dd.row=color_branches(effectiveRowClust, k = effectiveNbClusters) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
612 # #rowColors=get_leaves_branches_col(dd.row) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
613 # #rowColors[order.dendrogram(dd.row)]=rowColors | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
614 # rowGroup=cutree(effectiveRowClust, k = effectiveNbClusters) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
615 # | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
616 # #get order of class as they will be displayed on the dendogram | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
617 # rowGroupRenamed=data.frame(cluster=mapvalues(rowGroup, unique(rowGroup[order.dendrogram(dd.row)[nleaves(dd.row):1]]), 1:effectiveNbClusters)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
618 # | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
619 # dd.col=color_branches(colClust, k = nbSampleClusters) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
620 # #colColors=get_leaves_branches_col(dd.col) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
621 # #colColors[order.dendrogram(dd.col)]=colColors | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
622 # colGroup=cutree(colClust, k = nbSampleClusters) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
623 # | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
624 # # #get order of class as they will be displayed on the dendogram | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
625 # colGroupRenamed=data.frame(sampleCluster=mapvalues(colGroup, unique(colGroup[order.dendrogram(dd.col)[nleaves(dd.col):1]]), 1:nbSampleClusters)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
626 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
627 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
628 #while option is not correctly managed by heatmap apply, put personalized_hoverinfo to NULL | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
629 personalized_hoverinfo=NULL | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
630 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
631 if(is.null(opt$personalColors)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
632 heatmapColors=viridis(n = 101, alpha = 1, begin = 0, end = 1, option = "inferno") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
633 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
634 heatmapColors=personalColors | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
635 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
636 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
637 colGroupRenamed=NULL | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
638 if(!is.null(factorInfoMatrix)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
639 colGroupRenamed=eval(parse(text=(paste("data.frame(",factorBarColor,"=factorInfoMatrix[colnames(effectiveDataToHeatMap),2])",sep="")))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
640 sideBarGroupNb=length(table(factorInfoMatrix[colnames(effectiveDataToHeatMap),2])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
641 sideBarColorPaletteName="Spectral" | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
642 if(!is.null(opt$sideBarColorPalette) && opt$sideBarColorPalette%in%rownames(RColorBrewer::brewer.pal.info)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
643 sideBarColorPaletteName=opt$sideBarColorPalette | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
644 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
645 sideBarColorPalette=setNames(colorRampPalette(RColorBrewer::brewer.pal(RColorBrewer::brewer.pal.info[sideBarColorPaletteName,"maxcolors"], sideBarColorPaletteName))(sideBarGroupNb),unique(factorInfoMatrix[colnames(effectiveDataToHeatMap),2])) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
646 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
647 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
648 if(!is.null(colGroupRenamed)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
649 pp <- heatmaply(effectiveDataToHeatMap,key.title = valueMeaning,k_row=effectiveNbClusters,k_col=nbSampleClusters,col_side_colors=colGroupRenamed,col_side_palette=sideBarColorPalette,Rowv=effectiveRowClust,Colv=colClust,label_names=label_names,custom_hovertext=personalized_hoverinfo,plot_method = "plotly",colors = heatmapColors) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
650 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
651 pp <- heatmaply(effectiveDataToHeatMap,key.title = valueMeaning,k_row=effectiveNbClusters,k_col=nbSampleClusters,Rowv=effectiveRowClust,Colv=colClust,label_names=label_names,custom_hovertext=personalized_hoverinfo,plot_method = "plotly",colors = heatmapColors) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
652 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
653 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
654 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
655 #save image file | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
656 export(pp, file = paste(c(file.path(getwd(), "plotDir"),"/Heatmap.",opt$format),collapse="")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
657 #rise a bug due to token stuf | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
658 #orca(pp, file = paste(c(file.path(getwd(), "plotDir"),"/Heatmap.",opt$format),collapse="")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
659 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
660 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
661 #save plotLy file | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
662 htmlwidgets::saveWidget(as_widget(pp), paste(c(file.path(getwd(), "plotLyDir"),"/Heatmap.html"),collapse=""),selfcontained = F) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
663 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
664 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
665 addComment("[INFO]Heatmap drawn",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
666 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
667 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
668 #plot circular heatmap | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
669 if(!class(effectiveRowClust)=="logical"){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
670 dendo=as.dendrogram(effectiveRowClust) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
671 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
672 if(is.null(opt$personalColors)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
673 col_fun = colorRamp2(quantile(effectiveDataToHeatMap,probs = seq(0,1,0.01)), viridis(101,option = "inferno")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
674 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
675 col_fun = colorRamp2(quantile(effectiveDataToHeatMap,probs = seq(0,1,0.5)), personalColors) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
676 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
677 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
678 if(opt$format=="pdf"){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
679 pdf(paste(c("./plotDir/circularPlot.pdf"),collapse=""))}else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
680 png(paste(c("./plotDir/circularPlot.png"),collapse="")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
681 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
682 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
683 circos.par(cell.padding = c(0, 0, 0, 0), gap.degree = 5) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
684 circos.initialize(c(rep("a",nrow(effectiveDataToHeatMap)),"b"),xlim=cbind(c(0,0),c(nrow(effectiveDataToHeatMap),5))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
685 circos.track(ylim = c(0, 1), bg.border = NA, panel.fun = function(x, y) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
686 if(CELL_META$sector.index=="a"){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
687 nr = ncol(effectiveDataToHeatMap) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
688 nc = nrow(effectiveDataToHeatMap) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
689 circos.text(1:nc- 0.5, rep(0,nc), adj = c(0, 0), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
690 rownames(effectiveDataToHeatMap)[order.dendrogram(dendo)], facing = "clockwise", niceFacing = TRUE, cex = 0.3) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
691 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
692 }) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
693 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
694 circos.track(ylim = c(0, ncol(effectiveDataToHeatMap)), bg.border = NA, panel.fun = function(x, y) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
695 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
696 m = t(matrix(effectiveDataToHeatMap[order.dendrogram(dendo),],ncol=ncol(effectiveDataToHeatMap))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
697 col_mat = col_fun(m) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
698 nr = nrow(m) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
699 nc = ncol(m) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
700 if(CELL_META$sector.index=="a"){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
701 for(i in 1:nr) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
702 circos.rect(1:nc - 1, rep(nr - i, nc), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
703 1:nc, rep(nr - i + 1, nc), | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
704 border = col_mat[i, ], col = col_mat[i, ]) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
705 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
706 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
707 circos.text(rep(1,nr), seq(nr,1,-1) , colnames(effectiveDataToHeatMap),cex = 0.3) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
708 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
709 }) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
710 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
711 #dendo = color_branches(dendo, k = effectiveNbClusters, col = colorRampPalette(brewer.pal(12,"Set3"))(effectiveNbClusters)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
712 dendo = color_branches(dendo, k = effectiveNbClusters, col = rev(colorspace::rainbow_hcl(effectiveNbClusters))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
713 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
714 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
715 circos.track(ylim = c(0, attributes(dendo)$height), bg.border = NA, track.height = 0.25, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
716 panel.fun = function(x, y) { | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
717 if(CELL_META$sector.index=="a")circos.dendrogram(dendo)} ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
718 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
719 circos.clear() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
720 ##add legend | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
721 lgd_links = Legend(at = seq(ceiling(min(effectiveDataToHeatMap)),floor(max(effectiveDataToHeatMap)),ceiling((floor(max(effectiveDataToHeatMap))-ceiling(min(effectiveDataToHeatMap)))/4)), col_fun = col_fun, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
722 title_position = "topleft", grid_width = unit(5, "mm") ,title = valueMeaning) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
723 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
724 pushViewport(viewport(x = 0.85, y = 0.80, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
725 width = 0.1, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
726 height = 0.1, | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
727 just = c("left", "bottom"))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
728 grid.draw(lgd_links) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
729 upViewport() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
730 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
731 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
732 dev.off() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
733 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
734 addComment("[INFO]Circular heatmap drawn",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
735 loc <- Sys.setlocale("LC_NUMERIC","C") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
736 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
737 addComment(c("[WARNING]Circular plot will not be plotted considering row or cluster number < 2"),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
738 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
739 rm(effectiveDataToHeatMap,effectiveRowClust,effectiveNbClusters) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
740 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
741 #plot screeplot | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
742 if(class(rowClust)!="logical" && nrow(dataToHeatMap)>2){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
743 screePlotData=c() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
744 for(iNbClusters in 2:(nbClusters+min(10,max(0,nrow(dataToHeatMap)-nbClusters)))){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
745 clusteringResults=cutree(rowClust,iNbClusters) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
746 #clusteringResults=kmeans(dataToHeatMap,iNbClusters)$cluster | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
747 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
748 #compute variance between each intra-class points amongst themselves (need at least 3 points by cluster) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
749 #screePlotData=c(screePlotData,sum(unlist(lapply(seq(1,iNbClusters),function(x){temp=which(clusteringResults==x);if(length(temp)>2){var(dist(dataToHeatMap[temp,]))}else{0}}))) ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
750 #compute variance between each intra-class points and fictive mean point (need at least 2 points by cluster) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
751 #screePlotData=c(screePlotData,sum(unlist(lapply(seq(1,iNbClusters),function(x){temp=which(clusteringResults==x);if(length(temp)>1){ var(dist(rbind(apply(dataToHeatMap[temp,],2,mean),dataToHeatMap[temp,]))[1:length(temp)]) }else{0}}))) ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
752 if(ncol(dataToHeatMap)>1)screePlotData=c(screePlotData,sum(unlist(lapply(seq(1,iNbClusters),function(x){temp=which(clusteringResults==x);if(length(temp)>1){ sum((distExtended(rbind(apply(dataToHeatMap[temp,],2,mean),dataToHeatMap[temp,]),method = opt$distanceMeasure)[1:length(temp)])^2) }else{0}}))) ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
753 else screePlotData=c(screePlotData,sum(unlist(lapply(seq(1,iNbClusters),function(x){temp=which(clusteringResults==x);if(length(temp)>1){ sum((dataToHeatMap[temp,]-mean(dataToHeatMap[temp,]))^2) }else{0}}))) ) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
754 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
755 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
756 dataToPlot=data.frame(clusterNb=seq(2,length(screePlotData)+1),wcss=screePlotData) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
757 p <- ggplot(data=dataToPlot, aes(clusterNb,wcss)) + geom_point(colour="#EE4444") + geom_line(colour="#DD9999") + | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
758 ggtitle("Scree plot") + theme_bw() + xlab(label="Cluster number") + ylab(label="Within cluster sum of squares") + | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
759 theme(panel.border=element_blank(),plot.title = element_text(hjust = 0.5),legend.position = "none") + | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
760 scale_x_continuous(breaks=seq(min(dataToPlot$clusterNb), max(dataToPlot$clusterNb), 1)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
761 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
762 #save plotly files | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
763 pp <- ggplotly(p) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
764 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
765 if(opt$format=="pdf"){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
766 pdf(paste(c("./plotDir/screePlot.pdf"),collapse=""))}else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
767 png(paste(c("./plotDir/screePlot.png"),collapse="")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
768 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
769 plot(p) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
770 dev.off() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
771 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
772 #save plotly files | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
773 htmlwidgets::saveWidget(as_widget(pp), paste(c(file.path(getwd(), "plotLyDir"),"/screePlot.html"),collapse=""),selfcontained = F) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
774 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
775 addComment("[INFO]Scree plot drawn",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
776 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
777 addComment(c("[WARNING]Scree plot will not be plotted considering row number <= 2"),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
778 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
779 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
780 ##---------------------- | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
781 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
782 #filter output based on parameters | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
783 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
784 rowToKeep=rownames(dataToHeatMap) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
785 if(!is.null(opt$filterInputOutput) && opt$filterInputOutput=="output"){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
786 #rowToKeep=intersect(which(comparisonMatrix[,seq(2,ncol(comparisonMatrix),4)]<=opt$pvalThreshold),which(abs(comparisonMatrix[,seq(4,ncol(comparisonMatrix),4)])>=log2(opt$FCthreshold))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
787 if(is.null(opt$geneListFiltering)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
788 if(is.null(opt$genericData)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
789 #diff. expression matrix | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
790 rowToKeep=names(which(unlist(apply(comparisonMatrix,1,function(x)length(intersect(which(x[seq(2,length(x),nbColPerContrast)]<=opt$pvalThreshold),which(abs(x[seq(4,length(x),nbColPerContrast)])>=log2(opt$FCthreshold))))!=0)))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
791 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
792 #generic filtering matrix | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
793 rowToKeep=rownames(comparisonMatrix) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
794 if(!is.null(opt$comparisonNameLow)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
795 restrictedLowComparisons=unlist(strsplit(opt$comparisonNameLow,",")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
796 rowToKeep=intersect(rowToKeep,names(which(unlist(apply(comparisonMatrix,1,function(x)length(which(x[restrictedLowComparisons]>opt$FCthreshold))!=0))))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
797 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
798 if(!is.null(opt$comparisonNameHigh)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
799 restrictedHighComparisons=unlist(strsplit(opt$comparisonNameHigh,",")) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
800 rowToKeep=intersect(rowToKeep,names(which(unlist(apply(comparisonMatrix,1,function(x)length(which(x[restrictedHighComparisons]<opt$pvalThreshold))!=0))))) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
801 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
802 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
803 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
804 geneListFiltering=read.csv(opt$geneListFiltering,as.is = 1,header=F) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
805 rowToKeep=unlist(c(geneListFiltering)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
806 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
807 if(!is.null(comparisonMatrix) && !all(rowToKeep%in%rownames(comparisonMatrix))){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
808 #should arrive only with user gene list filtering with diff.exp. results clustering | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
809 addComment("[WARNING] some genes of the user defined list are not in the diff. exp. input file",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
810 rowToKeep=intersect(rowToKeep,rownames(comparisonMatrix)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
811 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
812 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
813 if(expressionToCluster && !all(rowToKeep%in%rownames(expressionMatrix))){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
814 addComment("[WARNING] some genes selected by the output filter are not in the expression file",T,opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
815 rowToKeep=intersect(rowToKeep,rownames(expressionMatrix)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
816 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
817 addComment(c("[INFO]Output filtering step:",length(rowToKeep),"remaining rows"),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
818 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
819 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
820 #we add differential analysis info in output if it was directly used for clustering or when it was used for filtering with expression | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
821 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
822 #in case of expression or generic data clustering without filtering based on external stats | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
823 if(expressionToCluster && is.null(comparisonMatrix)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
824 if(length(rowToKeep)==0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
825 addComment("[WARNING]No more gene after output filtering step, tabular output will be empty",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
826 outputData=matrix(c("Gene","Cluster","noGene","noClustering"),ncol=2,nrow=2,byrow = TRUE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
827 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
828 outputData=matrix(0,ncol=2,nrow=length(rowToKeep)+1) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
829 outputData[1,]=c("Gene","Cluster") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
830 outputData[2:(length(rowToKeep)+1),1]=rowToKeep | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
831 if(class(rowClust)!="logical" ){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
832 outputData[2:(length(rowToKeep)+1),2]=cutree(rowClust,nbClusters)[rowToKeep] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
833 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
834 outputData[2:(length(rowToKeep)+1),2]=0 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
835 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
836 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
837 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
838 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
839 #in case of generic data clustering with filtering based on generic external data | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
840 if(!is.null(opt$genericData) && !is.null(comparisonMatrix)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
841 if(length(rowToKeep)==0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
842 addComment("[WARNING]No more gene after output filtering step, tabular output will be empty",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
843 outputData=matrix(c("Gene","Cluster","noGene","noClustering"),ncol=2,nrow=2,byrow = TRUE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
844 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
845 outputData=matrix(0,ncol=2+nbComparisons,nrow=length(rowToKeep)+1) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
846 outputData[1,]=c("Gene","Cluster",colnames(comparisonMatrix)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
847 outputData[2:(length(rowToKeep)+1),1]=rowToKeep | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
848 if(class(rowClust)!="logical" ){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
849 outputData[2:(length(rowToKeep)+1),2]=cutree(rowClust,nbClusters)[rowToKeep] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
850 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
851 outputData[2:(length(rowToKeep)+1),2]=0 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
852 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
853 outputData[2:(length(rowToKeep)+1),3:(ncol(comparisonMatrix)+2)]=prettyNum(comparisonMatrix[rowToKeep,],digits=4) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
854 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
855 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
856 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
857 #in case of expression data clustering with filtering based on diff. exp. results or diff. exp. results clustering | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
858 if(is.null(opt$genericData) && !is.null(comparisonMatrix)){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
859 if(length(rowToKeep)==0){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
860 addComment("[WARNING]No more gene after output filtering step, tabular output will be empty",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
861 outputData=matrix(0,ncol=3,nrow=3) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
862 outputData[1,]=c("","","Comparison") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
863 outputData[2,]=c("Gene","Info","Cluster") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
864 outputData[3,]=c("noGene","noInfo","noClustering") | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
865 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
866 outputData=matrix(0,ncol=3+nbComparisons*nbColPerContrast,nrow=length(rowToKeep)+2) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
867 outputData[1,]=c("","","Comparison",rep(colnames(comparisonMatrix)[seq(1,ncol(comparisonMatrix),nbColPerContrast)],each=nbColPerContrast)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
868 outputData[2,]=c("Gene","Info","Cluster",rep(c("p-val","FDR.p-val","FC","log2(FC)","t-stat"),nbComparisons)) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
869 outputData[3:(length(rowToKeep)+2),1]=rowToKeep | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
870 outputData[3:(length(rowToKeep)+2),2]=comparisonMatrixInfoGene[rowToKeep] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
871 if(class(rowClust)!="logical" ){ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
872 outputData[3:(length(rowToKeep)+2),3]=cutree(rowClust,nbClusters)[rowToKeep] | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
873 }else{ | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
874 outputData[3:(length(rowToKeep)+2),3]=0 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
875 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
876 outputData[3:(length(rowToKeep)+2),4:(ncol(comparisonMatrix)+3)]=prettyNum(comparisonMatrix[rowToKeep,],digits=4) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
877 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
878 } | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
879 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
880 addComment("[INFO]Formated output",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
881 write.table(outputData,file=opt$outputFile,quote=FALSE,sep="\t",col.names = F,row.names = F) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
882 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
883 ##---------------------- | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
884 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
885 end.time <- Sys.time() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
886 addComment(c("[INFO]Total execution time for R script:",as.numeric(end.time - start.time,units="mins"),"mins"),T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
887 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
888 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
889 addComment("[INFO]End of R script",T,opt$log,display=FALSE) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
890 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
891 printSessionInfo(opt$log) | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
892 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
893 #sessionInfo() | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
894 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
895 | 
| 
 
708f43bda2b6
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit cb276a594444c8f32e9819fefde3a21f121d35df"
 
vandelj 
parents:  
diff
changeset
 | 
896 | 
