Mercurial > repos > recetox > recetox_aplcms_merge_known_table
annotate utils.R @ 6:dd7bbc2b99d1 draft
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 0873c036d734782d2647b0eea84cd1a0658f5e58
| author | recetox | 
|---|---|
| date | Wed, 19 Jul 2023 00:26:00 +0000 | 
| parents | fb95cb4a6b9b | 
| children | 8ecb609cc265 | 
| rev | line source | 
|---|---|
| 
0
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
1 library(recetox.aplcms) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
2 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
3 get_env_sample_name <- function() { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
4 sample_name <- Sys.getenv("SAMPLE_NAME", unset = NA) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
5 if (nchar(sample_name) == 0) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
6 sample_name <- NA | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
7 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
8 if (is.na(sample_name)) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
9 message("The mzML file does not contain run ID.") | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
10 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
11 return(sample_name) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
12 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
13 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
14 save_sample_name <- function(df, sample_name) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
15 attr(df, "sample_name") <- sample_name | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
16 return(df) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
17 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
18 | 
| 
6
 
dd7bbc2b99d1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 0873c036d734782d2647b0eea84cd1a0658f5e58
 
recetox 
parents: 
4 
diff
changeset
 | 
19 restore_sample_name <- function(df) { | 
| 
 
dd7bbc2b99d1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 0873c036d734782d2647b0eea84cd1a0658f5e58
 
recetox 
parents: 
4 
diff
changeset
 | 
20 return(df$sample_id[1]) | 
| 
 
dd7bbc2b99d1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 0873c036d734782d2647b0eea84cd1a0658f5e58
 
recetox 
parents: 
4 
diff
changeset
 | 
21 } | 
| 
 
dd7bbc2b99d1
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 0873c036d734782d2647b0eea84cd1a0658f5e58
 
recetox 
parents: 
4 
diff
changeset
 | 
22 | 
| 
0
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
23 load_sample_name <- function(df) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
24 sample_name <- attr(df, "sample_name") | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
25 if (is.null(sample_name)) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
26 return(NA) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
27 } else { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
28 return(sample_name) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
29 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
30 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
31 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
32 save_data_as_parquet_file <- function(data, filename) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
33 arrow::write_parquet(data, filename) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
34 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
35 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
36 load_data_from_parquet_file <- function(filename) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
37 return(arrow::read_parquet(filename)) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
38 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
39 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
40 load_parquet_collection <- function(files) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
41 features <- lapply(files, arrow::read_parquet) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
42 features <- lapply(features, tibble::as_tibble) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
43 return(features) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
44 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
45 | 
| 
2
 
f2490df187db
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 724ecb1b81ebd8a67488b8a9397177b2ff0357db
 
recetox 
parents: 
1 
diff
changeset
 | 
46 save_parquet_collection <- function(feature_tables, sample_names, subdir) { | 
| 
0
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
47 dir.create(subdir) | 
| 
4
 
fb95cb4a6b9b
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 775afc79d12e680bb26496a2626d1855db9cddc7
 
recetox 
parents: 
3 
diff
changeset
 | 
48 for (i in seq_len(length(feature_tables))) { | 
| 
3
 
92b45b7fcbca
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 505c3374a3e1e9aa450fcb752f2b8f87558fedbb
 
recetox 
parents: 
2 
diff
changeset
 | 
49 filename <- file.path(subdir, paste0(sample_names[i], ".parquet")) | 
| 
4
 
fb95cb4a6b9b
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 775afc79d12e680bb26496a2626d1855db9cddc7
 
recetox 
parents: 
3 
diff
changeset
 | 
50 feature_table <- as.data.frame(feature_tables[[i]]) | 
| 
0
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
51 feature_table <- save_sample_name(feature_table, sample_names[i]) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
52 arrow::write_parquet(feature_table, filename) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
53 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
54 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
55 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
56 sort_by_sample_name <- function(tables, sample_names) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
57 return(tables[order(sample_names)]) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
58 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
59 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
60 save_tolerances <- function(table, tol_file) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
61 mz_tolerance <- c(table$mz_tol_relative) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
62 rt_tolerance <- c(table$rt_tol_relative) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
63 arrow::write_parquet(data.frame(mz_tolerance, rt_tolerance), tol_file) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
64 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
65 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
66 save_aligned_features <- function(aligned_features, metadata_file, rt_file, intensity_file) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
67 save_data_as_parquet_file(aligned_features$metadata, metadata_file) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
68 save_data_as_parquet_file(aligned_features$rt, rt_file) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
69 save_data_as_parquet_file(aligned_features$intensity, intensity_file) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
70 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
71 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
72 select_table_with_sample_name <- function(tables, sample_name) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
73 sample_names <- lapply(tables, load_sample_name) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
74 index <- which(sample_names == sample_name) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
75 if (length(index) > 0) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
76 return(tables[[index]]) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
77 } else { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
78 stop(sprintf("Mismatch - sample name '%s' not present in %s", | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
79 sample_name, paste(sample_names, collapse = ", "))) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
80 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
81 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
82 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
83 select_adjusted <- function(recovered_features) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
84 return(recovered_features$adjusted_features) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
85 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
86 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
87 known_table_columns <- function() { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
88 c("chemical_formula", "HMDB_ID", "KEGG_compound_ID", "mass", "ion.type", | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
89 "m.z", "Number_profiles_processed", "Percent_found", "mz_min", "mz_max", | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
90 "RT_mean", "RT_sd", "RT_min", "RT_max", "int_mean(log)", "int_sd(log)", | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
91 "int_min(log)", "int_max(log)") | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
92 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
93 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
94 save_known_table <- function(table, filename) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
95 columns <- known_table_columns() | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
96 arrow::write_parquet(table$known_table[columns], filename) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
97 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
98 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
99 read_known_table <- function(filename) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
100 arrow::read_parquet(filename, col_select = known_table_columns()) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
101 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
102 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
103 save_pairing <- function(table, filename) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
104 df <- table$pairing %>% as_tibble() %>% setNames(c("new", "old")) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
105 arrow::write_parquet(df, filename) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
106 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
107 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
108 join_tables_to_list <- function(metadata, rt_table, intensity_table) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
109 features <- new("list") | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
110 features$metadata <- metadata | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
111 features$intensity <- intensity_table | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
112 features$rt <- rt_table | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
113 return(features) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
114 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
115 | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
116 validate_sample_names <- function(sample_names) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
117 if ((any(is.na(sample_names))) || (length(unique(sample_names)) != length(sample_names))) { | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
118 stop(sprintf("Sample names absent or not unique - provided sample names: %s", | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
119 paste(sample_names, collapse = ", "))) | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
120 } | 
| 
 
211f85249b1c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 506df2aef355b3791567283e1a175914f06b405a
 
recetox 
parents:  
diff
changeset
 | 
121 } | 
| 
1
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
122 | 
| 
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
123 determine_sigma_ratios <- function(sigma_ratio_lim_min = NA, sigma_ratio_lim_max = NA) { | 
| 
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
124 if (is.na(sigma_ratio_lim_min)) { | 
| 
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
125 sigma_ratio_lim_min <- 0 | 
| 
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
126 } | 
| 
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
127 if (is.na(sigma_ratio_lim_max)) { | 
| 
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
128 sigma_ratio_lim_max <- Inf | 
| 
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
129 } | 
| 
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
130 return(c(sigma_ratio_lim_min, sigma_ratio_lim_max)) | 
| 
 
18f965163b4c
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/recetox_aplcms commit 4254c6f6f05915ceab5af5d7040ac2c44a8364b4
 
recetox 
parents: 
0 
diff
changeset
 | 
131 } | 
