Mercurial > repos > workflow4metabolomics > correlation_analysis
annotate correlation_analysis.r @ 0:58997c28b268 draft default tip
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
author | workflow4metabolomics |
---|---|
date | Tue, 19 Jan 2021 16:41:47 +0000 |
parents | |
children |
rev | line source |
---|---|
0
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
1 #!/usr/local/public/bin/Rscript --vanilla --slave --no-site-file |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
2 #For questions: Antoine Gravot (Protocole conception) and Misharl Monsoor (for galaxy wrapper and R script). |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
3 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
4 #Load the different libraries |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
5 library(batch) #necessary for parseCommandArgs function |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
6 library(reshape) #necessary for using melt function |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
7 library(MASS) # necessary for using the write.matrix() |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
8 #interpretation of arguments given in command line as an R list of objects |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
9 list_arguments <- parseCommandArgs(evaluate = FALSE) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
10 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
11 cat("\nJob starting time:\n", format(Sys.time(), "%a %d %b %Y %X"), |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
12 "\n\n--------------------------------------------------------------------", |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
13 "\nParameters used in 'Metabolites Correlation Analysis':\n\n") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
14 print(list_arguments) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
15 cat("--------------------------------------------------------------------\n\n") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
16 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
17 #The main function of this script that will execute all the other functions |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
18 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
19 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
20 main_function <- function(sorting, variable_metadata, data_matrix, sample_metadata, corrdel, param_correlation, param_cytoscape, matrix_corr, user_matrix_corr, corr_method) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
21 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
22 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
23 if (sorting == 1) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
24 ####Executing the sorting function#### |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
25 cat("\nExecuting the sorting function\n") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
26 #Read the tsv annotateDiffreport file and don't modify the columns name (check.names = FALSE) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
27 variable_metadata_input <- read.csv(variable_metadata, header = T, sep = "\t", dec = ".", check.names = FALSE) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
28 data_matrix_input <- read.csv(data_matrix, header = T, sep = "\t", dec = ".", check.names = FALSE) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
29 first_column_variable <- toString(names(variable_metadata_input)[1]) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
30 first_column_datamatrix <- toString(names(data_matrix_input)[1]) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
31 #@TODO merge |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
32 input_tsv <- cbind(variable_metadata_input, data_matrix_input[, !(colnames(data_matrix_input) %in% c(first_column_datamatrix))]) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
33 #Load the sample.info from the xcmsSet |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
34 sample_metadata_info_tsv <- read.table(sample_metadata, header = T, sep = "\t", dec = ",", check.names = FALSE) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
35 #Extract the samples name from the sample.info file generated from the xcmsSet step in ABIMS Workflow4Metabo. |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
36 samples_name <- as.vector(t(sample_metadata_info_tsv[1])) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
37 output_tsv <- sorting(input_tsv, samples_name) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
38 # output now if corrdel == 0 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
39 if (corrdel == 0) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
40 output_tsv_vm <- output_tsv[, which(!(colnames(output_tsv) %in% samples_name))] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
41 write.table(output_tsv_vm[, c(3:ncol(output_tsv_vm), 2, 1)], sep = "\t", quote = FALSE, col.names = TRUE, row.names = FALSE, file = "sorted_table.tsv") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
42 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
43 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
44 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
45 if (corrdel == 1) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
46 cat("\nExecuting the corr_matrix_del function\n") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
47 corr_matrix_del(output_tsv, samples_name, param_correlation, param_cytoscape, corr_method) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
48 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
49 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
50 if (matrix_corr == 1) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
51 cat("\nExecuting the corr_matrix function\n") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
52 corr_matrix_user(user_matrix_corr, param_cytoscape, corr_method) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
53 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
54 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
55 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
56 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
57 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
58 #The sorting function will sort the dataframe by rt column. |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
59 #Then it creates a "signal_moy" column which contains the mean values of the signal values of the sample by row. |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
60 #It finally creates a table tsv format "sorted_table.tsv". |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
61 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
62 sorting <- function(input_tsv, samples_name) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
63 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
64 #Sort by rt column |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
65 new_input <- input_tsv[order(input_tsv$rt), ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
66 #Compute the mean operation of all the signal values of the sample by row, and put the results in a new column "signal_moy" |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
67 new_input["signal_moy"] <- data.frame(Means = rowMeans(new_input[, colnames(new_input) %in% samples_name])) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
68 #Rearrange the data frame in order to have the columns "signal_moy" and "pcgroup" at the beginning of the table |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
69 new_input <- cbind(new_input["signal_moy"], new_input["pcgroup"], new_input[, !(colnames(new_input) %in% c("signal_moy", "pcgroup"))]) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
70 #Sort the "signal_moy" column data frame by pcgroup |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
71 new_input <- new_input[order(new_input$pcgroup, -new_input$signal_moy), ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
72 #Write the data frame to a file named "sorted_table.tsv" |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
73 #Erase the rownames of the table |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
74 rownames(new_input) <- NULL |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
75 #Suppress rows which contains Nas |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
76 new_input <- new_input[complete.cases(new_input$pcgroup), ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
77 return(new_input) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
78 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
79 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
80 corr_matrix_del <- function(output_tsv, samples_name, param_correlation, param_cytoscape, corr_method) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
81 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
82 #statmatrix, a dataframe which contains only the columns "name" and the values of the intensity for all the samples |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
83 first_column <- toString(names(output_tsv)[3]) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
84 statmatrix <- output_tsv[(names(output_tsv) %in% c(first_column, samples_name))] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
85 statmatrix2 <- output_tsv[(names(output_tsv) %in% c(first_column, "signal_moy", samples_name))] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
86 n <- statmatrix[, first_column] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
87 #transpose all but the first column (name) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
88 statmatrix <- as.data.frame(t(statmatrix[, -1])) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
89 #Rename the columns of the dataframe "statmatrix" |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
90 colnames(statmatrix) <- n |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
91 #Transform dataframe to matrix before doing the cor function |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
92 corr_transpo <- data.matrix(statmatrix) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
93 #Create a matrix which contains only the data of the samples without the other columns |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
94 statmatrix <- output_tsv[(names(output_tsv) %in% c(samples_name))] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
95 #Add the rownames previously |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
96 rownames(statmatrix) <- make.unique(as.vector(output_tsv[, first_column])) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
97 #Do the cor step, with the transposed statmatrix (metabolites as columns) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
98 corr_transpo <- cor(t(as.matrix(statmatrix)), method = corr_method) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
99 #Add the columns "signal_moy", "pcgroup" and "name" to the final correlation matrix output |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
100 new_dataframe <- cbind(output_tsv["signal_moy"], output_tsv["pcgroup"], output_tsv[names(output_tsv)[3]], corr_transpo) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
101 #Add a new column "suppress" which indicates if the metabolite will be removed from the analysis (because it is correlated with the other metabolite) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
102 new_dataframe["suppress"] <- "" |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
103 #Take the pcgroup names |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
104 pcgroups <- unique(new_dataframe$pcgroup) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
105 #Remove NAs from the pcgroups vector |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
106 pcgroups <- pcgroups[which(pcgroups != "NA")] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
107 #Creates a pcgroups list |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
108 list_data <- vector(mode = "list", length = length(pcgroups)) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
109 #Will do the following steps by pcgroup |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
110 for (pcgroup in pcgroups) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
111 #Select a subset data frame for each pcgroup |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
112 subset_data <- new_dataframe[new_dataframe$pcgroup == pcgroup, ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
113 #Stores the metabolites names for each pcgroup into a matrix one dimension. |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
114 pc_group_elements <- t(as.matrix(subset_data[3])) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
115 #uses the matrix "pc_group_elements" containing the metabolites to have the correlation data frame "subset_data2" by pcgroup |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
116 subset_data2 <- subset_data[names(subset_data) %in% c(names(output_tsv)[3], pc_group_elements)] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
117 #We keep the first metabolites for each pcgroup that correspond to the metabolites with the highest amount of signal |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
118 first_metabolite <- pc_group_elements[1] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
119 #Remove the first metabolite from the pc_group_elements matrix |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
120 pc_group_elements <- pc_group_elements[, c(seq_len(length(pc_group_elements)))] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
121 #print (pc_group_elements) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
122 for (metabolite in pc_group_elements) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
123 metabolite_dataframe <- subset_data2[subset_data2[, first_column] == metabolite, ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
124 #retrives metabolite index from the vector object "pc_group_elements" |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
125 index_metabolite <- as.numeric(which(pc_group_elements == metabolite, arr.ind = TRUE)) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
126 for (f in 2:index_metabolite - 1) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
127 if (metabolite != first_metabolite) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
128 value_intensity <- t(data.matrix(metabolite_dataframe[, pc_group_elements[f]])) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
129 value_intensity <- value_intensity[1:1] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
130 #If one value is >0.75, it means that the metabolite est correlated with at least one previous metabolite in the table, so the boolean variable is set to true. |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
131 if (value_intensity > param_correlation) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
132 new_dataframe$suppress[new_dataframe[, first_column] == metabolite] <- "DEL" |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
133 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
134 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
135 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
136 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
137 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
138 #The dataframe with the column "suppress" at the begginning |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
139 new_dataframe_suppression <- cbind(new_dataframe[first_column], new_dataframe["suppress"], output_tsv["rt"], new_dataframe["signal_moy"], new_dataframe[, !(colnames(new_dataframe) %in% c(first_column, "suppress", "pcgroup", "signal_moy"))]) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
140 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
141 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
142 #remove all the rows which have the "suppress" data and keep only the selected metabolites |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
143 selected_metabolite_dataframe <- new_dataframe_suppression[new_dataframe_suppression$suppress != "DEL", ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
144 #Keep the metabolites selected in a list |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
145 metabolites_selected_list <- as.vector(t(selected_metabolite_dataframe[1])) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
146 #Add the other columns to keep |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
147 metabolites_selected_list <- c(metabolites_selected_list, first_column, "rt", "signal_moy") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
148 #Keep the metabolites selected to keep only the columns |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
149 selected_metabolite_dataframe <- selected_metabolite_dataframe[, colnames(selected_metabolite_dataframe) %in% metabolites_selected_list] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
150 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
151 #Export to siff table format for visualization in cytoscape for the selected metabolites |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
152 siff_table <- melt(selected_metabolite_dataframe[, !colnames(selected_metabolite_dataframe) %in% c("pcgroup", "rt", "signal_moy")]) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
153 #Remove the values equal to 1 (correlation between two metabolite identical) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
154 siff_table <- siff_table[siff_table$value != 1, ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
155 #Keep only the values corresponding to the param_cytoscape |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
156 siff_table <- siff_table[siff_table$value >= param_cytoscape, ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
157 #Change the order of the columns |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
158 siff_table <- cbind(siff_table[first_column], siff_table["value"], siff_table["variable"]) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
159 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
160 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
161 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
162 #Join the two datasets to keep only the selected metabolite, with all the information about the intensity value for statistics analysis in the next step of the workflow. |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
163 joined_dataframe <- merge(statmatrix2, selected_metabolite_dataframe[first_column], by = first_column) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
164 #Order by the signal intensity |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
165 joined_dataframe <- joined_dataframe[order(-joined_dataframe$signal_moy), ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
166 #Transposition of the dataframe |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
167 joined_dataframe <- joined_dataframe[, !(colnames(joined_dataframe) %in% c("signal_moy"))] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
168 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
169 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
170 #Write the different tables into files |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
171 write.table(selected_metabolite_dataframe, sep = "\t", quote = FALSE, col.names = TRUE, row.names = FALSE, file = "correlation_matrix_selected.tsv") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
172 write.table(siff_table, sep = "\t", quote = FALSE, col.names = FALSE, row.names = FALSE, file = "siff_table.tsv") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
173 output_tsv_vm <- output_tsv[, which(!(colnames(output_tsv) %in% samples_name))] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
174 output_tsv_vm <- data.frame(output_tsv_vm[, c(3:ncol(output_tsv_vm), 2, 1)], ori.or = seq_len(nrow(output_tsv_vm))) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
175 output_tsv_vm <- merge(x = output_tsv_vm, y = new_dataframe[, c(3, which(colnames(new_dataframe) == "suppress"))], by.x = 1, by.y = 1, sort = FALSE) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
176 output_tsv_vm <- output_tsv_vm[order(output_tsv_vm$ori.or), ][, -c(which(colnames(output_tsv_vm) == "ori.or"))] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
177 write.table(output_tsv_vm, sep = "\t", quote = FALSE, col.names = TRUE, row.names = FALSE, file = "sorted_table.tsv") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
178 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
179 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
180 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
181 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
182 corr_matrix_user <- function(user_matrix_corr, param_cytoscape, corr_method) { |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
183 #read the input table |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
184 input_tsv <- read.csv(user_matrix_corr, header = T, sep = "\t", dec = ".", check.names = FALSE) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
185 n <- input_tsv$HD |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
186 #transpose all but the first column (name) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
187 statmatrix_corr <- as.data.frame(t(input_tsv[, -1])) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
188 #Rename the columns of the dataframe "statmatrix" |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
189 colnames(statmatrix_corr) <- n |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
190 #Do the cor step, with the transposed statmatrix. |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
191 corr_transpo <- cor(t(as.matrix(statmatrix_corr)), method = corr_method) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
192 #Write the matrix to a tsv file |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
193 write.table(corr_transpo, sep <- "\t", quote = FALSE, col.names = NA, file = "correlation_matrix.tsv") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
194 #Export to siff table format for visualization in cytoscape for the selected conditions |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
195 siff_table <- melt(corr_transpo) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
196 #Remove the values equal to 1 (correlation between two metabolite identical) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
197 siff_table <- siff_table[siff_table$value != 1, ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
198 #Keep only the values corresponding to the param_cytoscape |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
199 siff_table <- siff_table[siff_table$value >= param_cytoscape, ] |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
200 #Change the order of the columns |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
201 siff_table <- cbind(Node1 = siff_table["X1"], interaction = siff_table["value"], Node2 = siff_table["X2"]) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
202 #Write the siff table |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
203 write.table(siff_table, sep = "\t", quote = FALSE, col.names = FALSE, row.names = FALSE, file = "siff_table.tsv") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
204 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
205 } |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
206 do.call(main_function, list_arguments) |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
207 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
208 |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
209 cat("\n--------------------------------------------------------------------", |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
210 "\nInformation about R (version, Operating System, attached or loaded packages):\n\n") |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
211 sessionInfo() |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
212 cat("--------------------------------------------------------------------\n", |
58997c28b268
"planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/tools/correlation_analysis/ commit 35a01e4ef59a91f43d0b1de1d08db29dcc7aae1e"
workflow4metabolomics
parents:
diff
changeset
|
213 "\nJob ending time:\n", format(Sys.time(), "%a %d %b %Y %X")) |