annotate src/mz_5_tr_matrix6bis.sci @ 4:50d9f45f2182 draft default tip

Deleted selected files
author jcb-mpl
date Thu, 12 May 2022 12:13:21 +0000
parents 245b2c2b3d75
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
1 function [xout,calculs_stats_tr_mz]=mz_5_tr_matrix6bis(xbary,allmz,thresh,signal_thresh)
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
2
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
3 // entrées:------------
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
4
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
5 // xbary: une structure de type barycentrique avec les champs x.time et x.mzdata
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
6 // all_mz: les valeurs de m/z identifiées avec mz_scan_mz_raw2; une matrice de deux colonnes, m/z et signaux
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
7 // thresh: le seuil de regroupement, ex: 0,0024
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
8 // signal_thresh: un seuil mini de signal, ex: 30000
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
9
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
10 // xout: une matrice de type (TR x m/z)
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
11 // xout.d: une matrice contenant les TR en ligne et les valeurs m/z en colonne
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
12 // xout.i: les valeurs de TR
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
13 // xout.v: les valeurs de m/z
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
14 // calculs_stats_tr_mz: une matrice avec nbre lignes=nbre m/z et 7 colonnes contenant differents calculs, pour des statistiques ulterieures
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
15 // une matrice avec les m/z en ligne et 7 colonnes:
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
16 // nbre de TR / somme des TR / somme des TR**2 / somme des mz / somme des mz**2 / somme des mz*signal / somme des signaux
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
17
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
18
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
19 // application d'un filtre sur le niveau minimum de signal
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
20 tri=find(allmz(:,2)>signal_thresh);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
21 all_mz=allmz(tri,1);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
22
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
23
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
24 n=max(size(xbary.time)); // nombre de TR
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
25 n_mz=max(size(all_mz)); // nombre de m/z
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
26
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
27 // initialisation de xout:
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
28 xout=div(0);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
29 xout.d=zeros(n,n_mz);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
30 xout.i=string(xbary.time);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
31 xout.v=string(all_mz);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
32
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
33 // initialisation de calcul_stats_tr_mz:
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
34 calculs_stats_tr_mz=zeros(n_mz,7);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
35
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
36 //calcul_stats_tr_mz contient: 1=n; 2=somme des tr; 3=somme des carres des tri; 4=somme des m/z; 5=somme des carrés des mzi;
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
37 // 6=somme des m/z*signaux; 7=somme des signaux
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
38
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
39
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
40 // remplissage de xout et de calculs_stats_tr_mz:
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
41 for i=1:n;
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
42 //xi=xbary.mzdata(i);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
43 xbaryi=xbary.mzdata(i); //tous m/z remplacés par leurs barycentres avec mz_barycenter_adjust
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
44 n_xi=size(xbaryi,1); // nbre de m/z
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
45 for j=1:n_xi;
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
46 abs_differ=abs(all_mz-xbaryi(j,1));
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
47 if min(abs_differ)<thresh then // 18avril18 on ne remplit que si différence faible
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
48 indice=find(abs_differ==min(abs_differ));
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
49 imax=max(size(indice));
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
50 for k=1:imax; //9jan20 boucle rajoutee car il peut y avoir 2 solutions
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
51 // remplissage de xout:
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
52 xout.d(i,indice(k))=xout.d(i,indice(k))+ xbaryi(j,2); //26juil; possibilité de rajouter 2 valeurs dans 1 case
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
53 // remplissage de calculs_stats_tr_mz:
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
54 calculs_stats_tr_mz(indice(k),1)=calculs_stats_tr_mz(indice(k),1)+ 1; // rajout de +1
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
55 calculs_stats_tr_mz(indice(k),2)=calculs_stats_tr_mz(indice(k),2)+ xbary.time(i); // rajout de TR
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
56 calculs_stats_tr_mz(indice(k),3)=calculs_stats_tr_mz(indice(k),3)+ xbary.time(i)**2; // rajout de TR**2
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
57 calculs_stats_tr_mz(indice(k),4)=calculs_stats_tr_mz(indice(k),4)+ xbaryi(j,1); // somme des m/z
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
58 calculs_stats_tr_mz(indice(k),5)=calculs_stats_tr_mz(indice(k),5)+ xbaryi(j,1)**2; // somme des m/z**2
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
59 calculs_stats_tr_mz(indice(k),6)=calculs_stats_tr_mz(indice(k),6)+ xbaryi(j,1)*xbaryi(j,2); // somme des m/z * signal
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
60 calculs_stats_tr_mz(indice(k),7)=calculs_stats_tr_mz(indice(k),7)+ xbaryi(j,2); // somme des signaux
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
61 end
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
62 end
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
63 end
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
64
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
65 end
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
66
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
67 // ajustement des m/z 17mai18
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
68 stats_tr_mz_5= calculs_stats_tr_mz(:,6)./calculs_stats_tr_mz(:,7);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
69 xout.v= string(stats_tr_mz_5);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
70
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
71 // suppression des signaux trop faibles
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
72 tri=find(calculs_stats_tr_mz(:,7)>signal_thresh);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
73 xout=xout(:,tri); // 31jan20 verif que ce tri marche 1000X+vite qu'enlever les colonnes
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
74 calculs_stats_tr_mz= calculs_stats_tr_mz(tri,:);
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
75
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
76
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
77
245b2c2b3d75 Uploaded
jcb-mpl
parents:
diff changeset
78 endfunction