annotate w4mcorcov_calc.R @ 2:a06344808ffc draft

planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
author eschen42
date Sat, 11 Nov 2017 00:08:20 -0500
parents e25fd8a13665
children 61935618f92c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1 # center with 'colMeans()' - ref: http://gastonsanchez.com/visually-enforced/how-to/2014/01/15/Center-data-in-R/
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
2 center_colmeans <- function(x) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
3 xcenter = colMeans(x)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
4 x - rep(xcenter, rep.int(nrow(x), ncol(x)))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
5 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
6
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
7 #### OPLS-DA
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
8 algoC <- "nipals"
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
9
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
10 do_detail_plot <- function(x_dataMatrix, x_predictor, x_is_match, x_algorithm, x_prefix, x_show_labels, x_show_loado_labels, x_progress = print, x_env) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
11 off <- function(x) if (x_show_labels == "0") 0 else x
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
12 if (x_is_match && ncol(x_dataMatrix) > 0 && length(unique(x_predictor))> 1) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
13 my_oplsda <- opls(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
14 x = x_dataMatrix
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
15 , y = x_predictor
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
16 , algoC = x_algorithm
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
17 , predI = 1
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
18 , orthoI = if (ncol(x_dataMatrix) > 1) 1 else 0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
19 , printL = FALSE
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
20 , plotL = FALSE
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
21 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
22 my_oplsda_suppLs_y_levels <- levels(as.factor(my_oplsda@suppLs$y))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
23 fctr_lvl_1 <- my_oplsda_suppLs_y_levels[1]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
24 fctr_lvl_2 <- my_oplsda_suppLs_y_levels[2]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
25 my_cor_vs_cov <- cor_vs_cov(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
26 matrix_x = x_dataMatrix
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
27 , ropls_x = my_oplsda
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
28 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
29 with(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
30 my_cor_vs_cov
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
31 , {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
32 min_x <- min(covariance)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
33 max_x <- max(covariance)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
34 lim_x <- max(sapply(X=c(min_x, max_x), FUN=abs))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
35 covariance <- covariance / lim_x
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
36 lim_x <- 1.2
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
37 main_label <- sprintf("%s for levels %s versus %s", x_prefix, fctr_lvl_1, fctr_lvl_2)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
38 main_cex <- min(1.0, 46.0/nchar(main_label))
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
39 # "It is generally accepted that a variable should be selected if vj>1, [27–29],
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
40 # but a proper threshold between 0.83 and 1.21 can yield more relevant variables according to [28]."
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
41 # (Mehmood 2012 doi:10.1186/1748-7188-6-27)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
42 vipco <- pmax(0, pmin(1,(vip4p-0.83)/(1.21-0.83)))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
43 alpha <- 0.1 + 0.4 * vipco
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
44 red <- as.numeric(correlation > 0) * vipco
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
45 blue <- as.numeric(correlation < 0) * vipco
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
46 plus_cor <- correlation
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
47 plus_cov <- covariance
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
48 cex <- 0.75
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
49 plot(
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
50 y = plus_cor
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
51 , x = plus_cov
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
52 , type="p"
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
53 , xlim=c(-lim_x, lim_x + off(0.2))
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
54 , ylim=c(-1.0 - off(0.2), 1.0)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
55 , xlab = sprintf("relative covariance(feature,t1)")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
56 , ylab = sprintf("correlation(feature,t1)")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
57 , main = main_label
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
58 , cex.main = main_cex
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
59 , cex = cex
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
60 , pch = 16
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
61 , col = rgb(blue = blue, red = red, green = 0, alpha = alpha)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
62 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
63 low_x <- -0.7 * lim_x
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
64 high_x <- 0.7 * lim_x
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
65 text(x = low_x, y = -0.05, labels = fctr_lvl_1, col = "blue")
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
66 text(x = high_x, y = 0.05, labels = fctr_lvl_2, col = "red")
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
67 if ( x_show_labels != "0" ) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
68 my_loadp <- loadp
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
69 my_loado <- loado
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
70 names(my_loadp) <- tsv1$featureID
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
71 names(my_loado) <- tsv1$featureID
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
72 if ( x_show_labels == "ALL" ) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
73 n_labels <- length(loadp)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
74 } else {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
75 n_labels <- as.numeric(x_show_labels)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
76 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
77 n_labels <- min( n_labels, (1 + length(loadp)) / 2 )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
78 labels_to_show <- c(
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
79 names(head(sort(my_loadp),n = n_labels))
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
80 , names(tail(sort(my_loadp),n = n_labels))
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
81 )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
82 if ( x_show_loado_labels ) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
83 labels_to_show <- c(
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
84 labels_to_show
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
85 , names(head(sort(my_loado),n = n_labels))
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
86 , names(tail(sort(my_loado),n = n_labels))
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
87 )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
88 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
89 labels <- unname(sapply( X = tsv1$featureID, FUN = function(x) if( x %in% labels_to_show ) x else "" ))
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
90 text(
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
91 y = plus_cor - 0.013
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
92 , x = plus_cov + 0.020
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
93 , cex = 0.3
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
94 , labels = labels
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
95 , col = rgb(blue = blue, red = red, green = 0, alpha = 0.2 + 0.8 * alpha)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
96 , srt = -30 # slant 30 degrees downward
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
97 , adj = 0 # left-justified
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
98 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
99 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
100 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
101 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
102 typeVc <- c("correlation", # 1
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
103 "outlier", # 2
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
104 "overview", # 3
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
105 "permutation", # 4
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
106 "predict-train", # 5
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
107 "predict-test", # 6
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
108 "summary", # 7 = c(2,3,4,9)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
109 "x-loading", # 8
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
110 "x-score", # 9
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
111 "x-variance", # 10
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
112 "xy-score", # 11
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
113 "xy-weight" # 12
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
114 ) # [c(3,8,9)] # [c(4,3,8,9)]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
115 if ( length(my_oplsda@orthoVipVn) > 0 ) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
116 my_typevc <- typeVc[c(9,3,8)]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
117 } else {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
118 my_typevc <- c("(dummy)","overview","(dummy)")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
119 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
120 for (my_type in my_typevc) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
121 if (my_type %in% typeVc) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
122 # print(sprintf("plotting type %s", my_type))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
123 plot(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
124 x = my_oplsda
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
125 , typeVc = my_type
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
126 , parCexN = 0.4
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
127 , parDevNewL = FALSE
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
128 , parLayL = TRUE
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
129 , parEllipsesL = TRUE
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
130 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
131 } else {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
132 # print("plotting dummy graph")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
133 plot(x=1, y=1, xaxt="n", yaxt="n", xlab="", ylab="", type="n")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
134 text(x=1, y=1, labels="no orthogonal projection is possible")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
135 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
136 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
137 return (my_cor_vs_cov)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
138 } else {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
139 # x_progress(sprintf("x_is_match = %s, ncol(x_dataMatrix) = %d, length(unique(x_predictor)) = %d",x_is_match, ncol(x_dataMatrix), length(unique(x_predictor))))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
140 return (NULL)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
141 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
142 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
143
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
144 # S-PLOT and OPLS reference: Wiklund_2008 doi:10.1021/ac0713510
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
145 corcov_calc <- function(calc_env, failure_action = stop, progress_action = function(x){}, corcov_tsv_action = function(t){}, salience_tsv_action = function(t){}) {
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
146 if ( ! is.environment(calc_env) ) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
147 failure_action("corcov_calc: fatal error - 'calc_env' is not an environment")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
148 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
149 }
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
150 if ( ! is.function(corcov_tsv_action) ) {
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
151 failure_action("corcov_calc: fatal error - 'corcov_tsv_action' is not a function")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
152 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
153 }
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
154 if ( ! is.function(salience_tsv_action) ) {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
155 failure_action("salience_calc: fatal error - 'salience_tsv_action' is not a function")
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
156 return ( FALSE )
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
157 }
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
158
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
159 # extract parameters from the environment
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
160 vrbl_metadata <- calc_env$vrbl_metadata
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
161 vrbl_metadata_names <- vrbl_metadata[,1]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
162 smpl_metadata <- calc_env$smpl_metadata
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
163 data_matrix <- calc_env$data_matrix
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
164 pairSigFeatOnly <- calc_env$pairSigFeatOnly
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
165 facC <- calc_env$facC
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
166 tesC <- calc_env$tesC
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
167 # extract the levels from the environment
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
168 originalLevCSV <- levCSV <- calc_env$levCSV
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
169 # matchingC is one of { "none", "wildcard", "regex" }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
170 matchingC <- calc_env$matchingC
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
171 labelFeatures <- calc_env$labelFeatures
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
172 labelOrthoFeatures <- calc_env$labelOrthoFeatures
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
173
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
174 # arg/env checking
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
175 if (!(facC %in% names(smpl_metadata))) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
176 failure_action(sprintf("bad parameter! Factor name '%s' not found in sampleMetadata", facC))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
177 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
178 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
179
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
180 mz <- vrbl_metadata$mz
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
181 names(mz) <- vrbl_metadata$variableMetadata
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
182 mz_lookup <- function(feature) unname(mz[feature])
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
183
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
184 rt <- vrbl_metadata$rt
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
185 names(rt) <- vrbl_metadata$variableMetadata
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
186 rt_lookup <- function(feature) unname(rt[feature])
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
187
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
188 # calculate salience_df as data.frame(feature, max_level, max_median, max_rcv, mean_median, salience, salient_rcv)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
189 salience_df <- calc_env$salience_df <- w4msalience(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
190 data_matrix = data_matrix
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
191 , sample_class = smpl_metadata[,facC]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
192 , failure_action = failure_action
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
193 )
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
194 salience_tsv_action({
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
195 my_df <- data.frame(
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
196 featureID = salience_df$feature
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
197 , salientLevel = salience_df$max_level
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
198 , salientRCV = salience_df$salient_rcv
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
199 , salience = salience_df$salience
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
200 , mz = mz_lookup(salience_df$feature)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
201 , rt = rt_lookup(salience_df$feature)
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
202 )
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
203 my_df[order(-my_df$salience),]
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
204 })
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
205
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
206 # transform wildcards to regexen
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
207 if (matchingC == "wildcard") {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
208 # strsplit(x = "hello,wild,world", split = ",")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
209 levCSV <- gsub("[.]", "[.]", levCSV)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
210 levCSV <- strsplit(x = levCSV, split = ",")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
211 levCSV <- sapply(levCSV, utils::glob2rx, trim.tail = FALSE)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
212 levCSV <- paste(levCSV, collapse = ",")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
213 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
214 # function to determine whether level is a member of levCSV
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
215 isLevelSelected <- function(lvl) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
216 matchFun <- if (matchingC != "none") grepl else `==`
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
217 return(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
218 Reduce(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
219 f = "||"
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
220 , x = sapply(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
221 X = strsplit(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
222 x = levCSV
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
223 , split = ","
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
224 , fixed = TRUE
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
225 )[[1]]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
226 , FUN = matchFun
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
227 , lvl
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
228 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
229 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
230 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
231 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
232
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
233 # transpose matrix because ropls matrix is the transpose of XCMS matrix
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
234 # Wiklund_2008 centers and pareto-scales data before OPLS-DA S-plot
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
235 # center
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
236 cdm <- center_colmeans(t(data_matrix))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
237 # pareto-scale
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
238 my_scale <- sqrt(apply(cdm, 2, sd, na.rm=TRUE))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
239 scdm <- sweep(cdm, 2, my_scale, "/")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
240
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
241 # pattern to match column names like k10_kruskal_k4.k3_sig
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
242 col_pattern <- sprintf('^%s_%s_(.*)[.](.*)_sig$', facC, tesC)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
243 # column name like k10_kruskal_sig
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
244 intersample_sig_col <- sprintf('%s_%s_sig', facC, tesC)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
245 # get the facC column from sampleMetadata, dropping to one dimension
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
246 smpl_metadata_facC <- smpl_metadata[,facC]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
247
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
248 # allocate a slot in the environment for the contrast_list, each element of which will be a data.frame with this structure:
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
249 # - feature ID
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
250 # - value1
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
251 # - value2
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
252 # - Wiklund_2008 correlation
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
253 # - Wiklund_2008 covariance
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
254 # - Wiklund_2008 VIP
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
255 calc_env$contrast_list <- list()
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
256
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
257
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
258 did_plot <- FALSE
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
259 if (tesC != "none") {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
260 # for each column name, extract the parts of the name matched by 'col_pattern', if any
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
261 the_colnames <- colnames(vrbl_metadata)
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
262 if ( ! Reduce( f = "||", x = grepl(tesC, the_colnames) ) ) {
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
263 failure_action(sprintf("bad parameter! variableMetadata must contain results of W4M Univariate test '%s'.", tesC))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
264 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
265 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
266 col_matches <- lapply(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
267 X = the_colnames,
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
268 FUN = function(x) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
269 regmatches( x, regexec(col_pattern, x) )[[1]]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
270 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
271 )
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
272 ## first contrast each selected level with all other levels combined into one "super-level" ##
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
273 # process columns matching the pattern
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
274 level_union <- c()
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
275 for (i in 1:length(col_matches)) {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
276 col_match <- col_matches[[i]]
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
277 if (length(col_match) > 0) {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
278 # it's an actual match; extract the pieces, e.g., k10_kruskal_k4.k3_sig
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
279 vrbl_metadata_col <- col_match[1] # ^^^^^^^^^^^^^^^^^^^^^ # Column name
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
280 fctr_lvl_1 <- col_match[2] # ^^ # Factor-level 1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
281 fctr_lvl_2 <- col_match[3] # ^^ # Factor-level 2
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
282 # only process this column if both factors are members of lvlCSV
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
283 is_match <- isLevelSelected(fctr_lvl_1) && isLevelSelected(fctr_lvl_2)
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
284 if (is_match) {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
285 level_union <- c(level_union, col_match[2], col_match[3])
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
286 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
287 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
288 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
289 level_union <- unique(sort(level_union))
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
290 overall_significant <- 1 == ( if (intersample_sig_col %in% colnames(vrbl_metadata)) vrbl_metadata[,intersample_sig_col] else TRUE )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
291 if ( length(level_union) > 2 ) {
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
292 chosen_samples <- smpl_metadata_facC %in% level_union
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
293 chosen_facC <- as.character(smpl_metadata_facC[chosen_samples])
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
294 col_selector <- vrbl_metadata_names[ overall_significant ]
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
295 my_matrix <- scdm[ chosen_samples, col_selector, drop = FALSE ]
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
296 plot_action <- function(fctr_lvl_1, fctr_lvl_2) {
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
297 progress_action(sprintf("calculating/plotting contrast of %s vs. %s", fctr_lvl_1, fctr_lvl_2))
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
298 predictor <- sapply( X = chosen_facC, FUN = function(fac) if ( fac == fctr_lvl_1 ) fctr_lvl_1 else fctr_lvl_2 )
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
299 my_cor_cov <- do_detail_plot(
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
300 x_dataMatrix = my_matrix
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
301 , x_predictor = predictor
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
302 , x_is_match = is_match
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
303 , x_algorithm = algoC
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
304 , x_prefix = if (pairSigFeatOnly) "Significantly contrasting features" else "Significant features"
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
305 , x_show_labels = labelFeatures
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
306 , x_show_loado_labels = labelOrthoFeatures
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
307 , x_progress = progress_action
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
308 , x_env = calc_env
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
309 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
310 if ( is.null(my_cor_cov) ) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
311 progress_action("NOTHING TO PLOT.")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
312 } else {
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
313 my_tsv <- my_cor_cov$tsv1
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
314 my_tsv$mz <- mz_lookup(my_tsv$featureID)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
315 my_tsv$rt <- rt_lookup(my_tsv$featureID)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
316 my_tsv["level1Level2Sig"] <- vrbl_metadata[ match(my_tsv$featureID, vrbl_metadata_names), vrbl_metadata_col ]
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
317 tsv <<- my_tsv
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
318 corcov_tsv_action(tsv)
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
319 did_plot <<- TRUE
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
320 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
321 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
322 if ( length(level_union) != 2 ) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
323 fctr_lvl_2 <- "other"
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
324 for ( fctr_lvl_1 in level_union[1:length(level_union)] ) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
325 plot_action(fctr_lvl_1, fctr_lvl_2)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
326 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
327 } else {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
328 plot_action(fctr_lvl_1 = level_union[1], fctr_lvl_2 = level_union[2])
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
329 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
330 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
331
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
332 if ( length(level_union) > 1 ) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
333 ## next, contrast each selected level with each of the other levels individually ##
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
334 # process columns matching the pattern
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
335 for (i in 1:length(col_matches)) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
336 # for each potential match of the pattern
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
337 col_match <- col_matches[[i]]
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
338 if (length(col_match) > 0) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
339 # it's an actual match; extract the pieces, e.g., k10_kruskal_k4.k3_sig
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
340 vrbl_metadata_col <- col_match[1] # ^^^^^^^^^^^^^^^^^^^^^ # Column name
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
341 fctr_lvl_1 <- col_match[2] # ^^ # Factor-level 1
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
342 fctr_lvl_2 <- col_match[3] # ^^ # Factor-level 2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
343 # only process this column if both factors are members of lvlCSV
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
344 is_match <- isLevelSelected(fctr_lvl_1) && isLevelSelected(fctr_lvl_2)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
345 progress_action(sprintf("calculating/plotting contrast of %s vs. %s", fctr_lvl_1, fctr_lvl_2))
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
346 # TODO delete next line displaying currently-processed column
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
347 # cat(sprintf("%s %s %s %s\n", vrbl_metadata_col, fctr_lvl_1, fctr_lvl_2, is_match))
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
348 # choose only samples with one of the two factors for this column
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
349 chosen_samples <- smpl_metadata_facC %in% c(fctr_lvl_1, fctr_lvl_2)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
350 predictor <- smpl_metadata_facC[chosen_samples]
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
351 # extract only the significantly-varying features and the chosen samples
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
352 fully_significant <- 1 == vrbl_metadata[,vrbl_metadata_col] * ( if (intersample_sig_col %in% colnames(vrbl_metadata)) vrbl_metadata[,intersample_sig_col] else TRUE )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
353 col_selector <- vrbl_metadata_names[ if ( pairSigFeatOnly ) fully_significant else overall_significant ]
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
354 my_matrix <- scdm[ chosen_samples, col_selector, drop = FALSE ]
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
355 my_cor_cov <- do_detail_plot(
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
356 x_dataMatrix = my_matrix
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
357 , x_predictor = predictor
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
358 , x_is_match = is_match
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
359 , x_algorithm = algoC
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
360 , x_prefix = if (pairSigFeatOnly) "Significantly contrasting features" else "Significant features"
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
361 , x_show_labels = labelFeatures
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
362 , x_show_loado_labels = labelOrthoFeatures
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
363 , x_progress = progress_action
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
364 , x_env = calc_env
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
365 )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
366 if ( is.null(my_cor_cov) ) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
367 progress_action("NOTHING TO PLOT.")
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
368 } else {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
369 tsv <- my_cor_cov$tsv1
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
370 tsv$mz <- mz_lookup(tsv$featureID)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
371 tsv$rt <- rt_lookup(tsv$featureID)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
372 tsv["level1Level2Sig"] <- vrbl_metadata[ match(tsv$featureID, vrbl_metadata_names), vrbl_metadata_col ]
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
373 corcov_tsv_action(tsv)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
374 did_plot <- TRUE
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
375 }
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
376 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
377 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
378 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
379 } else { # tesC == "none"
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
380 level_union <- unique(sort(smpl_metadata_facC))
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
381 if ( length(level_union) > 1 ) {
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
382 if ( length(level_union) > 2 ) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
383 ## pass 1 - contrast each selected level with all other levels combined into one "super-level" ##
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
384 completed <- c()
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
385 lapply(
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
386 X = level_union
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
387 , FUN = function(x) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
388 fctr_lvl_1 <- x[1]
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
389 fctr_lvl_2 <- {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
390 if ( fctr_lvl_1 %in% completed )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
391 return("DUMMY")
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
392 # strF(completed)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
393 completed <<- c(completed, fctr_lvl_1)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
394 setdiff(level_union, fctr_lvl_1)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
395 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
396 chosen_samples <- smpl_metadata_facC %in% c(fctr_lvl_1, fctr_lvl_2)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
397 fctr_lvl_2 <- "other"
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
398 # print( sprintf("sum(chosen_samples) %d, factor_level_2 %s", sum(chosen_samples), fctr_lvl_2) )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
399 progress_action(sprintf("calculating/plotting contrast of %s vs. %s", fctr_lvl_1, fctr_lvl_2))
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
400 if (length(unique(chosen_samples)) < 1) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
401 progress_action("NOTHING TO PLOT...")
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
402 } else {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
403 chosen_facC <- as.character(smpl_metadata_facC[chosen_samples])
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
404 predictor <- sapply( X = chosen_facC, FUN = function(fac) if ( fac == fctr_lvl_1 ) fctr_lvl_1 else fctr_lvl_2 )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
405 my_matrix <- scdm[ chosen_samples, , drop = FALSE ]
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
406 # only process this column if both factors are members of lvlCSV
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
407 is_match <- isLevelSelected(fctr_lvl_1)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
408 my_cor_cov <- do_detail_plot(
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
409 x_dataMatrix = my_matrix
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
410 , x_predictor = predictor
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
411 , x_is_match = is_match
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
412 , x_algorithm = algoC
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
413 , x_prefix = "Features"
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
414 , x_show_labels = labelFeatures
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
415 , x_show_loado_labels = labelOrthoFeatures
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
416 , x_progress = progress_action
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
417 , x_env = calc_env
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
418 )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
419 if ( is.null(my_cor_cov) ) {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
420 progress_action("NOTHING TO PLOT")
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
421 } else {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
422 tsv <- my_cor_cov$tsv1
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
423 tsv$mz <- mz_lookup(tsv$featureID)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
424 tsv$rt <- rt_lookup(tsv$featureID)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
425 corcov_tsv_action(tsv)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
426 did_plot <<- TRUE
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
427 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
428 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
429 #print("baz")
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
430 "dummy" # need to return a value; otherwise combn fails with an error
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
431 }
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
432 )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
433 }
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
434 ## pass 2 - contrast each selected level with each of the other levels individually ##
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
435 completed <- c()
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
436 utils::combn(
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
437 x = level_union
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
438 , m = 2
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
439 , FUN = function(x) {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
440 fctr_lvl_1 <- x[1]
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
441 fctr_lvl_2 <- x[2]
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
442 chosen_samples <- smpl_metadata_facC %in% c(fctr_lvl_1, fctr_lvl_2)
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
443 # print( sprintf("sum(chosen_samples) %d, factor_level_2 %s", sum(chosen_samples), fctr_lvl_2) )
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
444 progress_action(sprintf("calculating/plotting contrast of %s vs. %s", fctr_lvl_1, fctr_lvl_2))
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
445 if (length(unique(chosen_samples)) < 1) {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
446 progress_action("NOTHING TO PLOT...")
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
447 } else {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
448 chosen_facC <- as.character(smpl_metadata_facC[chosen_samples])
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
449 predictor <- chosen_facC
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
450 my_matrix <- scdm[ chosen_samples, , drop = FALSE ]
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
451 # only process this column if both factors are members of lvlCSV
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
452 is_match <- isLevelSelected(fctr_lvl_1) && isLevelSelected(fctr_lvl_2)
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
453 my_cor_cov <- do_detail_plot(
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
454 x_dataMatrix = my_matrix
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
455 , x_predictor = predictor
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
456 , x_is_match = is_match
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
457 , x_algorithm = algoC
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
458 , x_prefix = "Features"
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
459 , x_show_labels = labelFeatures
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
460 , x_show_loado_labels = labelOrthoFeatures
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
461 , x_progress = progress_action
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
462 , x_env = calc_env
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
463 )
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
464 if ( is.null(my_cor_cov) ) {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
465 progress_action("NOTHING TO PLOT")
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
466 } else {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
467 tsv <- my_cor_cov$tsv1
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
468 tsv$mz <- mz_lookup(tsv$featureID)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
469 tsv$rt <- rt_lookup(tsv$featureID)
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
470 corcov_tsv_action(tsv)
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
471 did_plot <<- TRUE
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
472 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
473 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
474 #print("baz")
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
475 "dummy" # need to return a value; otherwise combn fails with an error
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
476 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
477 )
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
478 } else {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
479 progress_action("NOTHING TO PLOT....")
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
480 }
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
481 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
482 if (!did_plot) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
483 failure_action(sprintf("bad parameter! sampleMetadata must have at least two levels of factor '%s' matching '%s'", facC, originalLevCSV))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
484 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
485 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
486 return ( TRUE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
487 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
488
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
489 # Calculate data for correlation-versus-covariance plot
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
490 # Adapted from:
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
491 # Wiklund_2008 doi:10.1021/ac0713510
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
492 # Galindo_Prieto_2014 doi:10.1002/cem.2627
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
493 # https://github.com/HegemanLab/extra_tools/blob/master/generic_PCA.R
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
494 cor_vs_cov <- function(matrix_x, ropls_x) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
495 x_class <- class(ropls_x)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
496 if ( !( as.character(x_class) == "opls" ) ) { # || !( attr(class(x_class),"package") == "ropls" ) )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
497 stop( "cor_vs_cov: Expected ropls_x to be of class ropls::opls but instead it was of class ", as.character(x_class) )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
498 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
499 result <- list()
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
500 # suppLs$algoC - Character: algorithm used - "svd" for singular value decomposition; "nipals" for NIPALS
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
501 if ( ropls_x@suppLs$algoC == "nipals") {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
502 # Equations (1) and (2) from *Supplement to* Wiklund 2008, doi:10.1021/ac0713510
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
503 mag <- function(one_dimensional) sqrt(sum(one_dimensional * one_dimensional))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
504 mag_xi <- sapply(X = 1:ncol(matrix_x), FUN = function(x) mag(matrix_x[,x]))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
505 score_matrix <- ropls_x@scoreMN
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
506 score_matrix_transposed <- t(score_matrix)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
507 score_matrix_magnitude <- mag(score_matrix)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
508 result$covariance <- score_matrix_transposed %*% matrix_x / ( score_matrix_magnitude * score_matrix_magnitude )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
509 result$correlation <- score_matrix_transposed %*% matrix_x / ( score_matrix_magnitude * mag_xi )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
510 } else {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
511 # WARNING - untested code - I don't have test data to exercise this branch
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
512 # Equations (1) and (2) from Wiklund 2008, doi:10.1021/ac0713510
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
513 # scoreMN - Numerical matrix of x scores (T; dimensions: nrow(x) x predI) X = TP' + E; Y = TC' + F
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
514 score_matrix <- ropls_x@scoreMN
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
515 score_matrix_transposed <- t(score_matrix)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
516 cov_divisor <- nrow(matrix_x) - 1
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
517 result$covariance <- sapply(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
518 X = 1:ncol(matrix_x)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
519 , FUN = function(x) score_matrix_transposed %*% matrix_x[,x] / cov_divisor
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
520 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
521 score_sd <- sapply(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
522 X = 1:ncol(score_matrix)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
523 , FUN = function(x) sd(score_matrix[,x])
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
524 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
525 # xSdVn - Numerical vector: variable standard deviations of the 'x' matrix
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
526 xSdVn <- ropls_x@xSdVn
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
527 result$correlation <- sapply(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
528 X = 1:ncol(matrix_x)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
529 , FUN = function(x) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
530 ( score_matrix_transposed / score_sd ) %*% ( matrix_x[,x] / (xSdVn[x] * cov_divisor) )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
531 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
532 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
533 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
534 result$correlation <- result$correlation[1,,drop = TRUE]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
535 result$covariance <- result$covariance[1,,drop = TRUE]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
536
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
537 # Variant 4 of Variable Influence on Projection for OPLS from Galindo_Prieto_2014
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
538 # Length = number of features; labels = feature identifiers. (The same is true for $correlation and $covariance.)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
539 result$vip4p <- as.numeric(ropls_x@vipVn)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
540 result$vip4o <- as.numeric(ropls_x@orthoVipVn)
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
541 result$loadp <- as.numeric(ropls_x@loadingMN)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
542 result$loado <- as.numeric(ropls_x@orthoLoadingMN)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
543 # get the level names
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
544 level_names <- sort(levels(as.factor(ropls_x@suppLs$y)))
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
545 fctr_lvl_1 <- level_names[1]
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
546 fctr_lvl_2 <- level_names[2]
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
547 feature_count <- length(ropls_x@vipVn)
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
548 result$level1 <- rep.int(x = fctr_lvl_1, times = feature_count)
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
549 result$level2 <- rep.int(x = fctr_lvl_2, times = feature_count)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
550 # print(sprintf("sd(covariance) = %f; sd(correlation) = %f", sd(result$covariance), sd(result$correlation)))
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
551 superresult <- list()
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
552 if (length(result$vip4o) == 0) result$vip4o <- NA
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
553 greaterLevel <- sapply( X = result$correlation, FUN = function(my_corr) if ( my_corr < 0 ) fctr_lvl_1 else fctr_lvl_2 )
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
554 superresult$tsv1 <- data.frame(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
555 featureID = names(ropls_x@vipVn)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
556 , factorLevel1 = result$level1
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
557 , factorLevel2 = result$level2
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
558 , greaterLevel = greaterLevel
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
559 , correlation = result$correlation
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
560 , covariance = result$covariance
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
561 , vip4p = result$vip4p
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
562 , vip4o = result$vip4o
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
563 , loadp = result$loadp
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
564 , loado = result$loado
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
565 , row.names = NULL
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
566 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
567 rownames(superresult$tsv1) <- superresult$tsv1$featureID
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
568 superresult$covariance <- result$covariance
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
569 superresult$correlation <- result$correlation
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
570 superresult$vip4p <- result$vip4p
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
571 superresult$vip4o <- result$vip4o
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
572 superresult$loadp <- result$loadp
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
573 superresult$loado <- result$loado
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
574 superresult$details <- result
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
575 # #print(superresult$tsv1)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
576 result$superresult <- superresult
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
577 # Include thise in case future consumers of this routine want to use it in currently unanticipated ways
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
578 result$oplsda <- ropls_x
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
579 result$predictor <- ropls_x@suppLs$y # in case future consumers of this routine want to use it in currently unanticipated ways
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
580 return (superresult)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
581 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
582
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
583