Mercurial > repos > computational-metabolomics > mspurity_spectralmatching
comparison purityA.R @ 8:77706396e7bd draft
planemo upload for repository https://github.com/computational-metabolomics/mspurity-galaxy commit 7e1748612a9f9dce11a9e54ff36752b600e7aea3
author | computational-metabolomics |
---|---|
date | Wed, 12 Jun 2024 16:03:14 +0000 |
parents | fecfe8c80e25 |
children | fcd8ef711617 |
comparison
equal
deleted
inserted
replaced
7:20f4fdaf36bb | 8:77706396e7bd |
---|---|
1 library(msPurity) | 1 library(msPurity) |
2 library(optparse) | 2 library(optparse) |
3 print(sessionInfo()) | 3 print(sessionInfo()) |
4 | 4 |
5 option_list <- list( | 5 option_list <- list( |
6 make_option(c("-o", "--out_dir"), type = "character"), | 6 make_option(c("-o", "--out_dir"), type = "character"), |
7 make_option("--mzML_files", type = "character"), | 7 make_option("--mzML_files", type = "character"), |
8 make_option("--galaxy_names", type = "character"), | 8 make_option("--galaxy_names", type = "character"), |
9 make_option("--minOffset", type = "numeric"), | 9 make_option("--minOffset", type = "numeric"), |
10 make_option("--maxOffset", type = "numeric"), | 10 make_option("--maxOffset", type = "numeric"), |
11 make_option("--ilim", type = "numeric"), | 11 make_option("--ilim", type = "numeric"), |
12 make_option("--iwNorm", default = "none", type = "character"), | 12 make_option("--iwNorm", default = "none", type = "character"), |
13 make_option("--exclude_isotopes", action = "store_true"), | 13 make_option("--exclude_isotopes", action = "store_true"), |
14 make_option("--isotope_matrix", type = "character"), | 14 make_option("--isotope_matrix", type = "character"), |
15 make_option("--mostIntense", action = "store_true"), | 15 make_option("--mostIntense", action = "store_true"), |
16 make_option("--plotP", action = "store_true"), | 16 make_option("--plotP", action = "store_true"), |
17 make_option("--nearest", action = "store_true"), | 17 make_option("--nearest", action = "store_true"), |
18 make_option("--cores", default = 4), | 18 make_option("--cores", default = 4), |
19 make_option("--ppmInterp", default = 7) | 19 make_option("--ppmInterp", default = 7) |
20 ) | 20 ) |
21 | 21 |
22 opt <- parse_args(OptionParser(option_list = option_list)) | 22 opt <- parse_args(OptionParser(option_list = option_list)) |
23 print(opt) | 23 print(opt) |
24 | 24 |
25 if (opt$iwNorm == "none") { | 25 if (opt$iwNorm == "none") { |
26 iwNorm <- FALSE | 26 iwNorm <- FALSE |
27 iwNormFun <- NULL | 27 iwNormFun <- NULL |
28 }else if (opt$iwNorm == "gauss") { | 28 } else if (opt$iwNorm == "gauss") { |
29 iwNorm <- TRUE | 29 iwNorm <- TRUE |
30 if (is.null(opt$minOffset) || is.null(opt$maxOffset)) { | 30 if (is.null(opt$minOffset) || is.null(opt$maxOffset)) { |
31 print("User has to define offsets if using Gaussian normalisation") | 31 print("User has to define offsets if using Gaussian normalisation") |
32 }else{ | 32 } else { |
33 iwNormFun <- msPurity::iwNormGauss(minOff = -as.numeric(opt$minOffset), | 33 iwNormFun <- msPurity::iwNormGauss( |
34 maxOff = as.numeric(opt$maxOffset)) | 34 minOff = -as.numeric(opt$minOffset), |
35 maxOff = as.numeric(opt$maxOffset) | |
36 ) | |
35 } | 37 } |
36 }else if (opt$iwNorm == "rcosine") { | 38 } else if (opt$iwNorm == "rcosine") { |
37 iwNorm <- TRUE | 39 iwNorm <- TRUE |
38 if (is.null(opt$minOffset) || is.null(opt$maxOffset)) { | 40 if (is.null(opt$minOffset) || is.null(opt$maxOffset)) { |
39 print("User has to define offsets if using R-cosine normalisation") | 41 print("User has to define offsets if using R-cosine normalisation") |
40 }else{ | 42 } else { |
41 iwNormFun <- msPurity::iwNormRcosine(minOff = -as.numeric(opt$minOffset), | 43 iwNormFun <- msPurity::iwNormRcosine( |
42 maxOff = as.numeric(opt$maxOffset)) | 44 minOff = -as.numeric(opt$minOffset), |
45 maxOff = as.numeric(opt$maxOffset) | |
46 ) | |
43 } | 47 } |
44 }else if (opt$iwNorm == "QE5") { | 48 } else if (opt$iwNorm == "QE5") { |
45 iwNorm <- TRUE | 49 iwNorm <- TRUE |
46 iwNormFun <- msPurity::iwNormQE.5() | 50 iwNormFun <- msPurity::iwNormQE.5() |
47 } | 51 } |
48 | 52 |
49 filepaths <- trimws(strsplit(opt$mzML_files, ",")[[1]]) | 53 filepaths <- trimws(strsplit(opt$mzML_files, ",")[[1]]) |
51 | 55 |
52 | 56 |
53 | 57 |
54 if (is.null(opt$minOffset) || is.null(opt$maxOffset)) { | 58 if (is.null(opt$minOffset) || is.null(opt$maxOffset)) { |
55 offsets <- NA | 59 offsets <- NA |
56 }else{ | 60 } else { |
57 offsets <- as.numeric(c(opt$minOffset, opt$maxOffset)) | 61 offsets <- as.numeric(c(opt$minOffset, opt$maxOffset)) |
58 } | 62 } |
59 | 63 |
60 | 64 |
61 if (is.null(opt$mostIntense)) { | 65 if (is.null(opt$mostIntense)) { |
62 mostIntense <- FALSE | 66 mostIntense <- FALSE |
63 }else{ | 67 } else { |
64 mostIntense <- TRUE | 68 mostIntense <- TRUE |
65 } | 69 } |
66 | 70 |
67 if (is.null(opt$nearest)) { | 71 if (is.null(opt$nearest)) { |
68 nearest <- FALSE | 72 nearest <- FALSE |
69 }else{ | 73 } else { |
70 nearest <- TRUE | 74 nearest <- TRUE |
71 } | 75 } |
72 | 76 |
73 if (is.null(opt$plotP)) { | 77 if (is.null(opt$plotP)) { |
74 plotP <- FALSE | 78 plotP <- FALSE |
75 plotdir <- NULL | 79 plotdir <- NULL |
76 }else{ | 80 } else { |
77 plotP <- TRUE | 81 plotP <- TRUE |
78 plotdir <- opt$out_dir | 82 plotdir <- opt$out_dir |
79 } | 83 } |
80 | 84 |
81 | 85 |
82 if (is.null(opt$isotope_matrix)) { | 86 if (is.null(opt$isotope_matrix)) { |
83 im <- NULL | 87 im <- NULL |
84 }else{ | 88 } else { |
85 im <- read.table(opt$isotope_matrix, | 89 im <- read.table(opt$isotope_matrix, |
86 header = TRUE, sep = "\t", stringsAsFactors = FALSE) | 90 header = TRUE, sep = "\t", stringsAsFactors = FALSE |
91 ) | |
87 } | 92 } |
88 | 93 |
89 if (is.null(opt$exclude_isotopes)) { | 94 if (is.null(opt$exclude_isotopes)) { |
90 isotopes <- FALSE | 95 isotopes <- FALSE |
91 }else{ | 96 } else { |
92 isotopes <- TRUE | 97 isotopes <- TRUE |
93 } | 98 } |
94 | 99 |
95 pa <- msPurity::purityA(filepaths, | 100 pa <- msPurity::purityA(filepaths, |
96 cores = opt$cores, | 101 cores = opt$cores, |
97 mostIntense = mostIntense, | 102 mostIntense = mostIntense, |
98 nearest = nearest, | 103 nearest = nearest, |
99 offsets = offsets, | 104 offsets = offsets, |
100 plotP = plotP, | 105 plotP = plotP, |
101 plotdir = plotdir, | 106 plotdir = plotdir, |
102 interpol = "linear", | 107 interpol = "linear", |
103 iwNorm = iwNorm, | 108 iwNorm = iwNorm, |
104 iwNormFun = iwNormFun, | 109 iwNormFun = iwNormFun, |
105 ilim = opt$ilim, | 110 ilim = opt$ilim, |
106 mzRback = "pwiz", | 111 mzRback = "pwiz", |
107 isotopes = isotopes, | 112 isotopes = isotopes, |
108 im = im, | 113 im = im, |
109 ppmInterp = opt$ppmInterp) | 114 ppmInterp = opt$ppmInterp |
115 ) | |
110 | 116 |
111 | 117 |
112 if (!is.null(opt$galaxy_names)) { | 118 if (!is.null(opt$galaxy_names)) { |
113 galaxy_names <- trimws(strsplit(opt$galaxy_names, ",")[[1]]) | 119 galaxy_names <- trimws(strsplit(opt$galaxy_names, ",")[[1]]) |
114 galaxy_names <- galaxy_names[galaxy_names != ""] | 120 galaxy_names <- galaxy_names[galaxy_names != ""] |