• Aucun résultat trouvé

2.4 Le nouveau parser SAFlex-PDB

2.4.2 Modélisation et implémentation

Dans le but d’implémenter le parser PDB, la modélisation informatique d’une structure 3D d’une macromolécule biologique revient tout d’abord à analyser le contenu du fichier au format PDB. Dans cette analyse la modélisation des différentes composantes de la macromolécule est cruciale afin de répondre aux besoins de mener à bien l’implémentation du parser et de faciliter ultérieurement la

8. se fait à partir des distances euclidiennes calculées entre les Cα successifs

9. l’étude de variabilité des fragments se fait en calculant les moyennes, la variance et l’écart type entre leurs descrip- teurs

10. La modélisation des données d’une manière informatique consiste à la description des données et besoins fonction- nelles décrits par les futurs utilisateurs du projet logiciel à réaliser.

Chapitre 2. Un nouveau parser de fichiers PDB 2.4 Le nouveau parser SAFlex-PDB

maintenance du parser. Ainsi, nous considérons « ATOM » et « RESIDU » comme les objets élémen- taires de notre programme. Ces objets forment ensemble l’objet « CHAIN ». En effet, cette chaîne est une séquence de résidus, or ces derniers sont à leur tour constitués d’une suite d’atomes. Nous définissons également l’objet « SECONDARY_STRUCTURE » qui regroupe les différents objets : « HELIX », « SHEET » et « COIL » obtenus à partir du fichier PDB. Ensuite, nous considérons aussi l’objet « 3D_STRUCTURE » qui représente le repliement 3D de la macromolécule biologique. Notre modélisation suggère d’avoir un nouveau type élémentaire : « FRAGMENT », qui représente notre fragment structural obtenu après une décomposition de la chaîne protéique en quatre Cα. Et enfin l’objet « PROTEIN » qui regroupe tout ce qu’on a cité ci-dessus comme objets élémentaires. Il convient de noter qu’il faut pas confondre la protéine avec l’objet « PROTEIN », car cet objet modélise la ma- cromolécule qui peut contenir une ou plusieurs chaînes de protéines, de l’ADN ou de l’ARN. À chaque « PROTEIN », nous associons un objet « 3D_STRUCTURE », formé des coordonnées 3D des atomes constituant la macromolécule.

Le parser SAFlex-PDB proposé au cours de ce travail a été implémenté en langage C++, en utilisant l’environnement de développement Code::Blocks [124]. L’implémentation tire donc profit de l’architecture orientée objet. Ainsi, tous les objets cités dans le paragraphe précédent, sont implémentés à l’aide des classes, qui représentent un des concepts fondamentaux de la programmation orientée objet. Le diagramme UML de classes présenté par la figure 2.4 montre l’architecture globale du parser SAFlex-PDB. Il permet de décrire les différentes classes ainsi que les relations établies entre elles. Ces relations sont représentées par un arc dans le diagramme de classe. Quand aux petits chiffres sur un arc entre la classe A et B, ils sont appelés cardinalités et représentent le nombre de B associés à A. Par exemple les cardinalités 1 et * entre la classe « FRAGMENT » et la classe « CHAIN » exprime qu’il faut au moins 1 objet ou plusieurs de la classe « FRAGMENT » pour composer un objet de la classe « CHAIN ».

2.4 Le nouv eau parser SAFlex-PDB Ch apitr e 2. Un n ouv eau parser de fic hiers PDB

Figure 2.4 – Modélisation UML de la structure du parser PDB par un diagramme de classes de données.

page

Chapitre 2. Un nouveau parser de fichiers PDB 2.4 Le nouveau parser SAFlex-PDB

Cette importante tâche d’implémentation a permis maintenant non seulement de récupérer les informations fournies sous forme de texte (alphanumérique) mais aussi de créer les liens entre ces données. Parmi les informations récupérées du fichier PDB nous citons :

– la liste des atomes, – la liste des résidus, – la liste des chaînes, – la liste des protéines, – la liste des sites importants, – la liste des ligands,

– la liste des hélices, – la liste des feuillets,

Le fait de parser consiste à récupérer ces listes en format texte (chaîne de caractères) et à les transformer en format « OBJET », puis à les traiter et à les analyser. Par suite le programme est implémenté de telle façon à afficher les résultats sur écran, à les sauvegarder automatiquement et à générer les fichiers en fonction des données en entrée. Les fichiers résultants sont :

1. le fichier des descripteurs géométriques des fragments calculés à partir des atomes Cα. 2. le fichier des structures secondaires associées à chaque résidu du fragment.

3. le fichier des sites importants des chaînes protéiques résolues dans le fichier PDB. 4. le fichier des noms des résidus contenus dans chaque fragment.

5. le fichier des distances successives entre les atomes Cα.

6. le fichier des séquences de résidus (structures primaires) des chaînes protéiques.

Le parser SAFlex-PDB fournit également pour chaque chaîne les informations suivantes : – son identifiant, son nom, sa longueur (nombre de résidus), son nod’accession.

– le nombre de fragments, la taille de celui-ci et le nombre de descripteurs.

– la présence ou non d’un site important, les résidus qui appartiennent à celui-ci, son type et sa méthode de détection.

– la présence ou non d’un ligand ou d’un partenaire (HETATM). – les résidus manquants ou présents dans la résolution de la chaîne.

– la moyenne et l’écart type de chaque descripteur associées à chaque chaîne. – les outliers associés à chaque descripteur.

L’implémentation du parser SAFlex-PDB a nécessité prés de 9 000 lignes de code C++, pourtant il ne présente qu’une étape préparatoire mais cruciale pour la mise en place de l’alphabet structural pour la communauté scientifique.

Cette section a présenté les différentes étapes de modélisation des macromolécules et l’implémen- tation du parser mais pour plus d’efficacité, il est nécessaire d’optimiser celui-ci et de le paralléliser c’est ce qui fait l’objet de la section suivante.

2.4 Le nouveau parser SAFlex-PDB Chapitre 2. Un nouveau parser de fichiers PDB