annotate src/mz_4_extract_final_mz_v3.sci @ 2:05a5f68935f2 draft default tip

Deleted selected files
author jcb-mpl
date Thu, 12 May 2022 12:14:45 +0000
parents b2d949399888
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
1 function [list_eic4_files,mz4_stats,mz3]=mz_4_extract_final_mz_v3(list_eic_files,delta_mz)
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
2
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
3
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
4 // list_eic_files: une liste de fichiers
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
5 // chaque fichier = (TR x mz); variable = x_tr_mz3
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
6 // mz_uncertainty: l'incertitude sur les m/z utilisee pour calculer les matrices d'EICs; typiquement: 0,0024
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
7 // mz3_stats: donne les moyennes min et max du même m/z obtenues sur les differents fichiers
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
8 // et calcule l'intervalle pour reconstruire les matrices d'EICs
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
9 // -------------------------------------------------------------------------
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
10
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
11 // regrouper tous les m/z dans un seul fichier
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
12 // colonne 1 = valeur de m/z
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
13 // colonne 2 = code du fichier; 1 à 6 si 6 fichiers
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
14 // colonne 3 = n° de ligne dans chaque fichier
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
15
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
16 // ex de list_eic_files:
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
17 // list_eic_files=[ 'ID1_EICs-raw.mat'; 'ID2_EICs-raw.mat';'ID3_EICs-raw.mat';'AC-ID1_EICs-raw.mat';'AC-ID2_EICs-raw.mat';'AC-ID3_EICs-raw.mat'];
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
18
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
19 if argn(2)<2 then
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
20 delta_mz=0.0024;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
21 end
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
22
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
23 n_files=max(size(list_eic_files));
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
24
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
25 mzs=[]; // mzs=compilation de tous les mz
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
26
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
27 for i=1:n_files;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
28 x_tr_mz3=list_eic_files(i);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
29
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
30 list_mz=strtod(x_tr_mz3.v);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
31 n=size(list_mz,1);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
32 if i==1 then
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
33 mzs=[list_mz ones(n,1) [1:n]' ];
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
34 else
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
35 mzs=[mzs; [list_mz i*ones(n,1) [1:n]']];
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
36 end
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
37 end
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
38
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
39 // tri selon des valeurs croissantes
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
40 [nul, index]=gsort(mzs(:,1),'g','i');
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
41 mzs=mzs(index,:);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
42
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
43
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
44 n=size(mzs,1);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
45 mz2=zeros(n,n_files,2); // 6 remplace par n_files échantillons 12dec19
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
46 // 2 colonnes: mz et n° de pic
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
47
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
48 // choix de l'incertitude
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
49 // delta_mz=0.0024; OK
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
50 // delta_mz=0.0012; essayé mais pas concluent: des m/z se trouvent décalés seuls sur une ligne
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
51
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
52 index=1;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
53 for i=1:n-1;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
54 if mzs(i+1,1)-mzs(i,1)>delta_mz | (mzs(i+1,1)-mzs(i,1)<= delta_mz & mz2(index,mzs(i+1,2),1)~=0 ) then
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
55 index=index+1;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
56 end
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
57 mz2(index,mzs(i+1,2),1)=mzs(i+1,1);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
58 mz2(index,mzs(i+1,2),2)=mzs(i+1,3);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
59 end
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
60
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
61 mz2=mz2(1:index,:,:); // 10683 m/z
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
62 // visuellement: le fichier semble OK
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
63
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
64 // tri des plus intéressants : 3 dans un groupe au moins
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
65
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
66 // commente le 12dec19 => il faut retrouver dans toutes les répétitions
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
67 tri=mz2(:,1,1);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
68 for k=2:n_files;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
69 tri=tri.*mz2(:,k,1);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
70 end
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
71 // tri1=mz2(:,1,1).*mz2(:,2,1).*mz2(:,3,1);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
72 // tri2=mz2(:,4,1).*mz2(:,5,1).*mz2(:,6,1);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
73 // tri=tri1+tri2;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
74
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
75
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
76 indice=find(tri >0);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
77 mz3.d=mz2(indice,:,:); // 8589 m/z
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
78 // visuellement: semble OK
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
79
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
80 // rajout des statistiques
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
81 n=size(mz3.d,1);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
82 mz3_min_max=zeros(n,5);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
83 for i=1:n;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
84 xtemp=mz3.d(i,1:n_files,1);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
85 xtemp=matrix(xtemp,[n_files,1,1]);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
86 index=find(xtemp~=0);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
87 mztemp=xtemp(index);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
88 mean_temp=mean(mztemp);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
89
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
90 n_temp=max(size(mztemp));
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
91 std_temp=std(mztemp)*sqrt(n_temp/(n_temp-1));
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
92 mz3_min_max(i,1)=min(xtemp(index));
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
93 mz3_min_max(i,2)=max(xtemp(index));
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
94 mz3_min_max(i,3)=mean_temp;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
95 mz3_min_max(i,4)=mean_temp - 2*std_temp;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
96 mz3_min_max(i,5)=mean_temp + 2*std_temp;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
97 end
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
98
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
99 // mise en div:
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
100 mz3.i=string(mz3_min_max(:,3));
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
101 mz3.v.v1='file'+string([1:size(mz3.d,2)]');
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
102 mz3.v.v2=['signal';'column'];
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
103 //pause
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
104 mz3=div(mz3);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
105
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
106 mz3_stats.d=mz3_min_max;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
107 mz3_stats.i='M'+ string(mz3_min_max(:,3));
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
108 mz3_stats.v=['mean min';'mean max';'mean mz';'mean -2std';'mean +2std'];
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
109 mz3_stats=div(mz3_stats);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
110
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
111
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
112 // --------------------------------------------------------------------------
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
113 // a ce stade on a :
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
114 // mz3 = une liste de m/z commune et interessante (8589 x 6 x 2)
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
115 // mean +/- 2std = la plage de recherche de ces m/z (8589 x 5)
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
116 // il ne reste plus qu'a reconstruire les EICs avec ces plages de m/z
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
117 // --------------------------------------------------------------------------
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
118
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
119
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
120 list_eic4_files=list();
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
121
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
122 for i=1:n_files;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
123
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
124 no_colonnes=mz3.d(:,i,2);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
125 tri=find(no_colonnes~=0);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
126 colonnes_gardees=no_colonnes(tri);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
127
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
128 x_tr_mz3=list_eic_files(i);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
129
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
130 x_tr_mz4=x_tr_mz3(:,colonnes_gardees);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
131 x_tr_mz4.v=mz3_stats.i(tri);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
132 x_tr_mz4=div(x_tr_mz4);
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
133
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
134 list_eic4_files(i)=x_tr_mz4;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
135 end
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
136
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
137 mz4_stats=mz3_stats;
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
138
b2d949399888 Uploaded
jcb-mpl
parents:
diff changeset
139 endfunction