annotate src/mz_hdf5nantestosci.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_hdf5nantestosci(file_in,cvparam_txt,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 md5 (HDF5) du format de BIBS-Nantes
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
5 // rappel: mzxml de Nantes -> md5 avec msconvert
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
6 // cvparam_txt: l'export en txt de CVParam avec HDFView; un fichier texte
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
7 // max_scans: valeur introduite pour accelerer la fonction de test
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
8
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
9 // sorties: ---------------------------
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
10 // x_mz: une variable avec deux champs:
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
11 // x_mz.time
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
12 // 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
13
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
14 // JCB 2 aout18
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
15
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
16
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
17
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
18 // lecture du fichier HDF5 ----------------------------------
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
19 a=h5open(file_in,'a');
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
20 //h5dump(a.root.CVParam)
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
21 //spectrum_time=h5read(a, "/CVParam",[1 22],[1 1]);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
22 spectrum_intensity=h5read(a.root.SpectrumIntensity); // intensite du signal; un vecteur (1 x 4E08)
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
23 spectrum_mz=h5read(a.root.SpectrumMZ); // m/z; un vecteur (1 x 4E08)
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
24 spectrum_index=h5read(a.root.SpectrumIndex); // index d'identification des spectres
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
25 // dans les variables précédentes
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
26 // ex: 112166 227841 -> 1° spectre de 1 à 112166
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
27 // 2° spectre de 112167 à 227841
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
28 // etc
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
29 h5close(a)
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
30
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
31 if argn(2)<3 then
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
32 nbr_scans=max(size(spectrum_index));
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
33 else
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
34 nbr_scans=max_scans;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
35 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
36
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
37 // 1- reconstruction du spectre --------------------------------------------
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
38 time=spectrum_index(1:nbr_scans);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
39 mzdata=list();
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
40
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
41 for i=1:nbr_scans;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
42 if i==1 then
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
43 plage_i=[1,double(spectrum_index(i))];
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
44 else
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
45 plage_i=[double(spectrum_index(i-1))+1,double(spectrum_index(i))];
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
46 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
47
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
48 // 2- extraction et reconstruction des m/z
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
49 // 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
50 mz_i=spectrum_mz(plage_i(1):plage_i(2));
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
51
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
52 n=size(mz_i,2);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
53 mz_i2=zeros(1,n);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
54
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
55 mz_i2(1)=mz_i(1);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
56 for j=2:n;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
57 mz_i2(j)=mz_i2(j-1)+mz_i(j);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
58 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
59
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
60 // 3- extraction des signaux
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
61 sig_i=spectrum_intensity(plage_i(1):plage_i(2));
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
62
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
63 // regroupement des m/z et signaux
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
64 sp_i=[mz_i2;sig_i];
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
65
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
66 mzdata(i)=sp_i';
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
67
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
68
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
69 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
70
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
71
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
72 // 2- Reconstruction des temps de retention --------------------------------
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
73
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
74 // lecture du fichier
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
75 a=mopen(cvparam_txt);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
76 txt=mgetl(a)
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
77 mclose(a)
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
78
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
79 // tri des lignes + extraction des RT
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
80 n=size(txt,1);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
81 x_rt=[];
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
82
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
83 for i=1:n;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
84 x_temp=strsplit(txt(i,:),' 18'); // valeur 18 trouvee avec tab avant
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
85 if max(size(x_temp))>1 then
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
86 x_temp2=stripblanks(x_temp(1));
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
87 x_temp2=strtod(x_temp2);
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
88 if x_rt==[] then
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
89 x_rt=x_temp2;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
90 else
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
91 x_rt=[x_rt;x_temp2];
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
92 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
93 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
94 end
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
95
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
96 // 3- prepaaration de la sortie --------------------------------------------
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
97 x_mz.time=x_rt';
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
98 x_mz.mzdata=mzdata;
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
99
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
100
03c9a3b59377 Uploaded
jcb-mpl
parents:
diff changeset
101 endfunction