Introduction
Avec le développement de la génétique et des nouvelles technologies à très haut débit, nous faisons actuellement face à la production de données à un niveau encore jamais atteint. En effet, il est aujourd’hui démontré que les données produites par les technologies de séquençage à haut débit seront plus importantes que tout ce qui a jamais été produit dans le passé y compris le web lui même ! Nous faisons donc face à de multiples challenges tant pour le stockage de ces données (les nouvelles plateformes de séquençage peuvent produire jusqu’à 0,1 téraoctets de données par heure) que pour leur analyse.
Heureusement, nous ne partons pas de zéro. La communauté scientifique a depuis longtemps compris que la bonne utilisation des données pouvait permettre
d’accélérer les découvertes scientifiques et ceci a rapidement conduit à l’émergence d’une nouvelle discipline : la bioinformatique.
L’objectif de ce cours est donc de faire le point sur les apports de la bioinformatique notamment par les différentes bases de données et outils bioinformatiques qu’elle a permis de créer ces dernières années et qui sont aujourd’hui autant d’outils incontournables pour les généticiens.
1
-
Concepts
1
.
1
-
La bioinformatique
Lors de sa création, la bioinformatique correspondait à l’utilisation de l’informatique pour stocker et analyser les données de la biologie moléculaire. Cette définition originale a maintenant été étendue et le terme bioinformatique est souvent associé à l’utilisation de l’informatique pour résoudre les problèmes scientifiques posés par la biologie dans son ensemble. Il s’agit dans tous les cas d’un champ de recherche multidisciplinaire qui associe informaticiens, mathématiciens, physiciens et biologistes.
Comme le décrit très bien Jean-Michel Claverie : "La bioinformatique est constituée par l’ensemble des concepts et des techniques nécessaires à l’interprétation de l’information génétique (séquences) et structurale (repliement 3-D). C’est le décryptage de la "bio-information" ("Computational Biology" en anglais). La bioinformatique est donc une branche théorique de la Biologie. Son but, comme tout volet théorique d’une discipline, est d’effectuer la synthèse des données disponibles (à l’aide de modèles et de théories), d’énoncer des hypothèses généralisatrices (ex. :comment les protéines se replient ou comment les espèces évoluent), et de formuler des prédictions (ex. : localiser ou prédire la fonction d’un gène)".
Pour aboutir à la formulation de ces modèles et à ces prédictions, il est indispensable de tout d’abord collecter et organiser les données à travers la création de bases de données.
1
.
2
-
Les bases de données
Une base de données est un ensemble structuré et organisé permettant le stockage de grandes quantités d’informations afin d’en faciliter leur utilisation (ajout, mise à jour, recherche et éventuellement analyse dans les systèmes les plus évolués que nous verrons par la suite).
Elles sont toutes organisées en fonction d’un modèle de données (data model) qui peut être de différents types : modèle hiérarchique (hierarchical model), modèle en réseau (network model), modèle relationnel (relational model), modèle orienté objet (object-oriented model), modèle semi structuré (semistructured model), modèle associatif (associative model), modèle EAV (Entity-Attribute-Value data model) ou encore modèle contextuel (context model). [Pour en savoir plus : database models ].
L’un des modèles les plus utilisés aujourd’hui est le modèle de bases de données relationnelles qui a été inventé un 1970 par Edgar Frank Codd.
Ce modèle repose ainsi sur les 12 règles de Cood (source Wikipédia):
Règle 1 : Unicité :
Toute l'information dans la base de données est représentée d'une et une seule manière, à savoir par des valeurs dans des champs de colonnes de tables.
Règle 2 : Garantie d'accès :
Toutes les données doivent être accessibles sans ambiguïté. Cette règle est essentiellement un ajustement de la condition fondamentale pour des clefs primaires. Elle indique que chaque valeur scalaire individuelle dans la base de données doit être logiquement accessible en indiquant le nom de la table contenante, le nom de la colonne contenante et la valeur principale primaire de la rangée contenante.
Règle 3 : Traitement des valeurs nulles :
Le système de gestion de bases de données doit permettre à chaque champ de demeurer nul (ou vide). Spécifiquement, il doit soutenir une représentation "d'information manquante et d'information inapplicable" qui est systématique, distincte de toutes les valeurs régulières (par exemple, "distincte de zéro ou tous autres nombres," dans le cas des valeurs numériques), et ce indépendamment du type de données. Cela implique également que de telles représentations doivent être gérées par le système de gestion de bases de données d'une manière systématique.
Règle 4 : Catalogue lui-même relationnel :
Le système doit supporter un catalogue en ligne, intégré, relationnel, accessible aux utilisateurs autorisés au moyen de leur langage d'interrogation régulier. Les utilisateurs doivent donc pouvoir accéder à la structure de la base de données (catalogue) employant le même langage d'interrogation qu'ils emploient pour accéder aux données de la base de données.
Règle 5 : Sous-langage de données :
Le système doit soutenir au moins un langage relationnel qui : a une syntaxe linéaire ; peut être employé interactivement et dans des programmes d'application ; supporte des opérations de définition d'informations supplémentaires (incluant des définitions de vues), de manipulation de données (mise à jour aussi bien que la récupération), de contraintes de sécurité et d'intégrité, et des opérations de gestion de transaction (commencer, valider et annuler une transaction).
Règle 6 : Mise à jour des vues :
Toutes les vues pouvant théoriquement être mises à jour doivent pouvoir l'être par le système.
Règle 7 : Insertion, mise à jour, et effacement de haut niveau :
Le système doit supporter les opération par lot d'insertion, de mise à jour et de suppression. Ceci signifie que des données peuvent être extraites d'une base de données relationnelle dans des ensembles constitués par des données issues de plusieurs tuples et/ou de multiples table. Cette règle explique que l'insertion, la mise à jour, et les opérations d'effacement devraient être supportées aussi bien pour des lots de tuples issues de plusieurs tables que juste pour un tuple unique issu d'une table unique.
Règle 8 : Indépendance physique :
Les modifications au niveau physique (comment les données sont stockées, si dans les rangées ou les listes liées etc...) ne nécessitent pas un changement d'une application basée sur les structures.
Règle 9 : Indépendance logique :
Les changements au niveau logique (tables, colonnes, rangées, etc) ne doivent pas exiger un changement dans l'application basée sur les structures. L'indépendance de données logiques est plus difficile à atteindre que l'indépendance de donnée physique.
Règle 10 : Indépendance d'intégrité :
Des contraintes d'intégrité doivent être indiquées séparément des programmes d'application et être stockées dans le catalogue. Il doit être possible de changer de telles contraintes au fur et à mesure sans affecter inutilement les applications existantes.
Règle 11 : Indépendance de distribution :
La distribution des parties de la base de données à de diverses localisations doit être invisible aux utilisateurs de la base de données. Les applications existantes doivent continuer à fonctionner avec succès : quand une version distribuée du système de gestion de bases de données est d'abord présentée ; et quand des données existantes sont redistribués dans le système.
Règle 12 : Règle de non-subversion :
Si le système fournit une interface de bas niveau, cette interface ne doit pas permettre de contourner le système (par exemple une contrainte relationnelle de sécurité ou d'intégrité).
Afin de créer ces banques de données relationnelles, il est nécessaire d’avoir recours à un système informatique nommé Système de Gestion de Bases de Données Relationnel (SGBDR) dont les plus connus sont : Oracle, Access, SQLServer, Informix, Sybase, DB2, MySQL, 4D, Filmaker…
Ces SGBDR permettent alors d’accéder à la base de données directement via Internet afin d’en assurer la diffusion la plus large possible.
1/6