comparison ramclustr_wrapper.R @ 7:09cabbc3d12d draft

planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/ramclustr commit b1cc1aebf796f170d93e3dd46ffcdefdc7b8018a
author recetox
date Thu, 12 Oct 2023 13:30:54 +0000
parents 050cfef6ba65
children c043e1fd79d1
comparison
equal deleted inserted replaced
6:9b716db0a786 7:09cabbc3d12d
1 store_output <- function(ramclustr_obj, 1 store_output <- function(ramclustr_obj,
2 output_merge_msp, 2 output_merge_msp,
3 output_spec_abundance, 3 output_spec_abundance,
4 msp_file) { 4 msp_file) {
5 RAMClustR::write.msp(ramclustr_obj, one.file = output_merge_msp) 5 RAMClustR::write.msp(ramclustr_obj, one.file = output_merge_msp)
6 write.csv(ramclustr_obj$SpecAbund, 6 write.csv(ramclustr_obj$SpecAbund,
7 file = output_spec_abundance, 7 file = output_spec_abundance,
8 row.names = TRUE, quote = FALSE 8 row.names = TRUE, quote = FALSE
9 ) 9 )
10 10
11 if (!is.null(msp_file)) { 11 if (!is.null(msp_file)) {
12 exp_name <- ramclustr_obj$ExpDes[[1]][which( 12 exp_name <- ramclustr_obj$ExpDes[[1]][which(
13 row.names(ramclustr_obj$ExpDes[[1]]) == "Experiment" 13 row.names(ramclustr_obj$ExpDes[[1]]) == "Experiment"
14 ), 1] 14 ), 1]
15 filename <- paste("spectra/", exp_name, ".msp", sep = "") 15 filename <- paste("spectra/", exp_name, ".msp", sep = "")
16 file.copy(from = filename, to = msp_file, overwrite = TRUE) 16 file.copy(from = filename, to = msp_file, overwrite = TRUE)
17 } 17 }
18 } 18 }
19 19
20 load_experiment_definition <- function(filename) { 20 load_experiment_definition <- function(filename) {
21 experiment <- RAMClustR::defineExperiment(csv = filename) 21 experiment <- RAMClustR::defineExperiment(csv = filename)
22 return(experiment) 22 return(experiment)
23 } 23 }
24 24
25 read_metadata <- function(filename) { 25 read_metadata <- function(filename) {
26 data <- read.csv(filename, header = TRUE, stringsAsFactors = FALSE) 26 data <- read.csv(filename, header = TRUE, stringsAsFactors = FALSE)
27 27
28 if (!"qc" %in% colnames(data)) { 28 if (!"qc" %in% colnames(data)) {
29 if ("sampleType" %in% colnames(data)) { 29 if ("sampleType" %in% colnames(data)) {
30 data$qc <- ifelse(data$sampleType == "qc", TRUE, FALSE) 30 data$qc <- ifelse(data$sampleType == "qc", TRUE, FALSE)
31 }
32 } 31 }
32 }
33 33
34 if (!"order" %in% colnames(data)) { 34 if (!"order" %in% colnames(data)) {
35 if ("injectionOrder" %in% colnames(data)) { 35 if ("injectionOrder" %in% colnames(data)) {
36 names(data)[names(data) == "injectionOrder"] <- "order" 36 names(data)[names(data) == "injectionOrder"] <- "order"
37 }
38 } 37 }
38 }
39 39
40 return(data) 40 return(data)
41 } 41 }
42 42
43 read_ramclustr_aplcms <- function(ms1_featuredefinitions = NULL, 43 read_ramclustr_aplcms <- function(ms1_featuredefinitions = NULL,
44 ms1_featurevalues = NULL, 44 ms1_featurevalues = NULL,
45 df_phenodata = NULL, 45 df_phenodata = NULL,
46 phenodata_ext = NULL, 46 phenodata_ext = NULL,
47 exp_des = NULL, 47 exp_des = NULL,
48 st = NULL, 48 st = NULL,
49 ensure_no_na = TRUE) { 49 ensure_no_na = TRUE) {
50 ms1_featuredefinitions <- arrow::read_parquet(ms1_featuredefinitions) 50 ms1_featuredefinitions <- arrow::read_parquet(ms1_featuredefinitions)
51 ms1_featurevalues <- arrow::read_parquet(ms1_featurevalues) 51 ms1_featurevalues <- arrow::read_parquet(ms1_featurevalues)
52 52
53 if (!is.null(df_phenodata)) { 53 if (!is.null(df_phenodata)) {
54 if (phenodata_ext == "csv") { 54 if (phenodata_ext == "csv") {
55 df_phenodata <- read.csv( 55 df_phenodata <- read.csv(
56 file = df_phenodata, 56 file = df_phenodata,
57 header = TRUE, check.names = FALSE 57 header = TRUE, check.names = FALSE
58 ) 58 )
59 } else { 59 } else {
60 df_phenodata <- read.csv( 60 df_phenodata <- read.csv(
61 file = df_phenodata, 61 file = df_phenodata,
62 header = TRUE, check.names = FALSE, sep = "\t" 62 header = TRUE, check.names = FALSE, sep = "\t"
63 ) 63 )
64 }
65 } 64 }
66 if (!is.null(exp_des)) { 65 }
67 exp_des <- load_experiment_definition(exp_des) 66 if (!is.null(exp_des)) {
68 } 67 exp_des <- load_experiment_definition(exp_des)
68 }
69 69
70 feature_values <- ms1_featurevalues[-1] 70 feature_values <- ms1_featurevalues[-1]
71 feature_values <- t(feature_values) 71 feature_values <- t(feature_values)
72 colnames(feature_values) <- ms1_featurevalues[[1]] 72 colnames(feature_values) <- ms1_featurevalues[[1]]
73 73
74 feature_definitions <- data.frame(ms1_featuredefinitions) 74 feature_definitions <- data.frame(ms1_featuredefinitions)
75 75
76 ramclustr_obj <- RAMClustR::rc.get.df.data( 76 ramclustr_obj <- RAMClustR::rc.get.df.data(
77 ms1_featureDefinitions = feature_definitions, 77 ms1_featureDefinitions = feature_definitions,
78 ms1_featureValues = feature_values, 78 ms1_featureValues = feature_values,
79 phenoData = df_phenodata, 79 phenoData = df_phenodata,
80 ExpDes = exp_des, 80 ExpDes = exp_des,
81 st = st, 81 st = st,
82 ensure.no.na = ensure_no_na 82 ensure.no.na = ensure_no_na
83 ) 83 )
84 return(ramclustr_obj) 84 return(ramclustr_obj)
85 } 85 }
86 86
87 apply_normalisation <- function(ramclustr_obj = NULL, 87 apply_normalisation <- function(ramclustr_obj = NULL,
88 normalize_method, 88 normalize_method,
89 metadata_file = NULL, 89 metadata_file = NULL,
90 qc_inj_range, 90 qc_inj_range,
91 p_cut, 91 p_cut,
92 rsq_cut, 92 rsq_cut,
93 p_adjust) { 93 p_adjust) {
94 batch <- NULL 94 batch <- NULL
95 order <- NULL 95 order <- NULL
96 qc <- NULL 96 qc <- NULL
97 97
98 if (normalize_method == "TIC") { 98 if (normalize_method == "TIC") {
99 ramclustr_obj <- RAMClustR::rc.feature.normalize.tic( 99 ramclustr_obj <- RAMClustR::rc.feature.normalize.tic(
100 ramclustObj = 100 ramclustObj =
101 ramclustr_obj 101 ramclustr_obj
102 ) 102 )
103 } else if (normalize_method == "quantile") { 103 } else if (normalize_method == "quantile") {
104 ramclustr_obj <- RAMClustR::rc.feature.normalize.quantile(ramclustr_obj) 104 ramclustr_obj <- RAMClustR::rc.feature.normalize.quantile(ramclustr_obj)
105 } else if (normalize_method == "batch.qc") { 105 } else if (normalize_method == "batch.qc") {
106 if (!(is.null(metadata_file) || metadata_file == "None")) { 106 if (!(is.null(metadata_file) || metadata_file == "None")) {
107 metadata <- read_metadata(metadata_file) 107 metadata <- read_metadata(metadata_file)
108 batch <- metadata$batch 108 batch <- metadata$batch
109 order <- metadata$order 109 order <- metadata$order
110 qc <- metadata$qc 110 qc <- metadata$qc
111 } 111 }
112 112
113 ramclustr_obj <- RAMClustR::rc.feature.normalize.batch.qc( 113 ramclustr_obj <- RAMClustR::rc.feature.normalize.batch.qc(
114 order = order, 114 order = order,
115 batch = batch, 115 batch = batch,
116 qc = qc, 116 qc = qc,
117 ramclustObj = ramclustr_obj, 117 ramclustObj = ramclustr_obj,
118 qc.inj.range = qc_inj_range 118 qc.inj.range = qc_inj_range
119 ) 119 )
120 } else { 120 } else {
121 if (!(is.null(metadata_file) || metadata_file == "None")) { 121 if (!(is.null(metadata_file) || metadata_file == "None")) {
122 metadata <- read_metadata(metadata_file) 122 metadata <- read_metadata(metadata_file)
123 batch <- metadata$batch 123 batch <- metadata$batch
124 order <- metadata$order 124 order <- metadata$order
125 qc <- metadata$qc 125 qc <- metadata$qc
126 } 126 }
127 127
128 ramclustr_obj <- RAMClustR::rc.feature.normalize.qc( 128 ramclustr_obj <- RAMClustR::rc.feature.normalize.qc(
129 order = order, 129 order = order,
130 batch = batch, 130 batch = batch,
131 qc = qc, 131 qc = qc,
132 ramclustObj = ramclustr_obj, 132 ramclustObj = ramclustr_obj,
133 p.cut = p_cut, 133 p.cut = p_cut,
134 rsq.cut = rsq_cut, 134 rsq.cut = rsq_cut,
135 p.adjust = p_adjust 135 p.adjust = p_adjust
136 ) 136 )
137 } 137 }
138 return(ramclustr_obj) 138 return(ramclustr_obj)
139 } 139 }