Mercurial > repos > workflow4metabolomics > w4mconcatenate
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 |
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 } |