changeset 1:247771a356a7 draft

Uploaded
author jcb-mpl
date Thu, 12 May 2022 12:15:52 +0000
parents c0a2e5e78725
children 7e757edfa3b0
files features_extract.xml
diffstat 1 files changed, 203 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/features_extract.xml	Thu May 12 12:15:52 2022 +0000
@@ -0,0 +1,203 @@
+<tool id="2021_05_features_extract" name="EICs -> Peaks:features" version="0.0.1">
+      <description> extracts the peaks (m/z x TR) from the EICs </description>
+  
+      <requirements>
+          <requirement type="package" >scilab</requirement>
+      </requirements>
+      
+      
+      <stdio>
+          <exit_code range="1:" level="fatal" />
+      </stdio>
+      
+      
+      <command> <![CDATA[ 
+      $__root_dir__/packages/scilab-*/bin/scilab-cli -nb -quit -f ${script_file} 
+      ]]>
+      </command>
+
+
+      <configfiles>
+        <configfile name="script_file">
+       <![CDATA[ exec("$__tool_directory__/src/mz_8_peakpicking_dw.sci",-1); ...
+        exec("$__tool_directory__/src/mz_6bis_durbin_watson.sci",-1); ...
+        lasterror(); ...
+        option=${option}; ...
+        if option==1 then ...      // liste ou fichier .dat
+            load("${list_eic4_files}"); ...
+            list_var=who_user(%f); ...
+            n=size(list_var,1); ...
+            for i=1:n; 
+               execstr(msprintf("type_tmp=type(%s);",list_var(i))); ...
+               if type_tmp==15 then ...
+                   execstr(msprintf("x_tr_mz4=%s;",list_var(i))); ...
+                   break;...
+               end; ...
+            end; ...   
+        ...      
+        elseif option==2 then ...  // tabular 
+            x_tr_mz4=glx_tab2div("${list_eic4_files}"); ...
+        end; ...
+        ...
+        if isdef('x_tr_mz3'); ...
+            x_tr_mz4=x_tr_mz3; ...
+        end; ...
+        ...
+        if typeof(x_tr_mz4)=="list"; ...
+            x_tr_mz4_i=x_tr_mz4(${no}); ...
+        elseif typeof(x_tr_mz4)=="div"; ...
+            x_tr_mz4_i=x_tr_mz4; ...
+        end; ...
+        ...
+        [peaks_list,peaks_detail]=mz_8_peakpicking_dw(x_tr_mz4_i,[1:$],${plage_tr},${plage_min_tr},${dw_max},${signal_min},0); ...
+        ...
+        peaks_list.i='eic n0 '+ peaks_list.i; ...
+        div2tab(peaks_list,"${peaks_list}"); ...  // 20avril21
+        ... // save("${peaks_list}",'peaks_list'); ...
+        save("${peaks_detail}",'peaks_detail'); ...
+        ...
+        if ~isempty(lasterror(%f)); ...
+            write(0,lasterror()); ...
+        end; ]]>
+        </configfile>
+     </configfiles>
+
+
+    <inputs>
+    <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)" />
+    <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"     />
+    <param name="no"             size="5"     value="1"       type="integer"   label="Number"                         help="if list, from 1 to 5 " />
+    <param name="plage_tr"       size="5"     value="0.3"     type="float"     label="Maximum range of RT "           help="in minutes" />
+    <param name="plage_min_tr"   size="5"     value="0.05"    type="float"     label="Minimum range of RT "           help="in minutes"           />
+    <param name="dw_max"         size="5"     value="1"       type="float"     label="Threshold for Durbin-Watson"    help="a value between 0 and 2"   />
+    <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"   />
+    
+  </inputs>
+
+
+  <outputs>
+    <data name="peaks_list"     format="tabular"    label="Peaks list"/>
+    <data name="peaks_detail"   format="mat"        label="Peaks details"    />
+  </outputs>
+
+
+  <tests>
+  
+    <test>
+       <param  name="list_eic4_files"     value="x4_list.dat"/>
+       <param  name="option"              value="1"/>
+       <param  name="no"                  value="3"/>
+       <param  name="plage_tr"            value="0.3"/>
+       <param  name="plage_min_tr"        value="0.05"/>
+       <param  name="dw_max"              value="1"/>
+       <param  name="signal_min"          value="100000"/>
+       <output name="peaks_list">
+           <assert_contents> 
+       	<has_text text="0.2020"/>
+       	<has_text text="0.8740"/>
+       	<has_text text="3.2942"/>  
+           </assert_contents>
+       </output>
+    </test>
+    
+    <test>
+       <param  name="list_eic4_files"     value="x4.tab"/>
+       <param  name="option"              value="2"/>
+       <param  name="plage_tr"            value="0.3"/>
+       <param  name="plage_min_tr"        value="0.05"/>
+       <param  name="dw_max"              value="1"/>
+       <param  name="signal_min"          value="100000"/>
+       <output name="peaks_list">
+           <assert_contents> 
+       	<has_text text="0.2020"/>
+       	<has_text text="0.8740"/>
+       	<has_text text="3.2942"/>  
+           </assert_contents>
+       </output>
+    </test>
+      
+  </tests>
+  
+  
+  <help>
+
+
+**Authors**  Jean-Claude Boulet (INRA).
+
+
+---------------------------------------------------
+
+=========================
+PEAKS:FEATURES EXTRACTION
+=========================
+
+-----------
+Description
+-----------
+
+A feature or peak is a signal recorded for a given m/z value and a range of retention times. 
+
+This function extracts the peaks of each EIC from an EIC matrix. 
+
+Note: this features extraction algorithm does not claim novelty nor higher performances. But it corresponds well to our outputs. For a basic use. 
+
+
+
+-----
+Input
+-----
+
+**EICs files**
+
+- a matrix from e.g. the function: EICs-synchronized -> EICs-merged 
+
+- or a list yielded by the function: EICs -> checks reference mz
+
+
+----------
+Parameters
+----------
+
+**Number**
+
+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 
+
+**Maximum range of retention time**
+
+Default value: 0.3 
+
+
+**Minimum range of retention time**
+
+Default value: 0.05
+
+**Threshold for Durbin-Watson**
+
+Default value: 1 
+
+
+-------
+Outputs
+-------
+
+**Peaks list**
+
+A file of 4 columns: RT min, RT max, m/z value and signal
+
+**Peaks detail**
+
+The file, format HDF5-scilab, contains a list. 
+
+Each element of the list is associated to a peak, i.e. a line of the Peaks List output. 
+
+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. 
+
+</help>
+
+
+<citations>
+
+</citations>
+
+
+</tool>