annotate galaxy/asca_wrapper.R @ 0:c5f11e6f8f99 draft

Uploaded
author marie-tremblay-metatoul
date Mon, 30 Jul 2018 07:29:40 -0400
parents
children 20395c0079ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
1 #!/usr/bin/env Rscript
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
2
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
3 ###################################################################################################
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
4 #
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
5 # MetStaT ASCA.calculate function
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
6 #
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
7 #
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
8 # R-Package: MetStaT
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
9 #
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
10 # Version: 1.0
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
11 #
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
12 # Author (asca.calculate): Tim Dorscheidt
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
13 # Author (wrapper & .r adaptation for workflow4metabolomics.org): M. Tremblay-Franco & Y. Guitton #
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
14 #
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
15 # Expected parameters from the commandline
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
16 # input files:
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
17 # dataMatrix
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
18 # sampleMetadata
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
19 # variableMetadata
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
20 # params:
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
21 # Factors (Factor1 & Factor2)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
22 # scaling
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
23 # Number of permutations
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
24 # Significance threshold
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
25 # output files:
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
26 # sampleMetadata
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
27 # variableMetadata
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
28 # Graphical outputs
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
29 # Information text
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
30 ###################################################################################################
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
31 pkgs=c("MetStaT","batch","pcaMethods")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
32 for(pkg in pkgs) {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
33 suppressPackageStartupMessages( stopifnot( library(pkg, quietly=TRUE, logical.return=TRUE, character.only=TRUE)))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
34 cat(pkg,"\t",as.character(packageVersion(pkg)),"\n",sep="")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
35 }
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
36
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
37
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
38 listArguments = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
39
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
40 #Redirect all stdout to the log file
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
41 sink(listArguments$information)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
42
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
43 # ----- PACKAGE -----
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
44 cat("\tPACKAGE INFO\n")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
45 sessionInfo()
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
46
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
47 source_local <- function(fname) {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
48 argv <- commandArgs(trailingOnly = FALSE)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
49 base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
50 source(paste(base_dir, fname, sep="/"))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
51 }
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
52
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
53 #load asca_w4m function
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
54 source_local("asca_w4m.R")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
55 source_local("ASCA.Calculate_w4m.R")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
56 source_local("ASCA.PlotScoresPerLevel_w4m.R")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
57 print("first loadings OK")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
58
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
59 ## libraries
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
60 ##----------
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
61
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
62 cat('\n\nRunning ASCA.calculate\n');
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
63 options(warn=-1);
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
64 #remove rgl warning
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
65 options(rgl.useNULL = TRUE);
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
66
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
67
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
68 ## constants
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
69 ##----------
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
70
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
71 modNamC <- "asca" ## module name
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
72
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
73 topEnvC <- environment()
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
74 flgC <- "\n"
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
75
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
76 ## functions
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
77 ##----------For manual input of function
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
78 ##--end function
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
79
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
80 flgF <- function(tesC,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
81 envC = topEnvC,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
82 txtC = NA) { ## management of warning and error messages
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
83
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
84 tesL <- eval(parse(text = tesC), envir = envC)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
85
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
86 if(!tesL) {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
87
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
88 sink(NULL)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
89 stpTxtC <- ifelse(is.na(txtC),
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
90 paste0(tesC, " is FALSE"),
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
91 txtC)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
92
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
93 stop(stpTxtC,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
94 call. = FALSE)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
95
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
96 }
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
97
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
98 } ## flgF
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
99
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
100
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
101 ## log file
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
102 ##---------
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
103 cat("\nStart of the '", modNamC, "' Galaxy module call: ",
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
104 format(Sys.time(), "%a %d %b %Y %X"), "\n", sep="")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
105
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
106
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
107 ## arguments
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
108 ##----------
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
109 ## loading files and checks
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
110 xMN <- t(as.matrix(read.table(listArguments[["dataMatrix_in"]],
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
111 check.names = FALSE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
112 header = TRUE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
113 row.names = 1,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
114 sep = "\t")))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
115
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
116 samDF <- read.table(listArguments[["sampleMetadata_in"]],
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
117 check.names = FALSE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
118 header = TRUE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
119 row.names = 1,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
120 sep = "\t")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
121
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
122 varDF <- read.table(listArguments[["variableMetadata_in"]],
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
123 check.names = FALSE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
124 header = TRUE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
125 row.names = 1,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
126 sep = "\t")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
127
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
128 result <- asca_w4m(xMN, samDF, c(listArguments[["factor1"]],listArguments[["factor2"]]), varDF, as.numeric(listArguments[["threshold"]]),
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
129 scaling=listArguments[["scaling"]], listArguments[["nPerm"]])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
130
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
131
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
132 ##saving
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
133
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
134 if (exists("result")) {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
135 ## writing output files
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
136 cat("\n\nWriting output files\n\n");
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
137 write.table(result[[4]],
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
138 file = listArguments$sampleMetadata_out,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
139 quote = FALSE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
140 row.names = TRUE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
141 sep = "\t")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
142
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
143 write.table(result[[5]],
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
144 file = listArguments$variableMetadata_out,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
145 quote = FALSE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
146 row.names = TRUE,
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
147 sep = "\t")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
148
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
149 # Graphical display for each significant parameter
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
150 print(result[[3]])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
151 cat("\n p-value of Residuals must not be taken into account\n")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
152
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
153 if (any(result[[2]] < as.numeric(listArguments[["threshold"]])))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
154 {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
155 data.asca.permutation <- result[[2]]
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
156 design <- data.matrix(samDF[, colnames(samDF) %in% c(listArguments[["factor1"]],listArguments[["factor2"]])])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
157
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
158 pdf(listArguments$figure, onefile=TRUE)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
159 par(mfrow=c(1,3))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
160 if (data.asca.permutation[1] < as.numeric(listArguments[["threshold"]]))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
161 {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
162 eigenvalues <- data.frame(1:length(unique(design[,1])), result[[1]]$'1'$svd$var.explained[1:length(unique(design[,1]))])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
163 colnames(eigenvalues) <- c("PC", "explainedVariance")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
164 barplot(eigenvalues[,2], names.arg=eigenvalues[,1], ylab="% of explained variance", xlab="Principal component")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
165 noms <- levels(as.factor(samDF[, listArguments$factor1]))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
166 ASCA.PlotScoresPerLevel_w4m(result[[1]], ee="1", interaction=0, factorName=listArguments$factor1, factorModalite=noms)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
167 Date.loadings <- data.matrix(result[[5]][,2:3])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
168 Date.loadings.leverage <- diag(Date.loadings%*%t(Date.loadings))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
169 names(Date.loadings.leverage) <- colnames(xMN)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
170 Date.loadings.leverage <- sort(Date.loadings.leverage, decreasing=TRUE)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
171 barplot(Date.loadings.leverage[Date.loadings.leverage > 0.001], main="PC1 loadings")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
172 }
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
173 if (data.asca.permutation[2] < as.numeric(listArguments[["threshold"]]))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
174 {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
175 eigenvalues <- data.frame(1:length(unique(design[,2])), result[[1]]$'2'$svd$var.explained[1:length(unique(design[,2]))])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
176 colnames(eigenvalues) <- c("PC", "explainedVariance")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
177 barplot(eigenvalues[,2], names.arg=eigenvalues[,1], ylab="% of explained variance", xlab="Principal component")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
178 noms <- levels(as.factor(samDF[, listArguments$factor2]))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
179 ASCA.PlotScoresPerLevel_w4m(result[[1]], ee="2", interaction=0, factorName=listArguments$factor2, factorModalite=noms)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
180 Date.loadings <- data.matrix(result[[5]][,4:5])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
181 Date.loadings.leverage <- diag(Date.loadings%*%t(Date.loadings))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
182 names(Date.loadings.leverage) <- colnames(xMN)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
183 Date.loadings.leverage <- sort(Date.loadings.leverage, decreasing=TRUE)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
184 barplot(Date.loadings.leverage[Date.loadings.leverage > 0.001], main="PC1 loadings")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
185 }
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
186 if (data.asca.permutation[3] < as.numeric(listArguments[["threshold"]]))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
187 {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
188 eigenvalues <- data.frame(1:(length(unique(design[,1]))*length(unique(design[,2]))), result[[1]]$'12'$svd$var.explained[1:(length(unique(design[,1]))*length(unique(design[,2])))])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
189 colnames(eigenvalues) <- c("PC", "explainedVariance")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
190 barplot(eigenvalues[,2], names.arg=eigenvalues[,1], ylab="% of explained variance", xlab="Principal component")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
191 noms1 <- data.matrix(levels(as.factor(samDF[, listArguments$factor1])))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
192 noms2 <- data.matrix(levels(as.factor(samDF[, listArguments$factor2])))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
193 noms <- apply(noms1, 1, FUN=function(x){paste(x, "-", noms2, sep="")})
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
194 noms <- apply(noms, 1, FUN=function(x){c(noms)})
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
195 ASCA.PlotScoresPerLevel_w4m(result[[1]], ee="12", interaction=1, factorModalite=noms[,1])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
196 Date.loadings <- data.matrix(result[[5]][,6:7])
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
197 Date.loadings.leverage <- diag(Date.loadings%*%t(Date.loadings))
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
198 names(Date.loadings.leverage) <- colnames(xMN)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
199 Date.loadings.leverage <- sort(Date.loadings.leverage, decreasing=TRUE)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
200 barplot(Date.loadings.leverage[Date.loadings.leverage > 0.001], main="PC1 loadings")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
201 }
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
202 dev.off()
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
203 }
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
204
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
205 tryCatch({
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
206 save(result, file="asca.RData");
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
207 }, warning = function(w) {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
208 print(paste("Warning: ", w));
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
209 }, error = function(err) {
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
210 stop(paste("ERROR saving result RData object:", err));
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
211 });
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
212 }
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
213
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
214 ## ending
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
215 ##-------
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
216
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
217 cat("\nEnd of the '", modNamC, "' Galaxy module call: ",
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
218 format(Sys.time(), "%a %d %b %Y %X"), "\n", sep = "")
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
219
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
220 sink()
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
221
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
222 # options(stringsAsFactors = strAsFacL)
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
223
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
224
c5f11e6f8f99 Uploaded
marie-tremblay-metatoul
parents:
diff changeset
225 rm(list = ls())