annotate w4mcorcov_calc.R @ 7:ca9938f2eb6a draft default tip

"planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
author eschen42
date Tue, 17 Nov 2020 23:29:59 +0000
parents 0b49916c5c52
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1 # compute and output detail plots
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
2 do_detail_plot <- function(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
3 x_dataMatrix
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
4 , x_predictor
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
5 , x_is_match
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
6 , x_algorithm
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
7 , x_prefix
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
8 , x_show_labels
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
9 , x_progress = print
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
10 , x_env
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
11 , x_crossval_i
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
12 ) {
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
13 off <- function(x) if (x_show_labels == "0") 0 else x
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
14 if ( x_is_match
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
15 && ncol(x_dataMatrix) > 0
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
16 && length(unique(x_predictor)) > 1
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
17 && x_crossval_i < nrow(x_dataMatrix)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
18 ) {
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
19 my_oplsda <- opls(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
20 x = x_dataMatrix
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
21 , y = x_predictor
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
22 , algoC = x_algorithm
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
23 , predI = 1
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
24 , orthoI = if (ncol(x_dataMatrix) > 1) 1 else 0
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
25 , fig.pdfC = 'none'
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
26 , info.txtC = 'none'
4
d3bb34e764fe planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 7a0b65df47977b9c7a62de7dc1587e5fb3e5abc1
eschen42
parents: 3
diff changeset
27 , crossvalI = x_crossval_i
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
28 , scaleC = "pareto" # data centered and pareto scaled here only. This line fixes issue #2.
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
29 )
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
30 # strip out variables having negligible variance
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
31 x_dataMatrix <- x_dataMatrix[ , names(my_oplsda@vipVn), drop = FALSE]
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
32 my_oplsda_suppLs_y_levels <- levels(as.factor(my_oplsda@suppLs$y))
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
33
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
34 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
35 fctr_lvl_2 <- my_oplsda_suppLs_y_levels[2]
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
36 do_s_plot <- function(
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
37 x_env
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
38 , predictor_projection_x = TRUE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
39 , cplot_x = FALSE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
40 , cor_vs_cov_x = NULL
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
41 ) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
42 if (cplot_x) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
43 cplot_y_correlation <- (x_env$cplot_y == "correlation")
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
44 default_lim_x <- 10
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
45 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
46 default_lim_x <- 1.2
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
47 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
48 if (is.null(cor_vs_cov_x)) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
49 my_cor_vs_cov <- cor_vs_cov(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
50 matrix_x = x_dataMatrix
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
51 , ropls_x = my_oplsda
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
52 , predictor_projection_x = predictor_projection_x
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
53 , x_progress
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
54 , x_env
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
55 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
56 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
57 my_cor_vs_cov <- cor_vs_cov_x
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
58 }
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
59
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
60 if (is.null(my_cor_vs_cov) || sum(!is.na(my_cor_vs_cov$tsv1$covariance)) < 2) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
61 if (is.null(cor_vs_cov_x)) {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
62 x_progress(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
63 sprintf("No cor_vs_cov data produced for level %s versus %s", fctr_lvl_1, fctr_lvl_2)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
64 )
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
65 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
66 plot(x=1, y=1, xaxt="n", yaxt="n", xlab="", ylab="", type="n")
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
67 text(x=1, y=1, labels="too few covariance data")
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
68 return(my_cor_vs_cov)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
69 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
70 with(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
71 my_cor_vs_cov
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
72 , {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
73 min_x <- min(covariance, na.rm = TRUE)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
74 max_x <- max(covariance, na.rm = TRUE)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
75 lim_x <- max(sapply(X=c(min_x, max_x), FUN=abs))
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
76
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
77 # Regarding using VIP as a guide to selecting a biomarker:
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
78 # "It is generally accepted that a variable should be selected if vj>1, [27–29],
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
79 # but a proper threshold between 0.83 and 1.21 can yield more relevant variables according to [28]."
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
80 # (Mehmood 2012 doi:10.1186/1748-7188-6-27)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
81 plus_cor <- correlation
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
82 plus_cov <- covariance
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
83 if (length(plus_cor) != 0 && length(plus_cor) != 0) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
84 cex <- 0.65
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
85 if (projection == 1) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
86 # predictor-projection
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
87 vipcp <- pmax(0, pmin(1, (vip4p - 0.83) / (1.21 - 0.83)))
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
88 if (!cplot_x) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
89 # S-plot predictor-projection
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
90 my_xlab <- "covariance(feature,t1)"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
91 my_x <- plus_cov
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
92 my_ylab <- "correlation(feature,t1)"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
93 my_y <- plus_cor
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
94 # X,Y limits for S-PLOT
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
95 my_xlim <- c( -lim_x, lim_x ) * (1.0 + off(0.3))
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
96 my_ylim <- c( -1.0, 1.0 ) * (1.0 + off(0.2) )
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
97 } else {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
98 # C-plot predictor-projection
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
99 my_xlab <- "variable importance in predictor-projection"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
100 my_x <- vip4p
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
101 if (cplot_y_correlation) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
102 my_ylab <- "correlation(feature,t1)"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
103 my_y <- plus_cor
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
104 my_ylim <- c( -1.0, 1.0 ) * (1.0 + off(0.2) )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
105 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
106 my_ylab <- "covariance(feature,t1)"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
107 my_y <- plus_cov
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
108 my_ylim <- max(abs(plus_cov))
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
109 my_ylim <- c( -my_ylim, my_ylim ) * (1.0 + off(0.2) )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
110 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
111 # X,Y limits for C-plot
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
112 lim_x <- max(my_x, na.rm = TRUE) * 1.1
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
113 lim_x <- min(lim_x, default_lim_x)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
114 my_xlim <- c( 0, lim_x ) # + off(0.2) )
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
115 }
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
116 my_load_distal <- loadp
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
117 my_load_proximal <- loado
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
118 red <- as.numeric(correlation > 0) * vipcp
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
119 blue <- as.numeric(correlation < 0) * vipcp
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
120 alpha <- 0.1 + 0.4 * vipcp
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
121 red[is.na(red)] <- 0
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
122 blue[is.na(blue)] <- 0
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
123 alpha[is.na(alpha)] <- 0
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
124 my_col <- rgb(blue = blue, red = red, green = 0, alpha = alpha)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
125 main_label <- sprintf("%s for level %s versus %s"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
126 , x_prefix, fctr_lvl_1, fctr_lvl_2)
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
127 } else {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
128 # orthogonal projection
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
129 vipco <- pmax(0, pmin(1, (vip4o - 0.83) / (1.21 - 0.83)))
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
130 if (!cplot_x) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
131 # S-PLOT orthogonal-projection
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
132 my_xlab <- "covariance(feature,to1)"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
133 my_x <- -plus_cov
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
134 # X,Y limits for S-PLOT
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
135 my_xlim <- c( -lim_x, lim_x ) * (1.0 + off(0.3))
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
136 my_ylab <- "correlation(feature,to1)"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
137 my_y <- plus_cor
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
138 my_ylim <- c( -1.0, 1.0 ) * (1.0 + off(0.2) )
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
139 } else {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
140 # C-plot orthogonal-projection
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
141 my_xlab <- "variable importance in orthogonal projection"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
142 my_x <- vip4o
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
143 # C-plot orthogonal projection
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
144 # X,Y limits for C-plot
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
145 lim_x <- max(my_x, na.rm = TRUE) * 1.1
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
146 my_xlim <- c( 0, lim_x ) # + off(0.2) )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
147 if (cplot_y_correlation) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
148 my_ylab <- "correlation(feature,to1)"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
149 my_y <- plus_cor
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
150 my_ylim <- c( -1.0, 1.0 ) * (1.0 + off(0.2) )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
151 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
152 my_ylab <- "covariance(feature,to1)"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
153 my_y <- plus_cov
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
154 my_ylim <- max(abs(plus_cov))
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
155 my_ylim <- c( -my_ylim, my_ylim ) * (1.0 + off(0.2) )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
156 }
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
157 }
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
158 my_load_distal <- loado
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
159 my_load_proximal <- loadp
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
160 alpha <- 0.1 + 0.4 * vipco
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
161 alpha[is.na(alpha)] <- 0
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
162 my_col <- rgb(blue = 0, red = 0, green = 0, alpha = alpha)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
163 main_label <- sprintf(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
164 "Features influencing orthogonal projection for %s versus %s"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
165 , fctr_lvl_1, fctr_lvl_2)
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
166 }
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
167 main_cex <- min(1.0, 46.0/nchar(main_label))
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
168 my_feature_label_slant <- -30 # slant feature labels 30 degrees downward
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
169 my_pch <- sapply(X = cor_p_value, function(x) if (x < 0.01) 16 else if (x < 0.05) 17 else 18)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
170 if ( sum(is.infinite(my_xlim)) == 0 ) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
171 plot(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
172 y = my_y
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
173 , x = my_x
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
174 , type = "p"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
175 , xlim = my_xlim
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
176 , ylim = my_ylim
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
177 , xlab = my_xlab
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
178 , ylab = my_ylab
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
179 , main = main_label
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
180 , cex.main = main_cex
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
181 , cex = cex
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
182 , pch = my_pch
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
183 , col = my_col
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
184 )
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
185 low_x <- -0.7 * lim_x
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
186 high_x <- 0.7 * lim_x
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
187 if (projection == 1 && !cplot_x) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
188 text(x = low_x, y = -0.05, labels = fctr_lvl_1, col = "blue")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
189 text(x = high_x, y = 0.05, labels = fctr_lvl_2, col = "red")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
190 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
191 if ( x_show_labels != "0" ) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
192 names(my_load_distal) <- tsv1$featureID
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
193 names(my_load_proximal) <- tsv1$featureID
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
194 if ( x_show_labels == "ALL" ) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
195 n_labels <- length(my_load_distal)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
196 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
197 n_labels <- as.numeric(x_show_labels)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
198 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
199 n_labels <- min( n_labels, (1 + length(my_load_distal)) / 2 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
200 labels_to_show <- c(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
201 names(head(sort(my_load_distal), n = n_labels))
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
202 , names(tail(sort(my_load_distal), n = n_labels))
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
203 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
204 labels <- unname(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
205 sapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
206 X = tsv1$featureID
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
207 , FUN = function(x) if ( x %in% labels_to_show ) x else ""
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
208 )
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
209 )
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
210 x_text_offset <- 0.024
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
211 y_text_off <- 0.017
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
212 if (!cplot_x) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
213 # S-plot
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
214 y_text_offset <- if (projection == 1) -y_text_off else y_text_off
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
215 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
216 # C-plot
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
217 y_text_offset <-
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
218 sapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
219 X = (my_y > 0)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
220 , FUN = function(x) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
221 if (x) y_text_off else -y_text_off
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
222 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
223 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
224 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
225 label_features <- function(x_arg, y_arg, labels_arg, slant_arg) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
226 if (length(labels_arg) > 0) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
227 unique_slant <- unique(slant_arg)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
228 if (length(unique_slant) == 1) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
229 text(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
230 y = y_arg
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
231 , x = x_arg + x_text_offset
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
232 , cex = 0.4
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
233 , labels = labels_arg
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
234 , col = rgb(blue = 0, red = 0, green = 0, alpha = 0.5) # grey semi-transparent labels
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
235 , srt = slant_arg
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
236 , adj = 0 # left-justified
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
237 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
238 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
239 for (slant in unique_slant) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
240 text(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
241 y = y_arg[slant_arg == slant]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
242 , x = x_arg[slant_arg == slant] + x_text_offset
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
243 , cex = 0.4
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
244 , labels = labels_arg[slant_arg == slant]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
245 , col = rgb(blue = 0, red = 0, green = 0, alpha = 0.5) # grey semi-transparent labels
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
246 , srt = slant
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
247 , adj = 0 # left-justified
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
248 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
249 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
250 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
251 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
252 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
253 if (!cplot_x) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
254 my_slant <- (if (projection == 1) 1 else -1) * my_feature_label_slant
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
255 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
256 my_slant <- sapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
257 X = (my_y > 0)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
258 , FUN = function(x) if (x) 2 else -2
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
259 ) * my_feature_label_slant
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
260 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
261 if (length(my_x) > 1) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
262 label_features(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
263 x_arg = my_x [my_x > 0]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
264 , y_arg = my_y [my_x > 0] - y_text_offset
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
265 , labels_arg = labels[my_x > 0]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
266 , slant_arg = (if (!cplot_x) -my_slant else (my_slant))
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
267 )
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
268 if (!cplot_x) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
269 label_features(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
270 x_arg = my_x [my_x < 0]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
271 , y_arg = my_y [my_x < 0] + y_text_offset
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
272 , labels_arg = labels[my_x < 0]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
273 , slant_arg = my_slant
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
274 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
275 }
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
276 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
277 if (!cplot_x) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
278 my_slant <- (if (my_x > 1) -1 else 1) * my_slant
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
279 my_y_arg <- my_y + (if (my_x > 1) -1 else 1) * y_text_offset
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
280 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
281 my_slant <- (if (my_y > 1) -1 else 1) * my_slant
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
282 my_y_arg <- my_y + (if (my_y > 1) -1 else 1) * y_text_offset
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
283 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
284 label_features(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
285 x_arg = my_x
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
286 , y_arg = my_y_arg
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
287 , labels_arg = labels
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
288 , slant_arg = my_slant
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
289 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
290 } # end if (length(my_x) > 1)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
291 } # end if ( x_show_labels != "0" )
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
292 } else {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
293 plot(x=1, y=1, xaxt="n", yaxt="n", xlab="", ylab="", type="n")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
294 text(x=1, y=1, labels="no S-plot is possible")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
295 } # end if (sum(is.infinte(my_xlim))==0)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
296 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
297 plot(x=1, y=1, xaxt="n", yaxt="n", xlab="", ylab="", type="n")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
298 text(x=1, y=1, labels="no S-plot is possible")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
299 } # end if (length(plus_cor) != 0 && length(plus_cor) != 0)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
300 } # end action
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
301 ) # end with( my_cor_vs_cov, action )
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
302 return (my_cor_vs_cov)
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
303 } # end function do_s_plot
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
304 my_cor_vs_cov <- do_s_plot(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
305 x_env = x_env
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
306 , predictor_projection_x = TRUE
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
307 , cplot_x = FALSE
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
308 )
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
309 typevc <- c("correlation", # 1
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
310 "outlier", # 2
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
311 "overview", # 3
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
312 "permutation", # 4
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
313 "predict-train", # 5
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
314 "predict-test", # 6
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
315 "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
316 "x-loading", # 8
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
317 "x-score", # 9
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
318 "x-variance", # 10
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
319 "xy-score", # 11
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
320 "xy-weight" # 12
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
321 ) # [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
322 if ( length(my_oplsda@orthoVipVn) > 0 ) {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
323 my_typevc <- typevc[c(9,3,8)]
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
324 } else {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
325 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
326 }
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
327 my_ortho_cor_vs_cov_exists <- FALSE
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
328 for (my_type in my_typevc) {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
329 if (my_type %in% typevc) {
5
1d046f648b47 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 95c797ebec96af87d7eb17b491b40aed9ae30f24
eschen42
parents: 4
diff changeset
330 tryCatch({
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
331 if ( my_type != "x-loading" ) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
332 plot(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
333 x = my_oplsda
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
334 , typeVc = my_type
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
335 , parCexN = 0.4
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
336 , parDevNewL = FALSE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
337 , parLayL = TRUE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
338 , parEllipsesL = TRUE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
339 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
340 if (my_type == "overview") {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
341 sub_label <- sprintf("%s versus %s", fctr_lvl_1, fctr_lvl_2)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
342 title(sub = sub_label)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
343 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
344 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
345 my_ortho_cor_vs_cov <- do_s_plot(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
346 x_env = x_env
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
347 , predictor_projection_x = FALSE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
348 , cplot_x = FALSE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
349 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
350 my_ortho_cor_vs_cov_exists <- TRUE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
351 }
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
352 }
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
353 , error = function(e) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
354 x_progress(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
355 sprintf(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
356 "factor level %s or %s may have only one sample - %s"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
357 , fctr_lvl_1
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
358 , fctr_lvl_2
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
359 , e$message
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
360 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
361 )
5
1d046f648b47 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 95c797ebec96af87d7eb17b491b40aed9ae30f24
eschen42
parents: 4
diff changeset
362 })
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
363 } else {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
364 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
365 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
366 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
367 }
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
368 cplot_p <- x_env$cplot_p
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
369 cplot_o <- x_env$cplot_o
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
370 if (cplot_p || cplot_o) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
371 if (cplot_p) {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
372 if (!is.null(my_cor_vs_cov)) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
373 do_s_plot(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
374 x_env = x_env
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
375 , predictor_projection_x = TRUE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
376 , cplot_x = TRUE
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
377 , cor_vs_cov_x = my_cor_vs_cov
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
378 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
379 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
380 plot(x=1, y=1, xaxt="n", yaxt="n", xlab="", ylab="", type="n")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
381 text(x=1, y=1, labels="no predictor projection is possible")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
382 }
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
383 did_plots <- 1
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
384 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
385 did_plots <- 0
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
386 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
387 if (cplot_o) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
388 if (my_ortho_cor_vs_cov_exists) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
389 do_s_plot(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
390 x_env = x_env
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
391 , predictor_projection_x = FALSE
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
392 , cplot_x = TRUE
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
393 , cor_vs_cov_x = my_ortho_cor_vs_cov
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
394 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
395 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
396 plot(x=1, y=1, xaxt="n", yaxt="n", xlab="", ylab="", type="n")
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
397 text(x=1, y=1, labels="no orthogonal projection is possible")
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
398 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
399 did_plots <- 1 + did_plots
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
400 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
401 if (did_plots == 1) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
402 plot(x=1, y=1, xaxt="n", yaxt="n", xlab="", ylab="", type="n", fg = "white")
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
403 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
404 }
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
405 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
406 } else {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
407 return (NULL)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
408 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
409 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
410
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
411 # S-PLOT and OPLS reference: Wiklund_2008 doi:10.1021/ac0713510
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
412 corcov_calc <- function(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
413 calc_env
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
414 , failure_action = stop
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
415 , progress_action = function(x) { }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
416 , corcov_tsv_action = function(t) { }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
417 , salience_tsv_action = function(t) { }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
418 , extra_plots = c()
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
419 ) {
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
420 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
421 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
422 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
423 }
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
424 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
425 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
426 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
427 }
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
428 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
429 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
430 return ( FALSE )
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
431 }
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
432
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
433 # 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
434 vrbl_metadata <- calc_env$vrbl_metadata
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
435 vrbl_metadata_names <- vrbl_metadata[, 1]
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
436 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
437 data_matrix <- calc_env$data_matrix
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
438 pair_significant_features_only <- calc_env$pairSigFeatOnly
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
439 facC <- calc_env$facC
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
440 tesC <- calc_env$tesC
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
441 # 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
442 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
443 # 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
444 matchingC <- calc_env$matchingC
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
445 labelFeatures <- calc_env$labelFeatures
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
446 minCrossvalI <- as.integer(calc_env$min_crossval_i)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
447
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
448 # arg/env checking
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
449 if (!(facC %in% names(smpl_metadata))) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
450 failure_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
451 sprintf("bad parameter! Factor name '%s' not found in sampleMetadata"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
452 , facC))
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
453 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
454 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
455
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
456 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
457 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
458 mz_lookup <- function(feature) unname(mz[feature])
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
459
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
460 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
461 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
462 rt_lookup <- function(feature) unname(rt[feature])
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
463
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
464 # calculate salience_df as data.frame(feature, max_level, max_median, salience_rcv, mean_median, salience, salience_rcv)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
465 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
466 data_matrix = data_matrix
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
467 , 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
468 , failure_action = failure_action
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
469 )
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
470 salience_tsv_action({
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
471 with (
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
472 salience_df
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
473 , {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
474 my_df <<- data.frame(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
475 featureID = feature
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
476 , salientLevel = max_level
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
477 , salienceRCV = salience_rcv
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
478 , relativeSalientDistance = relative_salient_distance
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
479 , salience = salience
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
480 , mz = mz_lookup(feature)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
481 , rt = rt_lookup(feature)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
482 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
483 })
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
484 my_df[order(-my_df$relativeSalientDistance),]
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
485 })
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
486
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
487 # transform wildcards to regexen
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
488 if (matchingC == "wildcard") {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
489 # 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
490 levCSV <- gsub("[.]", "[.]", levCSV)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
491 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
492 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
493 levCSV <- paste(levCSV, collapse = ",")
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
494 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
495 # 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
496 isLevelSelected <- function(lvl) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
497 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
498 return(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
499 Reduce(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
500 f = "||"
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
501 , x = sapply(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
502 X = strsplit(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
503 x = levCSV
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
504 , split = ","
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
505 , fixed = TRUE
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
506 )[[1]]
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
507 , FUN = matchFun
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
508 , lvl
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
509 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
510 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
511 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
512 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
513
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
514 # transpose matrix because ropls matrix is the transpose of XCMS matrix
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
515 tdm <- t(data_matrix)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
516 # Wiklund_2008 centers and pareto-scales data before OPLS-DA S-plot
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
517 # However, data should be neither centered nor pareto scaled here because ropls::opls does that; this fixes issue #2.
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
518
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
519 # 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
520 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
521 # 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
522 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
523 # 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
524 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
525
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
526 # 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
527 # - feature ID
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
528 # - value1
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
529 # - value2
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
530 # - Wiklund_2008 correlation
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
531 # - Wiklund_2008 covariance
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
532 # - Wiklund_2008 VIP
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
533 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
534
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
535
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
536 did_plot <- FALSE
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
537 if (tesC != "none") {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
538 # 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
539 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
540 if ( ! Reduce( f = "||", x = grepl(tesC, the_colnames) ) ) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
541 failure_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
542 sprintf(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
543 "bad parameter! variableMetadata must contain results of W4M Univariate test '%s'."
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
544 , tesC))
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
545 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
546 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
547 col_matches <- lapply(
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
548 X = the_colnames,
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
549 FUN = function(x) {
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
550 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
551 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
552 )
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
553 ## 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
554 # 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
555 level_union <- c()
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
556 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
557 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
558 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
559 # 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
560 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
561 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
562 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
563 # 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
564 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
565 if (is_match) {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
566 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
567 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
568 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
569 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
570 level_union <- unique(sort(level_union))
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
571 overall_significant <- 1 == (
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
572 if (intersample_sig_col %in% colnames(vrbl_metadata)) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
573 vrbl_metadata[,intersample_sig_col]
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
574 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
575 1
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
576 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
577 )
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
578 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
579 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
580 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
581 col_selector <- vrbl_metadata_names[ overall_significant ]
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
582 my_matrix <- tdm[ 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
583 plot_action <- function(fctr_lvl_1, fctr_lvl_2) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
584 progress_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
585 sprintf("calculating/plotting contrast of %s vs. %s"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
586 , fctr_lvl_1, fctr_lvl_2)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
587 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
588 predictor <- sapply(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
589 X = chosen_facC
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
590 , FUN = function(fac) if ( fac == fctr_lvl_1 ) fctr_lvl_1 else fctr_lvl_2
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
591 )
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
592 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
593 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
594 , x_predictor = predictor
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
595 , x_is_match = TRUE
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
596 , x_algorithm = "nipals"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
597 , x_prefix = if (pair_significant_features_only) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
598 "Significantly contrasting features"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
599 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
600 "Significant features"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
601 }
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
602 , x_show_labels = labelFeatures
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
603 , x_progress = progress_action
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
604 , x_crossval_i = min(minCrossvalI, length(chosen_samples))
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
605 , x_env = calc_env
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
606 )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
607 if ( is.null(my_cor_cov) ) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
608 progress_action("NOTHING TO PLOT")
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
609 } else {
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
610 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
611 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
612 my_tsv$rt <- rt_lookup(my_tsv$featureID)
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
613 my_tsv["level1Level2Sig"] <- vrbl_metadata[
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
614 match(my_tsv$featureID, vrbl_metadata_names)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
615 , vrbl_metadata_col
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
616 ]
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
617 tsv <<- my_tsv
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
618 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
619 did_plot <<- TRUE
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
620 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
621 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
622 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
623 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
624 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
625 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
626 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
627 } else {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
628 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
629 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
630 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
631
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
632 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
633 ## 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
634 # 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
635 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
636 # 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
637 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
638 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
639 # 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
640 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
641 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
642 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
643 # 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
644 is_match <- isLevelSelected(fctr_lvl_1) && isLevelSelected(fctr_lvl_2)
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
645 if (is_match) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
646 progress_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
647 sprintf("calculating/plotting contrast of %s vs. %s."
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
648 , fctr_lvl_1, fctr_lvl_2
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
649 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
650 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
651 # choose only samples with one of the two factors for this column
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
652 chosen_samples <- smpl_metadata_facC %in% c(fctr_lvl_1, fctr_lvl_2)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
653 predictor <- smpl_metadata_facC[chosen_samples]
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
654 # extract only the significantly-varying features and the chosen samples
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
655 fully_significant <- 1 == vrbl_metadata[,vrbl_metadata_col] *
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
656 ( if (intersample_sig_col %in% colnames(vrbl_metadata)) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
657 vrbl_metadata[,intersample_sig_col]
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
658 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
659 1
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
660 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
661 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
662 col_selector <- vrbl_metadata_names[
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
663 if (pair_significant_features_only) fully_significant else overall_significant
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
664 ]
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
665 my_matrix <- tdm[ chosen_samples, col_selector, drop = FALSE ]
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
666 my_cor_cov <- do_detail_plot(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
667 x_dataMatrix = my_matrix
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
668 , x_predictor = predictor
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
669 , x_is_match = is_match
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
670 , x_algorithm = "nipals"
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
671 , x_prefix = if (pair_significant_features_only) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
672 "Significantly contrasting features"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
673 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
674 "Significant features"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
675 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
676 , x_show_labels = labelFeatures
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
677 , x_progress = progress_action
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
678 , x_crossval_i = min(minCrossvalI, length(chosen_samples))
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
679 , x_env = calc_env
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
680 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
681 if ( is.null(my_cor_cov) ) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
682 progress_action("NOTHING TO PLOT.")
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
683 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
684 tsv <- my_cor_cov$tsv1
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
685 tsv$mz <- mz_lookup(tsv$featureID)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
686 tsv$rt <- rt_lookup(tsv$featureID)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
687 tsv["level1Level2Sig"] <- vrbl_metadata[
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
688 match(tsv$featureID, vrbl_metadata_names)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
689 , vrbl_metadata_col
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
690 ]
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
691 corcov_tsv_action(tsv)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
692 did_plot <- TRUE
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
693 }
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
694 } else {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
695 progress_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
696 sprintf("skipping contrast of %s vs. %s."
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
697 , fctr_lvl_1, fctr_lvl_2
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
698 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
699 )
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
700 }
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
701 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
702 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
703 }
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
704 } else {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
705 # tesC == "none"
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
706 # find all the levels for factor facC in sampleMetadata
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
707 level_union <- unique(sort(smpl_metadata_facC))
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
708 # identify the selected levels for factor facC from sampleMetadata
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
709 level_include <- sapply(X = level_union, FUN = isLevelSelected)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
710 # discard the non-selected levels for factor facC
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
711 level_union <- level_union[level_include]
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
712 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
713 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
714 ## 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
715 completed <- c()
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
716 lapply(
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
717 X = level_union
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
718 , FUN = function(x) {
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
719 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
720 fctr_lvl_2 <- {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
721 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
722 return("DUMMY")
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
723 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
724 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
725 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
726 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
727 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
728 if (length(unique(chosen_samples)) < 1) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
729 progress_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
730 sprintf("Skipping contrast of %s vs. %s; there are no chosen samples."
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
731 , fctr_lvl_1, fctr_lvl_2)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
732 )
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
733 } else {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
734 chosen_facC <- as.character(smpl_metadata_facC[chosen_samples])
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
735 predictor <- sapply(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
736 X = chosen_facC
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
737 , FUN = function(fac) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
738 if ( fac == fctr_lvl_1 ) fctr_lvl_1 else fctr_lvl_2
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
739 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
740 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
741 my_matrix <- tdm[ chosen_samples, , drop = FALSE ]
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
742 # 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
743 is_match <- isLevelSelected(fctr_lvl_1)
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
744 if (is_match) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
745 progress_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
746 sprintf("Calculating/plotting contrast of %s vs. %s"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
747 , fctr_lvl_1, fctr_lvl_2)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
748 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
749 my_cor_cov <- do_detail_plot(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
750 x_dataMatrix = my_matrix
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
751 , x_predictor = predictor
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
752 , x_is_match = is_match
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
753 , x_algorithm = "nipals"
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
754 , x_prefix = "Features"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
755 , x_show_labels = labelFeatures
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
756 , x_progress = progress_action
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
757 , x_crossval_i = min(minCrossvalI, length(chosen_samples))
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
758 , x_env = calc_env
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
759 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
760 if ( is.null(my_cor_cov) ) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
761 progress_action("NOTHING TO PLOT...")
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
762 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
763 tsv <- my_cor_cov$tsv1
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
764 tsv$mz <- mz_lookup(tsv$featureID)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
765 tsv$rt <- rt_lookup(tsv$featureID)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
766 corcov_tsv_action(tsv)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
767 did_plot <<- TRUE
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
768 }
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
769 } else {
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
770 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
771 }
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
772 "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
773 }
2
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
774 )
a06344808ffc planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit ce5178ce51b80f242d24db555044e6afc530ac99
eschen42
parents: 1
diff changeset
775 }
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
776 ## 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
777 completed <- c()
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
778 utils::combn(
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
779 x = level_union
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
780 , m = 2
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
781 , FUN = function(x) {
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
782 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
783 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
784 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
785 if (length(unique(chosen_samples)) < 1) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
786 progress_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
787 sprintf("Skipping contrast of %s vs. %s. - There are no chosen samples."
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
788 , fctr_lvl_1, fctr_lvl_2
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
789 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
790 )
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
791 } else {
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
792 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
793 predictor <- chosen_facC
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
794 my_matrix <- tdm[ chosen_samples, , drop = FALSE ]
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
795 # 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
796 is_match <- isLevelSelected(fctr_lvl_1) && isLevelSelected(fctr_lvl_2)
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
797 if (is_match) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
798 progress_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
799 sprintf("Calculating/plotting contrast of %s vs. %s."
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
800 , fctr_lvl_1, fctr_lvl_2)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
801 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
802 my_cor_cov <- do_detail_plot(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
803 x_dataMatrix = my_matrix
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
804 , x_predictor = predictor
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
805 , x_is_match = is_match
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
806 , x_algorithm = "nipals"
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
807 , x_prefix = "Features"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
808 , x_show_labels = labelFeatures
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
809 , x_progress = progress_action
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
810 , x_crossval_i = min(minCrossvalI, length(chosen_samples))
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
811 , x_env = calc_env
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
812 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
813 if ( is.null(my_cor_cov) ) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
814 progress_action("NOTHING TO PLOT.....")
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
815 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
816 tsv <- my_cor_cov$tsv1
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
817 tsv$mz <- mz_lookup(tsv$featureID)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
818 tsv$rt <- rt_lookup(tsv$featureID)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
819 corcov_tsv_action(tsv)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
820 did_plot <<- TRUE
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
821 }
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
822 } else {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
823 progress_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
824 sprintf("Skipping contrast of %s vs. %s."
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
825 , fctr_lvl_1, fctr_lvl_2
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
826 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
827 )
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
828 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
829 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
830 "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
831 }
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
832 )
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
833 } else {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
834 progress_action("NOTHING TO PLOT......")
1
e25fd8a13665 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit bd26542b811de06c1a877337a2840a9f899c2b94
eschen42
parents: 0
diff changeset
835 }
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
836 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
837 if (!did_plot) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
838 failure_action(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
839 sprintf(
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
840 "Did not plot. Does sampleMetadata have at least two levels of factor '%s' matching '%s' ?"
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
841 , facC, originalLevCSV))
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
842 return ( FALSE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
843 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
844 return ( TRUE )
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
845 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
846
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
847 # 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
848 # Adapted from:
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
849 # 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
850 # 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
851 # https://github.com/HegemanLab/extra_tools/blob/master/generic_PCA.R
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
852 cor_vs_cov <- function(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
853 matrix_x
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
854 , ropls_x
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
855 , predictor_projection_x = TRUE
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
856 , x_progress = print
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
857 , x_env
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
858 ) {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
859 tryCatch({
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
860 return(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
861 cor_vs_cov_try( matrix_x, ropls_x, predictor_projection_x, x_progress, x_env)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
862 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
863 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
864 , error = function(e) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
865 x_progress(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
866 sprintf(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
867 "cor_vs_cov fatal error - %s"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
868 , as.character(e) # e$message
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
869 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
870 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
871 return ( NULL )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
872 })
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
873 }
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
874
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
875 cor_vs_cov_try <- function(
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
876 matrix_x # rows are samples; columns, features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
877 , ropls_x # an instance of ropls::opls
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
878 , predictor_projection_x = TRUE # TRUE for predictor projection; FALSE for orthogonal projection
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
879 , x_progress = print # function to produce progress and error messages
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
880 , x_env
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
881 ) {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
882 my_matrix_x <- matrix_x
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
883 my_matrix_x[my_matrix_x==0] <- NA
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
884 fdr_features <- x_env$fdr_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
885
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
886 x_class <- class(ropls_x)
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
887 if ( !( as.character(x_class) == "opls" ) ) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
888 stop(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
889 paste(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
890 "cor_vs_cov: Expected ropls_x to be of class ropls::opls but instead it was of class "
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
891 , as.character(x_class)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
892 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
893 )
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
894 }
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
895 if ( !ropls_x@suppLs$algoC == "nipals" ) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
896 # suppLs$algoC - Character: algorithm used - "svd" for singular value decomposition; "nipals" for NIPALS
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
897 stop(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
898 paste(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
899 "cor_vs_cov: Expected ropls::opls instance to have been computed by the NIPALS algorithm rather than "
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
900 , ropls_x@suppLs$algoC
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
901 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
902 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
903 }
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
904 result <- list()
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
905 result$projection <- projection <- if (predictor_projection_x) 1 else 2
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
906
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
907 # I used equations (1) and (2) from Wiklund 2008, doi:10.1021/ac0713510
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
908 # (and not from the supplement despite the statement that, for the NIPALS algorithm,
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
909 # the equations from the supplement should be used) because of the definition of the
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
910 # Pearson/Galton coefficient of correlation is defined as
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
911 # $$
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
912 # \rho_{X,Y}= \frac{\operatorname{cov}(X,Y)}{\sigma_X \sigma_Y}
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
913 # $$
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
914 # as described (among other places) on Wikipedia at
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
915 # https://en.wikipedia.org/wiki/Pearson_correlation_coefficient#For_a_population
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
916 # The equations in the supplement said to use, for the predictive component t1,
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
917 # \rho_{t1,X_i}= \frac{\operatorname{cov}(t1,X_i)}{(\operatorname{mag}(t1))(\operatorname{mag}(X_i))}
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
918 # but the results that I got were dramatically different from published results for S-PLOTs;
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
919 # perhaps my data are not centered exactly the same way that theirs were.
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
920 # The correlations calculated here are in agreement with those calculated with the code from
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
921 # page 22 of https://cran.r-project.org/web/packages/muma/muma.pdf
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
922
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
923
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
924 # count the features/variables (one column for each sample)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
925 # count the features/variables (one column for each sample)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
926 n_features <- ncol(my_matrix_x)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
927 all_n_features <- x_env$fdr_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
928 if (length(grep("^[0-9][0-9]*$", all_n_features)) > 0) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
929 all_n_features <- as.integer(all_n_features)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
930 } else {
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
931 all_n_features <- n_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
932 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
933 fdr_n_features <- max(n_features, all_n_features)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
934 # print("n_features")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
935 # print(n_features)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
936
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
937 # count the samples/observations (one row for each sample)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
938 n_observations <- nrow(my_matrix_x)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
939
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
940 # choose whether to plot the predictive score vector or orthogonal score vector
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
941 if (predictor_projection_x)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
942 score_vector <- ropls_x@scoreMN
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
943 else
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
944 score_vector <- ropls_x@orthoScoreMN
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
945
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
946 # compute the covariance of each feature with the score vector
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
947 result$covariance <-
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
948 sapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
949 X = 1:n_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
950 , FUN = function(i) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
951 cov(score_vector, my_matrix_x[ , i, drop = TRUE], use = "pairwise.complete.obs")
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
952 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
953 )
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
954 # access covariance by feature name
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
955 names(result$covariance) <- colnames(my_matrix_x)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
956
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
957 # compute the correlation of each feature with the score vector
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
958 result$correlation <-
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
959 sapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
960 X = 1:n_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
961 , FUN = function(i) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
962 cor(score_vector, my_matrix_x[ , i, drop = TRUE], use = "pairwise.complete.obs")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
963 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
964 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
965 # access correlation by feature name
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
966 names(result$correlation) <- colnames(my_matrix_x)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
967
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
968 # eliminate NAs in either correlation or covariance
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
969 nas <- is.na(result$correlation) | is.na(result$covariance)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
970 featureID <- names(ropls_x@vipVn)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
971 featureID <- featureID[!nas]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
972 result$correlation <- result$correlation[!nas]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
973 result$covariance <- result$covariance[!nas]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
974 n_features <- length(featureID)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
975
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
976 correl_pci <- lapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
977 X = 1:n_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
978 , FUN = function(i) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
979 correl.ci(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
980 r = result$correlation[i]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
981 , n_obs = n_observations
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
982 , n_vars = fdr_n_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
983 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
984 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
985 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
986 result$p_value_raw <- sapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
987 X = 1:n_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
988 , FUN = function(i) correl_pci[[i]]$p.value.raw
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
989 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
990 result$p_value_raw[is.na(result$p_value_raw)] <- 1.0
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
991 result$p_value <- sapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
992 X = 1:n_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
993 , FUN = function(i) correl_pci[[i]]$p.value
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
994 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
995 result$p_value[is.na(result$p_value)] <- 1.0
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
996 result$ci_lower <- sapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
997 X = 1:n_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
998 , FUN = function(i) correl_pci[[i]]$CI["lower"]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
999 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1000 result$ci_upper <- sapply(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1001 X = 1:n_features
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1002 , FUN = function(i) correl_pci[[i]]$CI["upper"]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1003 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1004
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1005
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1006 # extract "variant 4 of Variable Influence on Projection for OPLS" (see Galindo_Prieto_2014, DOI 10.1002/cem.2627)
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1007 # Length = number of features; labels = feature identifiers. (The same is true for $correlation and $covariance.)
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1008 result$vip4p <- as.numeric(ropls_x@vipVn)[!nas]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1009 result$vip4o <- as.numeric(ropls_x@orthoVipVn)[!nas]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1010 if (length(result$vip4o) == 0) result$vip4o <- NA
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1011 # extract the loadings
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1012 result$loadp <- as.numeric(ropls_x@loadingMN)[!nas]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1013 result$loado <- as.numeric(ropls_x@orthoLoadingMN)[!nas]
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1014 # get the level names
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1015 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
1016 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
1017 fctr_lvl_2 <- level_names[2]
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1018 result$level1 <- rep.int(x = fctr_lvl_1, times = n_features)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1019 result$level2 <- rep.int(x = fctr_lvl_2, times = n_features)
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1020 greaterLevel <- sapply(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1021 X = result$correlation
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1022 , FUN = function(my_corr) {
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1023 tryCatch({
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1024 if ( is.na(my_corr) || ! is.numeric( my_corr ) ) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1025 NA
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1026 } else {
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1027 if ( my_corr < 0 ) fctr_lvl_1 else fctr_lvl_2
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1028 }
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1029 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1030 , error = function(e) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1031 print(my_corr)
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1032 x_progress(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1033 sprintf(
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1034 "cor_vs_cov -> sapply: error - substituting NA - %s"
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1035 , as.character(e)
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1036 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1037 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1038 NA
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1039 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1040 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1041 }
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1042 )
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1043
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1044 # build a data frame to hold the content for the tab-separated values file
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1045 tsv1 <- data.frame(
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1046 featureID = featureID
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1047 , factorLevel1 = result$level1
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1048 , factorLevel2 = result$level2
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1049 , greaterLevel = greaterLevel
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1050 , projection = result$projection
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1051 , correlation = result$correlation
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1052 , covariance = result$covariance
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1053 , vip4p = result$vip4p
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1054 , vip4o = result$vip4o
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1055 , loadp = result$loadp
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1056 , loado = result$loado
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1057 , cor_p_val_raw = result$p_value_raw
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1058 , cor_p_value = result$p_value
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1059 , cor_ci_lower = result$ci_lower
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1060 , cor_ci_upper = result$ci_upper
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1061 )
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1062 rownames(tsv1) <- tsv1$featureID
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1063
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1064 # build the superresult, i.e., the result returned by this function
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1065 superresult <- list()
6
0b49916c5c52 planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 4428e3252d54c8a8e0e5d85e8eaaeb13e9b21de7
eschen42
parents: 5
diff changeset
1066 superresult$projection <- result$projection
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1067 superresult$covariance <- result$covariance
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1068 superresult$correlation <- result$correlation
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1069 superresult$vip4p <- result$vip4p
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1070 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
1071 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
1072 superresult$loado <- result$loado
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1073 superresult$cor_p_value <- tsv1$cor_p_value
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1074 superresult$details <- result
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1075
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1076 # remove any rows having NA for covariance or correlation
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1077 tsv1 <- tsv1[!is.na(tsv1$correlation),]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1078 tsv1 <- tsv1[!is.na(tsv1$covariance),]
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1079 superresult$tsv1 <- tsv1
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1080
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1081 # # I did not include these but left them commentd out in case future
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1082 # # consumers of this routine want to use it in currently unanticipated ways
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1083 # result$superresult <- superresult
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1084 # result$oplsda <- ropls_x
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1085 # result$predictor <- ropls_x@suppLs$y
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1086
0
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1087 return (superresult)
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1088 }
50a07adddfbd planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 52e588e19fe93d83d221710bb75559c5700ba637
eschen42
parents:
diff changeset
1089
7
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1090 # Code for correl.ci was adapted from correl function from:
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1091 # @book{
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1092 # Tsagris_2018,
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1093 # author = {Tsagris, Michail},
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1094 # year = {2018},
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1095 # link = {https://www.researchgate.net/publication/324363311_Multivariate_data_analysis_in_R},
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1096 # title = {Multivariate data analysis in R}
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1097 # }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1098 # which follows
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1099 # https://en.wikipedia.org/wiki/Fisher_transformation#Definition
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1100
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1101 correl.ci <- function(r, n_obs, n_vars, a = 0.05, rho = 0) {
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1102 ## r is the calculated correlation coefficient for n_obs pairs of observations of one variable
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1103 ## a is the significance level
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1104 ## rho is the hypothesised correlation
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1105 zh0 <- atanh(rho) # 0.5*log((1+rho)/(1-rho)), i.e., Fisher's z-transformation for Ho
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1106 zh1 <- atanh(r) # 0.5*log((1+r)/(1-r)), i.e., Fisher's z-transformation for H1
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1107 se <- (1 - r^2)/sqrt(n_obs - 3) ## standard error for Fisher's z-transformation of Ho
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1108 test <- (zh1 - zh0)/se ### test statistic
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1109 pvalue <- 2*(1 - pnorm(abs(test))) ## p-value
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1110 pvalue.adj <- p.adjust(p = pvalue, method = "BY", n = n_vars)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1111 z_L <- zh1 - qnorm(1 - a/2)*se
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1112 z_h <- zh1 + qnorm(1 - a/2)*se
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1113 fish_l <- tanh(z_L) # (exp(2*z_l)-1)/(exp(2*z_l)+1), i.e., lower confidence limit
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1114 fish_h <- tanh(z_h) # (exp(2*z_h)-1)/(exp(2*z_h)+1), i.e., upper confidence limit
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1115 ci <- c(fish_l, fish_h)
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1116 names(ci) <- c("lower", "upper")
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1117 list(
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1118 correlation = r
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1119 , p.value.raw = pvalue
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1120 , p.value = pvalue.adj
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1121 , CI = ci
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1122 )
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1123 }
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1124
ca9938f2eb6a "planemo upload for repository https://github.com/HegemanLab/w4mcorcov_galaxy_wrapper/tree/master commit 5fd9687d543a48a715b1180caf93abebebd58b0e"
eschen42
parents: 6
diff changeset
1125 # vim: sw=2 ts=2 et ai :