annotate mixomics_blocksplsda_additional_funct.R @ 3:df8428358b7f draft

"planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit d930da2982ffb689ba4fdf7599c8971f8c52339d"
author ppericard
date Fri, 23 Oct 2020 11:26:18 +0000
parents c8533e9298e5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
1 #' @title Determination of selected variables for all components
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
2 #' @description The function unionSelectBlockVariables determines, for each block, the selected block variables
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
3 #' for all components.
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
4 #' @param res_block_splsda type : sgccda. This parameter is the output of block.splsda function
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
5 #' mixOmics.
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
6 #' @details For each block, the function unionSelectBlockVariables returns 1 if the block variable is selected for
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
7 #' at least one component. Otherwise, this function returns 0.
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
8 #' @return type : list of matrix. For each block, if the block variable is selected, the value 1 is associated with
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
9 #' this block variable. Otherwise the value 0 is associated with this block variable.
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
10 #' @examples
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
11 #' data(res_data_integration)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
12 #' list_union_selected_block_variables = unionSelectBlockVariables(res_data_integration)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
13 #' @export
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
14 unionSelectBlockVariables <-function(res_block_splsda)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
15 {
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
16 ncomp = res_block_splsda$ncomp[1]
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
17
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
18 names_blocks = names(res_block_splsda$loadings)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
19 index_Y = which(names_blocks == "Y")
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
20 names_blocks = names_blocks[ - index_Y]
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
21 list_select_block_variables = list()
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
22
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
23 for(i in 1:length(names_blocks))
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
24 {
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
25 mat_loadings_i = res_block_splsda$loadings[[i]]
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
26 index_i = c()
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
27
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
28 for(j in 1:ncomp)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
29 {
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
30 loadings_i_j = mat_loadings_i[, j]
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
31 index_i_j = which(loadings_i_j != 0)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
32
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
33 index_i = c(index_i, index_i_j)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
34
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
35 } # End for(j 1:ncomp).
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
36
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
37 index_i = unique(index_i)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
38
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
39 mat_select_block_variables = matrix(0,
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
40 nrow = dim(mat_loadings_i)[1],
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
41 ncol = 1)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
42 mat_select_block_variables[index_i, 1] = rep(1, length(index_i))
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
43 rownames(mat_select_block_variables) = rownames(mat_loadings_i)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
44
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
45 list_select_block_variables[[i]] = mat_select_block_variables
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
46
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
47 } # End for(i in 1:length(names_blocks)).
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
48
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
49 names(list_select_block_variables) = names_blocks
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
50
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
51 return(list_select_block_variables)
c8533e9298e5 "planemo upload for repository https://gitlab.com/bilille/galaxy-viscorvar commit 8cb5630238352459037b3647eebfabb5554566f6-dirty"
ppericard
parents:
diff changeset
52 }