• Aucun résultat trouvé

III. LES APPROCHES D’INTÉGRATION EN BIOINFORMATIQUE

2. LES APPROCHES EN BIOINFORMATIQUE

2.1. L’approche non matérialisée

2.1.1. La médiation

Un système de médiation est composé d’un médiateur et d’adaptateurs (wrappers) qui sont spécifiques à une source donnée (Figure 9). Le médiateur est constitué d’un schéma global (ou ontologie) qui représente le domaine d’application du système, il reçoit la requête de l’utilisateur dans le langage de requête global. La requête est traitée au niveau du médiateur.

La phase de réécriture consiste à identifier les sources pertinentes à utiliser pour répondre à la requête, et à établir un plan de requête. Ce dernier décompose la requête globale en sous-requêtes propres à chaque adaptateur et indique comment les combiner pour former le résultat final. Chaque adaptateur reçoit sa sous-requête, exprimée selon son propre schéma local. Il la traduit pour interroger la source locale de données.

Figure 9 – Architecture d’un système médiateur

Adaptateur1

Réécritures et réponses

Adaptateurn Adaptateuri

Moteur de requêtes Schéma

global 1

Vue source

1

Vue source

i

Vue source

n

Requêtes et réponses

Schéma local 1

Schéma local i

Schéma local n

Médiateur

Les systèmes de médiation sont caractérisés par la manière dont les schémas des sources sont liés au schéma global (Levy, 1999). On distingue deux approches différentes (figure 10).

Figure 10 – Les approches GAV (Global As View) et LAV (Local As View)

Les angles indiquent des définitions de vues. Dans l’approche GAV les classes du schéma global sont définies comme des vues sur les schémas locaux des sources. Dans l’approche LAV, les classes des schémas locaux des sources sont définies comme des vues sur le schéma global.

La première approche, dite GAV (Global As View) consiste à définir le schéma global comme une vue sur les schémas locaux des sources. La réécriture des requêtes est simple. Elle consiste à remplacer les termes de la requête globale par leurs définitions dans les vues locales. Par contre, il est difficile d’ajouter de nouvelles sources au système. En effet, il faut tenir compte des modifications que vont porter les nouvelles relations dans l’expression du schéma global. Ceci revient pratiquement à réécrire toutes les relations de ce schéma. Dans la seconde approche, dite LAV (Local As View) les sources locales sont définies comme des vues sur le schéma global. Avec cette approche, la réécriture des requêtes est en général plus complexe. En revanche, l’ajout d’une nouvelle source est facilité car il n’a pas de répercussion sur le schéma global.

La médiation est largement utilisée comme solution d’intégration non matérialisée en bioinformatique. Cependant, quelques systèmes ont été développés avant l’essor de la médiation et suivent plutôt une approche de type bases de données fédérées. Selon cette approche, chaque schéma d’une base de données à fédérer est transformé en schéma

« composant » basé sur le modèle de données commun du système. Cette transformation permet d’avoir tous les schémas des bases à fédérer exprimés dans un même modèle de données. Des « schémas d’export » représentant des sous-ensembles d’un « schéma composant » sont construits. Ils représentent l’ensemble des données mises à la disposition du système fédéré. Enfin, des « schémas fédérés » sont bâtis à partir de plusieurs « schémas d’export » pour répondre aux besoins des différentes applications liées au système fédéré.

Parmi les systèmes développés selon l’approche bases de données fédérées, citons TINet un

Schéma global Schéma global

Source de données Source de données Source de données Source de données

GAV LAV

2.1.1.2. Systèmes utilisant l’approche de médiation (1) K2/Kleisli

Le système K2 (Davidson et al., 2001), initialement BioKleisli (Davidson et al., 1997) a été développé à l’Université de Pennsylvanie, il est l’un des premiers systèmes de médiation a avoir vu le jour en bioinformatique.

Le médiateur de BioKleisli repose sur un langage de requête de haut niveau, plus expressif que le SQL et qui permet d’interroger plusieurs sources : le CPL (Collection Programming Language) (Hart et al., 1994). En effet, le langage CPL permet de décomposer une requête complexe en sous-requêtes qui vont être distribuées aux sources concernées par le biais d’adaptateurs. Le système permet d’interroger autant de sources qu’il intègre d’adaptateurs.

