annotate src/mz_hdf5tosci.sci @ 1:dcbde1b60b1b draft default tip

Deleted selected files
author jcb-mpl
date Mon, 26 Apr 2021 16:29:40 +0000
parents 03c9a3b59377
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
1 function x_mz=mz_hdf5tosci(file_in,max_scans)
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
2
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
3 // entrees: -------------------------
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
4 // file_in: un fichier au format HDF5
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
5 // max_scans: valeur introduite pour accelerer la fonction de test
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
6
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
7 // sorties: ---------------------------
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
8 // x_mz: une variable avec deux champs:
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
9 // x_mz.time
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
10 // x_mz.mzdata une liste dont chaque élément est un vecteur de 2 colonnes: m/z et intensités de signal
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
11
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
12 // JCB 2 aout18
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
13
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
14 h5close()
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
15
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
16 // lecture du fichier HDF5 ----------------------------------
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
17 a=h5open(file_in,'r','stdio'); // que lecture 6jan20:stdio
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
18 //pause
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
19 spectrum_chromatogram_index=h5read(a.root.ChromatogramIndex);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
20 spectrum_chromatogram_index=spectrum_chromatogram_index(1); // une valeur
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
21 spectrum_time=h5read(a.root.ChomatogramTime);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
22 spectrum_intensity=h5read(a.root.SpectrumIntensity);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
23 spectrum_mz=h5read(a.root.SpectrumMZ);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
24 spectrum_index=h5read(a.root.SpectrumIndex);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
25 //spectrum_index=spectrum_index(1:spectrum_chromatogram_index);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
26 h5close(a)
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
27
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
28 // reconstruction du spectre -----------------
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
29 if argn(2)<2 then
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
30 nbr_scans=max(size(spectrum_index));
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
31 else
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
32 nbr_scans=max_scans;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
33 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
34
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
35
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
36 // 1- extraction du temps
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
37 //25juin20
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
38 time=spectrum_time;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
39 if size(time,1)==1 then
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
40 time=time';
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
41 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
42 //pas=(spectrum_time($)-spectrum_time(1))/(nbr_scans-1);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
43 //time=[spectrum_time(1):pas:spectrum_time($)+pas]; // rajout de 1 par securite pour être sur d'arriver a nbr_scans
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
44 //time=time(1:nbr_scans); // nbr exact de RT
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
45
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
46 mzdata=list();
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
47
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
48 //disp(nbr_scans,'nbr_scans=')
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
49
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
50 for i=1:nbr_scans;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
51 if i==1 then
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
52 plage_i=[1,double(spectrum_index(i))];
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
53 else
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
54 plage_i=[double(spectrum_index(i-1))+1,double(spectrum_index(i))];
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
55 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
56 //disp(plage_i,'plage_i=')
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
57 // 2- extraction et reconstruction des m/z
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
58 // dans le fichier HDF5, ne sont enregistrées que les différences de m/z entre 2 mesures
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
59 mz_i=spectrum_mz(plage_i(1):plage_i(2));
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
60
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
61 n=size(mz_i,2);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
62 mz_i2=zeros(1,n);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
63
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
64 mz_i2(1)=mz_i(1);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
65 for j=2:n;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
66 mz_i2(j)=mz_i2(j-1)+mz_i(j);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
67 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
68
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
69 // 3- extraction des signaux
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
70 sig_i=spectrum_intensity(plage_i(1):plage_i(2));
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
71
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
72 // regroupement des m/z et signaux
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
73 sp_i=[mz_i2;sig_i];
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
74
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
75 mzdata(i)=sp_i';
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
76
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
77
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
78 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
79
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
80 // verif. que time est un vecteur colonne
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
81 if size(time,2)>1 then
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
82 time=time';
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
83 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
84
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
85
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
86 // amelioration de la coherence des donnees
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
87 index=time(2:$)-time(1:$-1);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
88 index2=find(index<0);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
89 if index2 ~=[] then
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
90 index3=min(index2);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
91 else;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
92 index3=max(size(time));
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
93 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
94
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
95 x_mz.time=time(1:index3);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
96 mzdata2=list();
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
97 for i=1:min(index3,size(mzdata));
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
98 mzdata2(i)=mzdata(i);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
99 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
100 x_mz.mzdata=mzdata2;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
101
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
102
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
103 endfunction