|
1
|
1 <tool id="2021_05_features_extract" name="EICs -> Peaks:features" version="0.0.1">
|
|
|
2 <description> extracts the peaks (m/z x TR) from the EICs </description>
|
|
|
3
|
|
|
4 <requirements>
|
|
|
5 <requirement type="package" >scilab</requirement>
|
|
|
6 </requirements>
|
|
|
7
|
|
|
8
|
|
|
9 <stdio>
|
|
|
10 <exit_code range="1:" level="fatal" />
|
|
|
11 </stdio>
|
|
|
12
|
|
|
13
|
|
|
14 <command> <![CDATA[
|
|
|
15 $__root_dir__/packages/scilab-*/bin/scilab-cli -nb -quit -f ${script_file}
|
|
|
16 ]]>
|
|
|
17 </command>
|
|
|
18
|
|
|
19
|
|
|
20 <configfiles>
|
|
|
21 <configfile name="script_file">
|
|
|
22 <![CDATA[ exec("$__tool_directory__/src/mz_8_peakpicking_dw.sci",-1); ...
|
|
|
23 exec("$__tool_directory__/src/mz_6bis_durbin_watson.sci",-1); ...
|
|
|
24 lasterror(); ...
|
|
|
25 option=${option}; ...
|
|
|
26 if option==1 then ... // liste ou fichier .dat
|
|
|
27 load("${list_eic4_files}"); ...
|
|
|
28 list_var=who_user(%f); ...
|
|
|
29 n=size(list_var,1); ...
|
|
|
30 for i=1:n;
|
|
|
31 execstr(msprintf("type_tmp=type(%s);",list_var(i))); ...
|
|
|
32 if type_tmp==15 then ...
|
|
|
33 execstr(msprintf("x_tr_mz4=%s;",list_var(i))); ...
|
|
|
34 break;...
|
|
|
35 end; ...
|
|
|
36 end; ...
|
|
|
37 ...
|
|
|
38 elseif option==2 then ... // tabular
|
|
|
39 x_tr_mz4=glx_tab2div("${list_eic4_files}"); ...
|
|
|
40 end; ...
|
|
|
41 ...
|
|
|
42 if isdef('x_tr_mz3'); ...
|
|
|
43 x_tr_mz4=x_tr_mz3; ...
|
|
|
44 end; ...
|
|
|
45 ...
|
|
|
46 if typeof(x_tr_mz4)=="list"; ...
|
|
|
47 x_tr_mz4_i=x_tr_mz4(${no}); ...
|
|
|
48 elseif typeof(x_tr_mz4)=="div"; ...
|
|
|
49 x_tr_mz4_i=x_tr_mz4; ...
|
|
|
50 end; ...
|
|
|
51 ...
|
|
|
52 [peaks_list,peaks_detail]=mz_8_peakpicking_dw(x_tr_mz4_i,[1:$],${plage_tr},${plage_min_tr},${dw_max},${signal_min},0); ...
|
|
|
53 ...
|
|
|
54 peaks_list.i='eic n0 '+ peaks_list.i; ...
|
|
|
55 div2tab(peaks_list,"${peaks_list}"); ... // 20avril21
|
|
|
56 ... // save("${peaks_list}",'peaks_list'); ...
|
|
|
57 save("${peaks_detail}",'peaks_detail'); ...
|
|
|
58 ...
|
|
|
59 if ~isempty(lasterror(%f)); ...
|
|
|
60 write(0,lasterror()); ...
|
|
|
61 end; ]]>
|
|
|
62 </configfile>
|
|
|
63 </configfiles>
|
|
|
64
|
|
|
65
|
|
|
66 <inputs>
|
|
|
67 <param name="list_eic4_files" format="mat,tabular" type="data" label="EICs files" help="a list of several files, or a single matrix EIC matrix (RT x m/z)" />
|
|
|
68 <param name="option" value="2" type="integer" min="1" max="2" label="Type of data" help="1= a list from the function: EIVs -> check reference mz; 2= an EIC matrix, e.g. from the function: EICs-synchronized -> EICs-merged" />
|
|
|
69 <param name="no" size="5" value="1" type="integer" label="Number" help="if list, from 1 to 5 " />
|
|
|
70 <param name="plage_tr" size="5" value="0.3" type="float" label="Maximum range of RT " help="in minutes" />
|
|
|
71 <param name="plage_min_tr" size="5" value="0.05" type="float" label="Minimum range of RT " help="in minutes" />
|
|
|
72 <param name="dw_max" size="5" value="1" type="float" label="Threshold for Durbin-Watson" help="a value between 0 and 2" />
|
|
|
73 <param name="signal_min" size="5" value="100000" type="float" label="Threshold for the signal max" help="peaks with signal max under this value are dropped" />
|
|
|
74
|
|
|
75 </inputs>
|
|
|
76
|
|
|
77
|
|
|
78 <outputs>
|
|
|
79 <data name="peaks_list" format="tabular" label="Peaks list"/>
|
|
|
80 <data name="peaks_detail" format="mat" label="Peaks details" />
|
|
|
81 </outputs>
|
|
|
82
|
|
|
83
|
|
|
84 <tests>
|
|
|
85
|
|
|
86 <test>
|
|
|
87 <param name="list_eic4_files" value="x4_list.dat"/>
|
|
|
88 <param name="option" value="1"/>
|
|
|
89 <param name="no" value="3"/>
|
|
|
90 <param name="plage_tr" value="0.3"/>
|
|
|
91 <param name="plage_min_tr" value="0.05"/>
|
|
|
92 <param name="dw_max" value="1"/>
|
|
|
93 <param name="signal_min" value="100000"/>
|
|
|
94 <output name="peaks_list">
|
|
|
95 <assert_contents>
|
|
|
96 <has_text text="0.2020"/>
|
|
|
97 <has_text text="0.8740"/>
|
|
|
98 <has_text text="3.2942"/>
|
|
|
99 </assert_contents>
|
|
|
100 </output>
|
|
|
101 </test>
|
|
|
102
|
|
|
103 <test>
|
|
|
104 <param name="list_eic4_files" value="x4.tab"/>
|
|
|
105 <param name="option" value="2"/>
|
|
|
106 <param name="plage_tr" value="0.3"/>
|
|
|
107 <param name="plage_min_tr" value="0.05"/>
|
|
|
108 <param name="dw_max" value="1"/>
|
|
|
109 <param name="signal_min" value="100000"/>
|
|
|
110 <output name="peaks_list">
|
|
|
111 <assert_contents>
|
|
|
112 <has_text text="0.2020"/>
|
|
|
113 <has_text text="0.8740"/>
|
|
|
114 <has_text text="3.2942"/>
|
|
|
115 </assert_contents>
|
|
|
116 </output>
|
|
|
117 </test>
|
|
|
118
|
|
|
119 </tests>
|
|
|
120
|
|
|
121
|
|
|
122 <help>
|
|
|
123
|
|
|
124
|
|
|
125 **Authors** Jean-Claude Boulet (INRA).
|
|
|
126
|
|
|
127
|
|
|
128 ---------------------------------------------------
|
|
|
129
|
|
|
130 =========================
|
|
|
131 PEAKS:FEATURES EXTRACTION
|
|
|
132 =========================
|
|
|
133
|
|
|
134 -----------
|
|
|
135 Description
|
|
|
136 -----------
|
|
|
137
|
|
|
138 A feature or peak is a signal recorded for a given m/z value and a range of retention times.
|
|
|
139
|
|
|
140 This function extracts the peaks of each EIC from an EIC matrix.
|
|
|
141
|
|
|
142 Note: this features extraction algorithm does not claim novelty nor higher performances. But it corresponds well to our outputs. For a basic use.
|
|
|
143
|
|
|
144
|
|
|
145
|
|
|
146 -----
|
|
|
147 Input
|
|
|
148 -----
|
|
|
149
|
|
|
150 **EICs files**
|
|
|
151
|
|
|
152 - a matrix from e.g. the function: EICs-synchronized -> EICs-merged
|
|
|
153
|
|
|
154 - or a list yielded by the function: EICs -> checks reference mz
|
|
|
155
|
|
|
156
|
|
|
157 ----------
|
|
|
158 Parameters
|
|
|
159 ----------
|
|
|
160
|
|
|
161 **Number**
|
|
|
162
|
|
|
163 In case of a list, the number to select, from 1 to 5, corresponding to the m/z thresholds of 0.0005, 0.0010, 0.0030, 0.0050 and 0.0100 respectively
|
|
|
164
|
|
|
165 **Maximum range of retention time**
|
|
|
166
|
|
|
167 Default value: 0.3
|
|
|
168
|
|
|
169
|
|
|
170 **Minimum range of retention time**
|
|
|
171
|
|
|
172 Default value: 0.05
|
|
|
173
|
|
|
174 **Threshold for Durbin-Watson**
|
|
|
175
|
|
|
176 Default value: 1
|
|
|
177
|
|
|
178
|
|
|
179 -------
|
|
|
180 Outputs
|
|
|
181 -------
|
|
|
182
|
|
|
183 **Peaks list**
|
|
|
184
|
|
|
185 A file of 4 columns: RT min, RT max, m/z value and signal
|
|
|
186
|
|
|
187 **Peaks detail**
|
|
|
188
|
|
|
189 The file, format HDF5-scilab, contains a list.
|
|
|
190
|
|
|
191 Each element of the list is associated to a peak, i.e. a line of the Peaks List output.
|
|
|
192
|
|
|
193 Each element of the list contains a column vector of the signals recorded along a range of retention times, identified by the line labels. The column label is the m/z value of the peak.
|
|
|
194
|
|
|
195 </help>
|
|
|
196
|
|
|
197
|
|
|
198 <citations>
|
|
|
199
|
|
|
200 </citations>
|
|
|
201
|
|
|
202
|
|
|
203 </tool>
|