Mercurial > repos > jcb-mpl > features_extract
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>