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