annotate fonctions_auxiliaires.R @ 0:c577f13705f2 draft default tip

planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
author workflow4metabolomics
date Wed, 10 Jul 2024 15:20:11 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
1 #--------------------------------------------------------------------------------------------------------------------------------------------------------------
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
2 check_features <- function(M1, M2) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
3 #M1/M2 = data.frame containing sampleMetadata or variableMetadata
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
4 #check the variables in the 2 matrices .
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
5 #returns the names of the columns in the two metadata
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
6
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
7 colnames_1 <- colnames(M1)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
8 colnames_2 <- colnames(M2)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
9 samecolumns <- intersect(colnames_1, colnames_2)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
10
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
11 if (is.null(samecolumns)) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
12 cat("\nWarning: There are no features in common \n")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
13 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
14
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
15 return(samecolumns)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
16 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
17
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
18 #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
19
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
20 #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
21
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
22 compare_same_columns <- function(M1, M2, same, choice_keep, Keep, tab1, tab2) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
23
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
24 #M1/M2 = data.frame containing sampleMetadata or variableMetadata
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
25 #same = list of column names with the same name in M1 and M2
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
26 #choice_keep = choice of keeping columns with the same no or keeping just one
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
27 #keep = keep the column in M1 or M2
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
28 #tab1/tab2 = Suffix for Metadata 1/2
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
29
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
30 #Check that the variables in the 2 matrices have the same values and
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
31 #If not, they are renamed or deleted according to the parameters chosen by the user.
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
32 #returns the two modified metadata
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
33
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
34 compare_results <- list()
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
35 non_identical_columns_v <- c()
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
36
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
37
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
38 #Creation of 2 sub-tables with shared individuals and variables
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
39 common_individuals <- intersect(M1[, 1], M2[, 1])
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
40 common_columns <- intersect(colnames(M1), colnames(M2))
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
41
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
42 M1_common <- subset(M1, M1[, 1] %in% common_individuals)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
43 M2_common <- subset(M2, M2[, 1] %in% common_individuals)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
44
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
45
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
46 M1_common <- M1_common[, common_columns]
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
47 M2_common <- M2_common[, common_columns]
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
48
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
49
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
50
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
51 common_columns <- common_columns[-1]# delete id column
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
52
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
53
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
54 for (col_name in common_columns) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
55 #Check that the columns are identical, then delete them from M2
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
56 if (!identical(M1_common[[col_name]], M2_common[[col_name]])) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
57
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
58 non_identical_columns_v <- c(non_identical_columns_v, col_name)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
59
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
60 #otherwise store the columns where the values are not the same in non_identical_columns
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
61 } else {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
62 M2 <- M2[, -which(colnames(M2) == col_name)]
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
63 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
64
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
65 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
66
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
67 #if the list of columns that do not take the same values is null, we return M1/M2
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
68 if (is.null(non_identical_columns_v)) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
69
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
70 result <- list(M1 = M1, M2 = M2)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
71
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
72 return(result)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
73
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
74
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
75 } else {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
76
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
77 for (non_identical_columns in non_identical_columns_v) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
78
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
79 #If we decide to keep the 2 columns and they do not take the same values, we change their names by adding a suffix.
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
80
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
81 if (choice_keep == "yes") {#keep both columns and give them a new name
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
82
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
83 new_name <- paste(tab1, non_identical_columns, sep = "_")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
84 colnames(M1)[colnames(M1) == non_identical_columns] <- new_name
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
85
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
86 new_name <- paste(tab2, non_identical_columns, sep = "_")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
87 colnames(M2)[colnames(M2) == non_identical_columns] <- new_name
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
88
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
89 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
90
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
91 if (choice_keep == "no") {#Keep only one and delete the other
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
92 if (Keep == 1) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
93 M2 <- M2[, -which(colnames(M2) == non_identical_columns)]
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
94 new_name <- paste(tab1, non_identical_columns, sep = "_")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
95 colnames(M1)[colnames(M1) == non_identical_columns] <- new_name
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
96
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
97 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
98 if (Keep == 2) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
99 M1 <- M1[, -which(colnames(M1) == non_identical_columns)]
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
100 new_name <- paste(tab2, non_identical_columns, sep = "_")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
101 colnames(M2)[colnames(M2) == non_identical_columns] <- new_name
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
102 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
103
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
104 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
105 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
106 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
107
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
108
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
109 result <- list(M1 = M1, M2 = M2)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
110 return(result)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
111
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
112 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
113 #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
114
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
115 #---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
116 match2_bis <- function(Metadata_1, Metadata_2, Mtype) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
117
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
118
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
119 #Metadata1/Metadata2 = data.frame containing sampleMetadata or variableMetadata
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
120 #Mtype = "sample" or "variable" depending on Metadata content
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
121 #To check if metadata1 and metadata2 match regarding identifiers
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
122 #returns a vector containing an error message if the identifiers are not all the same in the two metadatas
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
123 err.stock <- NULL#error vector
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
124
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
125
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
126 id2 <- Metadata_1[, 1]
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
127 id1 <- Metadata_2[, 1]
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
128
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
129 if (length(which(id1 %in% id2)) != length(id1) || length(which(id2 %in% id1)) != length(id2)) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
130 err.stock <- c("\n", Mtype, "Metadata_1 and ", Mtype, "Metadata_2 do not match regarding Metadata_2 identifiers.")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
131 if (length(which(id1 %in% id2)) != length(id1)) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
132 if (length(which(! (id1 %in% id2))) < 4) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
133 err.stock <- c(err.stock, "\n The ")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
134 } else {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
135 err.stock <- c(err.stock, "\n For example, the ")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
136 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
137 err.stock <- c(err.stock, "following identifiers found in the ", Mtype, "Metadata_1 file\n",
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
138 " do not appear in the ", Mtype, " Metadata_2 file:\n")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
139 identif <- id1[which(! (id1 %in% id2))][seq_len(min(3, length(which(! (id1 %in% id2)))))]
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
140 err.stock <- c(err.stock, " ", paste(identif, collapse = "\n "), "\n")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
141 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
142 if (length(which(id2 %in% id1)) != length(id2)) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
143 if (length(which(! (id2 %in% id1))) < 4) {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
144 err.stock <- c(err.stock, "\n The ")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
145 } else {
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
146 err.stock <- c(err.stock, "\n For example, the ")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
147 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
148 err.stock <- c(err.stock, "following identifiers found in the ", Mtype, " Metadata_2 file\n",
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
149 " do not appear in the", Mtype, " Metadata_1 file:\n")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
150 identif <- id2[which(! (id2 %in% id1))][seq_len(min(3, length(which(! (id2 %in% id1)))))]
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
151 err.stock <- c(err.stock, " ", paste(identif, collapse = "\n "), "\n")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
152 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
153 err.stock <- c(err.stock, "\nPlease check your data.\n")
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
154 }
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
155
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
156 return(err.stock)
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
157
c577f13705f2 planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit eba1150dad55ad9eca5e93358d9f75e6b6dba2ec
workflow4metabolomics
parents:
diff changeset
158 }