annotate src/mz_1_merge_by_k.sci @ 2:3db75a93ef71 draft

Uploaded
author jcb-mpl
date Tue, 27 Apr 2021 14:07:55 +0000
parents e93012d3bbf5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
1 function resbary_out=mz_1_merge_by_k(resbary_in,k)
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
2
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
3 // regroupe les TR par k et ajoute les signaux si m/z égaux
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
4
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
5 if ~isfield(resbary_in,'time') | ~isfield(resbary_in,'mzdata') then
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
6 error('fields time and/or mzdata are missing in resbary_in')
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
7 end
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
8
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
9 n=max(size(resbary_in.time));
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
10 n2=max(size(resbary_in.mzdata));
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
11 if n~=n2 then
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
12 disp('n time ~= n mzdata');
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
13 end
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
14
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
15 resbary_out.time=[];
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
16 resbary_out.mzdata=list();
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
17
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
18 index=1;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
19 i=1;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
20 while index <=n-k+1;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
21 resbary_out.time(i)=mean(resbary_in.time(index:index+k-1));
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
22 // regroupement des k mzdata
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
23 resbary_out.mzdata(i)=resbary_in.mzdata(index);
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
24 for j=1:k-1;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
25 resbary_out.mzdata(i)=[resbary_out.mzdata(i);resbary_in.mzdata(index+j)]
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
26 end;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
27 [nul,tri]=gsort(resbary_out.mzdata(i)(:,1),'g','i');
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
28 resbary_out.mzdata(i)=resbary_out.mzdata(i)(tri,:); // tri par m/z croissants
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
29 resbary_out.mzdata(i)(:,1)=0.0001*round(10000*resbary_out.mzdata(i)(:,1)); // arrondi à 0.0001 // 1fev20
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
30
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
31 // sommes des signaux pour m/z identiques
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
32 resbary_mz=resbary_out.mzdata(i)(:,1);
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
33 resbary_mz=unique(resbary_mz);
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
34 n_i=max(size(resbary_mz));
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
35 resbary_signal=zeros(n_i,1);
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
36 for j=1:n_i;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
37 tri_temp=find(resbary_out.mzdata(i)(:,1)==resbary_mz(j));
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
38 resbary_signal(j)= sum(resbary_out.mzdata(i)(tri_temp,2)); // somme des signaux de même m/z
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
39 end;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
40 resbary_out.mzdata(i)=[resbary_mz resbary_signal];
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
41
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
42 // suite de la boucle
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
43 index=index+k;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
44 i=i+1;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
45 end;
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
46
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
47
e93012d3bbf5 Uploaded
jcb-mpl
parents:
diff changeset
48 endfunction