Ainsi, il intègre les données sur les voies métaboliques de KEGG52 (Kyoto Encyclopedia of Genes and Genomes) (Kanehisa and Goto, 2000) et EcoCyc53 (Encyclopedia of Escherichia coli) (Keseler et al., 2005), sur les séquences nucléiques de GenBank et dbEST54 (Expressed Sequence Tags database) (Boguski et al., 1993), des données spécifiques d’organismes de MGD et de GDB55 (human Genome DataBase) (Pearson et al., 1992), des données issues de la recherche de similarités de séquences en utilisant BLAST (Altschul et al., 1990) et l’ensemble des données indexées par SRS56 (Sequence Retrieval System) (Zdobnov et al., 2002). BioKleisli est basé sur un schéma orienté objet.

Dans K2, la nouvelle version de BioKleisli, le langage CPL a été remplacé par OQL, un langage plus couramment utilisé car plus proche de la syntaxe du SQL. Un autre aspect intéressant de K2 est la possibilité pour l’utilisateur de définir des vues sur les données non seulement par le biais de requêtes OQL, mais également par la création de nouvelles classes objet. C’est le langage K2MDL (K2 Mediator Definition Language), combinaison du langage ODL (Object Definition Language) et de la syntaxe OQL qui permet à l’utilisateur de créer de nouvelles classes en spécifiant comment leurs attributs sont instanciés par les sources de données. Ces nouvelles vues peuvent ensuite être interrogées par OQL.

2.1.1.3. TAMBIS

Le système TAMBIS a été développé à l’université de Manchester (Baker et al., 1998).

L’originalité du système est d’être basé sur une ontologie, Tambis Ontology (Baker et al., 1999) ou TaO qui permet à l’utilisateur de définir sa requête via une interface en s’appuyant sur les concepts définis dans TaO.

TaO exprime les concepts majeurs de la biologie en utilisant la logique de description GRAIL (Rector et al., 1997). Les concepts sont organisés en hiérarchie, et les rôles assurent des relations binaires entre concepts. Ainsi, lorsqu’un utilisateur pose une requête, il explore

52 http://www.genome.ad.jp/kegg/

53 http://ecocyc.org/

54 http://www.ncbi.nlm.nih.gov/dbEST/

55 http://gdbwww.gdb.org/

56 http://srs.ebi.ac.uk/

l’ontologie et choisit la combinaison de concepts et de rôles nécessaires à la formulation de sa requête. Par exemple, pour connaître un type particulier de motif dans une protéine, les concepts ‘Motif’ et ‘Protein’ et le rôle ‘IsComponentOf’ qui les associe sont sélectionnés ; un nouveau concept est construit automatiquement dans le langage GRAIL. Ce nouveau terme est positionné dans la hiérarchie de concepts de TaO. En fonction de sa position, un plan d’exécution de requêtes prédéfinies est généré correspondant à un ensemble de sous requêtes à soumettre à des sources différentes. Ces requêtes sont converties dans le langage CPL de K2, assurant ainsi la transformation des requêtes pour adopter les paramètres propres aux sources de données. Le résultat du plan de requêtes est ensuite délivré à l’utilisateur au format HTML.

TaO a ensuite été traduite dans le langage DAML+OIL (anciennement OIL) (Stevens et al., 2002), puis OWL qui sont des langages plus expressifs.

Ainsi, TAMBIS fournit un accès transparent aux sources de données où l’utilisateur n’a besoin ni de connaître les sources à interroger pour une requête donnée, ni d’être familier avec un langage de requête particulier.

2.1.1.4. BACIIS

Dans le même esprit que TAMBIS, le système BACIIS (Biological and Chemical Information Integration System) utilise l’approche médiateur et repose sur une ontologie (Mahoui et al., 2005). Les requêtes sont construites à partir des concepts de l’ontologie, puis décomposées pour être distribuées aux sources requises. Chaque source est associée à un adaptateur qui assure l’exécution de la requête sur la source concernée ainsi que la récupération des résultats.

La particularité de BACIIS est l’intégration d’un plus grand nombre de sources de données.

Les concepteurs du système considèrent en effet que l’intégration de sources de données chevauchantes, par exemple deux banques de données protéiques, permet d’obtenir des résultats plus pertinents. En effet, BACIIS fournit des solutions au problème d’absence de données dans certaines sources, et de conflits entre données dus aux inconsistances dans les sources de données. Ceci est effectué par une évaluation de la correspondance sémantique entre deux objets de sources différentes. Un algorithme permet d’éliminer les données sémantiquement distantes dans le processus d’intégration.