|
0
|
1 function mzall2=mz_4_scan_mz_raw6(mzall0,diff_mz_min,signal_thresh)
|
|
|
2
|
|
|
3 // trie des valeurs de m/z
|
|
|
4
|
|
|
5 // mzall0: une matrice de 2 colonnes: (1) une liste des valeurs de m/z (2) les signaux associés
|
|
|
6 // diff_mz_min: un seuil en dessous duquel deux m/z proches sont regroupees; par défaut: 0,0005
|
|
|
7 // signal_thresh: un niveau minimum de signal total; par defaut: 30000
|
|
|
8
|
|
|
9 // mzall2: une matrice de 2 colonnes avec m/z et signaux
|
|
|
10
|
|
|
11 if argn(2)<3 then
|
|
|
12 signal_thresh=30000;
|
|
|
13 end
|
|
|
14
|
|
|
15 if argn(2)<2 then
|
|
|
16 diff_mz_min=0.0005;
|
|
|
17 end
|
|
|
18
|
|
|
19
|
|
|
20 // 2° regroupement
|
|
|
21 mzall1=mzall0;
|
|
|
22 mzall2=mzall0;
|
|
|
23
|
|
|
24 n=max(size(mzall1));
|
|
|
25
|
|
|
26 signal_max=max(mzall1(:,2));
|
|
|
27 index=0;
|
|
|
28 flag=0;
|
|
|
29
|
|
|
30 while (signal_max > signal_thresh) & (max(size(mzall1))>2) & flag==0 ;
|
|
|
31 //if index/10000==round(index/10000) then
|
|
|
32 // disp(index,'index=')
|
|
|
33 // disp(signal_max,'signal_max=')
|
|
|
34 //end //--------------------------------------
|
|
|
35
|
|
|
36 signal_max=max(mzall1(:,2));
|
|
|
37 index_max_n=find(mzall1(:,2)==signal_max); // il peut y avoir plusieurs solutions!
|
|
|
38 n2=max(size(index_max_n));
|
|
|
39 for i=1:n2;
|
|
|
40 index_max=index_max_n(i);
|
|
|
41 indexes_plage=find( (mzall1(:,1)>mzall1(index_max,1)-diff_mz_min) & (mzall1(:,1)< mzall1(index_max,1)+diff_mz_min));
|
|
|
42 mzall2(indexes_plage,:)=0;
|
|
|
43 mzall2(index_max,:)=mzall1(index_max,:);
|
|
|
44 mzall1(indexes_plage,:)=0;
|
|
|
45 end
|
|
|
46
|
|
|
47 tri=find(mzall2(:,1)~=0);
|
|
|
48
|
|
|
49 if tri==[] then
|
|
|
50 flag=1;
|
|
|
51 else
|
|
|
52 if index/100==round(index/100) then // nettoyage periodique pour alleger les donnees
|
|
|
53 mzall1=mzall1(tri,:);
|
|
|
54 mzall2=mzall2(tri,:);
|
|
|
55 end
|
|
|
56 end
|
|
|
57 index=index+1;
|
|
|
58 end
|
|
|
59
|
|
|
60 // suppression des valeurs nulles residuelles
|
|
|
61 tri=find(mzall2(:,1)~=0);
|
|
|
62 mzall2=mzall2(tri,:);
|
|
|
63
|
|
|
64
|
|
|
65
|
|
|
66 endfunction
|