annotate Testtest/GCMS-test_settings.R @ 0:40de28c7d3fb draft

Uploaded
author melpetera
date Thu, 23 Nov 2017 08:50:14 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
1 # author: Pauline Ribeyre
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
2
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
3
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
4 #####################
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
5 # required packages #
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
6 #####################
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
7
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
8 library("metaMS") # provides "metaMSsettings" class
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
9
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
10
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
11 ####################
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
12 # default settings #
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
13 ####################
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
14
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
15 # PeakPicking
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
16 PeakPicking.method = "matchedFilter"
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
17 PeakPicking.step = 0.05
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
18 PeakPicking.steps = 2
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
19 PeakPicking.mzdiff = 0.5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
20 PeakPicking.fwhm = 5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
21 PeakPicking.snthresh = 2
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
22 PeakPicking.max = 500
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
23
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
24 # Alignment
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
25 # ?
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
26
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
27 # CAMERA
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
28 CAMERA.perfwhm = 1
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
29
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
30 # DBconstruction
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
31 DBconstruction.minintens = 0.0
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
32 DBconstruction.rttol = 0.1
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
33 DBconstruction.intensityMeasure = "maxo"
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
34 DBconstruction.DBthreshold = .80
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
35 DBconstruction.minfeat = 5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
36
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
37 # match2DB
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
38 match2DB.rtdiff = 0.5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
39 match2DB.minfeat = 5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
40 # match2DB.rtval = ?
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
41 # match2DB.mzdiff = ?
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
42 # match2DB.ppm = ?
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
43 match2DB.simthresh = 0.8
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
44 match2DB.timeComparison = "rt"
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
45 match2DB.RIdiff = 5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
46
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
47 # betweenSamples
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
48 betweenSamples.min.class.fraction = 0.8 # pools
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
49 # betweenSamples.min.class.fraction = 0.5 # samples
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
50 betweenSamples.min.class.size = 5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
51 betweenSamples.timeComparison = "rt"
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
52 betweenSamples.rtdiff = 0.5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
53 betweenSamples.RIdiff = 2 # default setting
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
54 # betweenSamples.RIdiff = 0.05 # w4m setting
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
55 betweenSamples.simthresh = 0.8
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
56
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
57 # matchIrrelevants
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
58 # matchIrrelevants.irrelevantClasses = c("Bleeding", "Plasticizers")
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
59 # matchIrrelevants.RIdiff = ?
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
60 # matchIrrelevants.rtdiff = ?
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
61 # matchIrrelevants.simthresh = ?
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
62 # matchIrrelevants.timeComparison = "RI"
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
63
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
64 # TODO RI option
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
65
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
66
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
67 ###################
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
68 # settings object #
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
69 ###################
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
70
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
71 # settings <- metaMSsettings("protocolName" = "settings", "chrom" = "GC")
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
72
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
73 settings <- metaMSsettings("protocolName" = "settings",
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
74 "chrom" = "GC",
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
75
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
76 PeakPicking = list(
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
77 method = PeakPicking.method,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
78 step = PeakPicking.step,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
79 steps = PeakPicking.steps,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
80 mzdiff = PeakPicking.mzdiff,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
81 fwhm = PeakPicking.fwhm,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
82 snthresh = PeakPicking.snthresh,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
83 max = PeakPicking.max),
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
84
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
85 CAMERA = list(perfwhm = CAMERA.perfwhm))
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
86
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
87 metaSetting(settings, "DBconstruction") <- list(
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
88 minintens = DBconstruction.minintens,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
89 rttol = DBconstruction.rttol,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
90 intensityMeasure = DBconstruction.intensityMeasure,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
91 DBthreshold = DBconstruction.DBthreshold,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
92 minfeat = DBconstruction.minfeat)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
93
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
94 metaSetting(settings, "match2DB") <- list(
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
95 simthresh = match2DB.simthresh,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
96 timeComparison = match2DB.timeComparison,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
97 rtdiff = match2DB.rtdiff,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
98 RIdiff = match2DB.RIdiff,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
99 minfeat = match2DB.minfeat)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
100
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
101 metaSetting(settings, "betweenSamples") <- list(
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
102 min.class.fraction = betweenSamples.min.class.fraction,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
103 min.class.size = betweenSamples.min.class.size,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
104 timeComparison = betweenSamples.timeComparison,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
105 rtdiff = betweenSamples.rtdiff,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
106 RIdiff = betweenSamples.RIdiff,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
107 simthresh = betweenSamples.simthresh)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
108
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
109 # metaSetting(GALAXY.GC, "matchIrrelevants") <- list(
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
110 # irrelevantClasses = matchIrrelevants.irrelevantClasses,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
111 # RIdiff = matchIrrelevants.RIdiff,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
112 # rtdiff = matchIrrelevants.rtdiff,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
113 # simthresh = matchIrrelevants.simthresh,
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
114 # timeComparison = matchIrrelevants.timeComparison)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
115
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
116
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
117 # best settings pool
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
118 settings@betweenSamples.min.class.size = 5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
119 settings@PeakPicking$fwhm = 6
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
120 settings@PeakPicking$mzdiff = -0.5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
121 settings@betweenSamples.min.class.fraction = 0.8
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
122 settings@betweenSamples.simthresh = 0.7
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
123 settings@betweenSamples.rtdiff = 0.05
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
124
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
125
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
126 # best settings samples
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
127 settings@betweenSamples.min.class.size = 5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
128 settings@PeakPicking$fwhm = 6
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
129 settings@PeakPicking$mzdiff = 0.5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
130 settings@betweenSamples.min.class.fraction = 0.5
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
131 settings@betweenSamples.simthresh = 0.7
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
132 settings@betweenSamples.rtdiff = 0.05
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
133
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
134
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
135 #################
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
136 # vary settings #
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
137 #################
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
138
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
139 pop <- function(list) {
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
140 # Removes the last item from a list.
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
141 #
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
142 # Args:
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
143 # list: the list to pop.
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
144 #
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
145 # Returns:
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
146 # The last item of the list before it was removed.
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
147
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
148 val <- list[length(list)]
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
149 assign(as.character(substitute(list)), list[-length(list)], parent.frame())
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
150 return (val)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
151
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
152 }
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
153
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
154
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
155 vary_list_to_settings <- function(settings, vary_list, title = "", titles_to_test = c(), settings_to_test = c()) {
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
156 # Reads the list of parameters to vary and their ranges and builds a list of file titles and settings from it.
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
157 #
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
158 # Args:
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
159 # settings: default settings for runGC.
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
160 # vary_list: list of parameters to vary and the values each parameter must take.
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
161 # title: title of the current file (concatenation of the values taken by the varied parameters).
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
162 # titles_to_test: list of titles (one for each settings set) (concatenation of the values taken by the varied parameters).
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
163 # settings_to_test: list of settings sets for runGC.
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
164 #
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
165 # Returns:
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
166 # A list containing:
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
167 # 1: the list of file titles ;
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
168 # 2: the list of runGC() settings.
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
169
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
170 if (length(vary_list) == 0) { # if there are no parameters to vary
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
171
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
172 titles_to_test <- c(titles_to_test, "default_settings")
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
173 settings_to_test <- c(settings_to_test, settings)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
174
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
175 }
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
176
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
177 else {
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
178
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
179 param <- pop(vary_list)[[1]]
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
180
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
181 title <- paste0(title, param[1])
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
182 setting <- param[2]
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
183 range <- as.numeric(param[3:length(param)])
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
184
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
185 # for each possible value of the parameter
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
186 for (p in range) {
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
187
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
188 # change the settings
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
189 isSlot <- regexpr("\\$", setting)[1]
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
190
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
191 if (isSlot == -1) { # the parameter is a slot in class metaMSsettings
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
192 slot(settings, setting) <- p
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
193 }
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
194 else { # the parameter is not a slot in class metaMSsettings
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
195 slot(settings, substr(setting, 1, isSlot - 1))[substr(setting, isSlot + 1, nchar(setting))] <- p
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
196 }
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
197
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
198 new_title <- paste0(title, "=", p, "_")
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
199
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
200 # save the settings in a list
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
201 if (length(vary_list) == 0) {
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
202 titles_to_test <- c(titles_to_test, new_title)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
203 settings_to_test <- c(settings_to_test, settings)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
204 }
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
205 else {
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
206 res <- vary_list_to_settings(settings, vary_list, new_title, titles_to_test, settings_to_test)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
207 titles_to_test <- res[[1]]
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
208 settings_to_test <- res[[2]]
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
209 }
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
210
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
211 } # end for
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
212
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
213 } # end else
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
214
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
215 return (list(titles_to_test, settings_to_test))
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
216
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
217 }
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
218
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
219
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
220 ############
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
221 # main #
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
222 ############
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
223
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
224 # settings to vary and ranges of values
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
225 res <- vary_list_to_settings(settings, vary_list)
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
226 titles_to_test <- res[[1]]
40de28c7d3fb Uploaded
melpetera
parents:
diff changeset
227 settings_to_test <- res[[2]]