• Aucun résultat trouvé

CHAPITRE 4. TRAITEMENT DES DONNEES

4.1 T RAITEMENT DES DONNEES SOUS M ATLAB

4.1.2 Description des scripts et des fonctions Matlab

4.1.2.6. Recherche de pics spécifiques

4.1.2.6.1. Principe

La recherche de pics est le cœur de ce code qui le différencie des logiciels constructeurs. La plus-value réside dans l’utilisation de différents filtres ajustables pour l’identification des composés. 7 filtres différents sont utilisés dans la fonction cherche_pics_VC afin d’attribuer un maximum de composés avec le minimum d’erreurs.

Dans un premier temps, 3 filtres « durs » sont mis en place afin de sélectionner les pics candidats. Nous avons donc choisi d’utiliser le LRI, le temps de rétention dans la deuxième dimension et la corrélation entre les spectres de masse afin de sélectionner les pics candidats, c’est-à-dire pouvant correspondre au composé recherché. L’utilisation du LRI à la place du temps de rétention dans la première dimension permet de réaliser un recalage par rapport aux alcanes et donc de s’affranchir d’éventuelles variations du temps de rétention. Ceci est

157

réalisé par certains logiciels de retraitement de chromatogrammes bidimensionnels comme ChromSquare.

Ces 3 filtres durs vont donc permettre la sélection de pics candidats susceptibles d’être le composé recherché. Les 3 critères doivent être parfaitement remplis pour que le pic soit désigné comme pic candidat. La question se pose donc : parmi ces candidats, lequel choisir ? Afin de répondre à cette question, nous avons travaillé avec 4 filtres supplémentaires dits « mous » : la différence entre le LRI du pic candidat et le LRI théorique, la différence entre le t2 du pic candidat et le t2 théorique, la corrélation entre les spectres de masse et l’intensité du pic candidat. Un score a ensuite été calculé permettant de classer les différents pics candidats. L’objectif est de se rapprocher le plus possible de la démarche qu’aurait réalisée un opérateur pour attribuer ou non un pic et d’utiliser les mêmes critères de décision. Des simulations complètes ont été réalisées afin d’optimiser ces 7 critères, et seront décrites plus loin dans le manuscrit.

4.1.2.6.2. Fonction

La liste des composés recherchés est récupérée à partir du classeur « noms_pics.xlsx ». Il comporte environ 500 composés, dont certains ajoutés manuellement à partir de chromatogrammes réels. Plus qu’un nom, c’est un spectre de masse, un LRI et un t2 qui sont enregistrés dans la librairie perso et recherchés. Parfois, la recherche dans la librairie NIST attribue le même nom à plusieurs pics. Afin de les différencier, le suffixe « _{valeur de LRI} » a été ajouté au besoin. De la même manière, lorsque l’attribution d’un nom de composé par la librairie NIST ne s’est pas révélée satisfaisante, le composé a été nommé « Composé n°XXX ».

Les spectres de masse, les temps de rétentions et les LRI sont ensuite extraits de la librairie personnalisée à l’aide de la fonction cherche_lib_VC. Si ceux-ci ne sont pas disponibles, une recherche dans la librairie NIST est effectuée : on dispose alors uniquement du spectre de masse, et les autres critères ne sont pas considérés.

[MS_pics_lib, LRI_pics_lib, t2_pics_lib, nb_pics_rech, noms_pics] =

cherche_lib_VC (Base, excel_file_pics, librairie, librairie_perso, mz_min, mz_max)

Entrées :

 Base : base de données

 excel_file_pics : classeur excel « noms_pics.xlsx » répertoriant le nom des composés recherchés

 librairie : librairie NIST sous la forme d’une structure Matlab comportant 8 champs

o Name : nom du composé,

o t2 : temps de rétention dans la seconde dimension, o LRI : indices de rétention,

158

o MW : masse du composé en g/mol, o CAS : numéro CAS,

o NumPeaks : nombre de canaux de masse du vecteur MS enregistré o MS : matrice 2 colonnes, NumPeaks lignes. La première colonne contient la valeur du canal et la seconde l’intensité associée.

 librairie_perso : librairie personnalisée

 mz_min : borne minimale des canaux de masse enregistrés (m/z = 29)  mz_max : borne maximale des canaux de masse enregistrés (m/z = 250) Sortie :

 MS_pics_lib : vecteur de cellules contenant pour chaque pic recherché une matrice comprenant (mz_max - mz_min + 1) lignes et 2 colonnes. La première colonne contient la valeur du canal de MS et la seconde, l’intensité associée.

 LRI_pics_lib : matrice contenant pour chaque pic recherché le LRI associé issu d’une librairie

 t2_pics_lib : matrice contenant pour chaque pic recherché le t2 associé issu d’une librairie

 nb_pics_rech : nombre de pics recherchés

 noms_pics : liste des noms des pics recherchés récupéré dans le classeur « noms_pics.xlsx »

Pour chaque chromatogramme, la fonction attribution_pics_VC sélectionne les pics candidats à l’attribution à l’aide des trois filtres « durs », puis les classe avec les quatre filtres « mous » lorsque cela est possible. Le pic candidat ayant obtenu le meilleur score sera attribué au composé recherché.

[sortie_recherche] = attribution_pics_VC(num, Base, seuil_LRI, seuil_t2, seuil_MS, CS, MS_pics_lib, LRI_pics_lib, t2_pics_lib, nb_pics_rech,

noms_pics)

Entrées :

 num : numéro du fichier considéré  Base : base de données

 seuil_LRI : filtre « dur » de sélection des pics candidats avec le LRI  seuil_t2 : filtre « dur » de sélection des pics candidats avec le temps de rétention en seconde dimension

 seuil_MS : filtre « dur » de sélection des pics candidats avec la corrélation des spectres de masse

 CS : matrice des coefficients du score pour l’attribution du pic. 4 valeurs sont indiquées pour l’intensité, la corrélation des spectres de masse, le temps de

rétention en seconde dimension et le LRI.

 MS_pics_lib : vecteur de cellules contenant pour chaque pic recherché une matrice comprenant (mz_max - mz_min + 1) lignes et 2 colonnes. La première colonne contient la valeur du canal de MS et la seconde, l’intensité associée.

159

 LRI_pics_lib : matrice contenant pour chaque pic recherché le LRI associé issu d’une librairie

 t2_pics_lib : matrice contenant pour chaque pic recherché le t2 associé issu d’une librairie

 nb_pics_rech : nombre de pics recherchés

 noms_pics : liste des noms des pics recherchés récupéré dans le classeur « noms_pics.xlsx »

Sortie :

 sortie_recherche{1} = pics_det_match : tableau de cellules dont la première colonne contient les noms des composés et la seconde les informations relatives aux pics candidats associés, classés suivant leur score. Chaque matrice possède les colonnes : numéro du pic détecté - t1 - t2 - Intensité – coefficient de corrélation MS - différence entre le t2 du pic candidat et le t2 théorique - différence entre le LRI du pic candidat et le LRI théorique - Score

Stockage dans la base de données :

Base(num).PicsDET_pics_lib = sortie_recherche{1} Pour résumer, 3 librairies sont utilisées dans ce script :

 librairie_NIST qui contient plus de 200000 spectres de masse de référence pour la recherche de composés inconnus

 librairie_perso constituée d’environ 500 composés, pointés avec ChromSquare et ajoutés avec GCMS Solution, qui a été exportée sous la forme d’une structure Matlab,

 librairie_ajout qui est concaténée avec libraire_perso en début de script (voir Pointage).

Documents relatifs