Title: RoadMap Informatique
1RoadMap Informatique
Laboratoire EGEE
PHYGENIX Entreprise émergeante(www.phygenix.com)
DESS CCI / Luminy - Option BioInformatiqueUniver
sité de Provence - Faculté St-charles 2004
PHYGENIX - Philippe Gouret - Directeur
Informatique
2RoadMap Informatique
Présentation
Philippe Gouret Luminy 1989 DEA Informatique et
Mathématique - Option Intelligence
Artificielle logiciel de reconnaissance vocale
temps réel destiné à la saisie de séquences
ADN Activité d'Ingénieur Informatique
(Architecte, Chef de Projet), pendant 12 ans
quelques réalisations - pour Gemplus
plusieurs logiciels dans le domaine du GSM
administration d'une carte SIM, simulateur
de SMSC, modélisation carte, envoi d'E-SMS,
... - création d'un produit de gestion (en
réseau) de planning clinique (chambre,
bloc opératoire, ressources, ...) (est en
production à la clinique St-Jean de Toulon) -
pour UNISYS et le CEA, moteur de navigation
hypertexte destiné à accompagner des systèmes
experts embarqués - pour THOMSON-CDC,
simulateur de consoles radars militaires, sert à
la conception de matériel radar 2001,
Rencontre avec l'incubateur Grand Luminy ,
Pierre Pontarotti et Etienne Danchin.
Entreprise de service dans la génomique,
annotation structurale et fonctionnelle PHYGENIX
3RoadMap Informatique
Introduction
La bioinformatique se limite souvent à - la
programmation informatique d'algorithmes de
calculs (Genscan (Markov), Blast, ...), - la
mise en place de bases de données biologiques -
l'écriture de scripts système jetables pour
enchaîner quelques opérations. Montrer qu'il
est possible de réaliser d'autres types d'outil
informatique appliqués à la biologie Exemple
dans la génomique, de la plate-forme informatique
?GENIX, développée depuis 2 ans au sein du
laboratoire d'Evolution Biologique.
Objectifs - constituer l'outil de base de
l'activité de service de l'entreprise
TARGETIC - intégrer les concepts du laboratoire
(Evolution) gt obtenir une annotation de qualité
optimum - modéliser et centraliser les
méthodes pratiquées au laboratoire - en retour,
utilisation en recherche sur l'Evolution par les
chercheurs de ce laboratoire Les scientifiques
du laboratoire, ainsi que plusieurs stagiaires du
DESS d'Informatique (Luminy) et du DESS CCI
(Luminy) ont collaborés activement à la
réalisation de cette plate-forme. La
présentation abordera les réalisations passées,
présentes et futures
4RoadMap Informatique
La Rencontre (1)
Quelle est votre activité, comment
utilisez-vous l'outil informatique ? nous
sommes des spécialistes de l'étude de l'Evolution
et pour cela nous procédons à l'annotation
structurale et fonctionnelle des gènes nous
aimerions automatiser des tâches complexes comme
la phylogénie, que nous réalisons à la main
en enchaînant le lancement de tas de petits
logiciels algorithmiques nous pensons qu'une
activité d'entreprise peut exister à partir de
ces technologies Sur quels types de données
travaillez-vous et quels sont les volumes
manipulés ? nous sommes face à de grandes
quantités de séquences stoquées dans des bases de
données (NCBI), ainsi qu'à une masse trés
importante de données fonctionnelles disponibles
sur le Web. il y a une multitude de formats
de données acceptés ou non par les logiciels et
malheureusement les formats produits en sortie de
certains outils ne sont pas acceptés en entrée
des autres
5RoadMap Informatique
La Rencontre (2)
Travaillez-vous en groupe, partagez-vous les
données, sous quelles formes ? oui nous
échangeons des données, sous forme d'une
multitude de fichiers, on en a un peu partout
Comment visualisez-vous vos données, quel type
d'interface graphique vous convient ? nous
avons quelques outils d'affichage, mais ils ne
sont pas parfaitement adaptés à nos besoins.
Sinon nous passons beaucoup de temps sur Internet
et nous aimons travailler à travers un navigateur
Web Le constat devient rapidement
évident Des techniques d'informatique
industrielle peuvent être appliquées dans ce
domaine - pour ordonner, faciliter, accélérer
et capitaliser le travail fourni - pour rendre
possible l'émergence d'une société commerciale
6RoadMap Informatique
Architecture (1)
Décision de réaliser une plate-forme automatisant
les tâches d'annotations structurales et
fonctionnelles et centralisant les résultats
produits. (plate-forme ensemble de logiciels
serveurs autorisant la connexion simultanée de
plusieurs utilisateurs en assumant la persistance
des données, leur consultation, la sécurité, la
traçabilité, ...) Principaux critères de choix
technologiques - manque de moyens financiers
pour acheter des logiciels - souhait d'une
plate-forme portable - l'outil doit être
utilisable dans un laboratoire de recherche et
dans l'entreprise associée - absorber la montée
en charge gt autoriser un déploiement réparti sur
plusieurs CPU - ouverture de l'architecture pour
de futurs développements (J2EE, ...) -
technologies porteuses Choix ( Open
Source , gratuit) - Linux - Java (RMI, JDBC,
SWING, JSP, ...) - PROLOG (moteur sur Java) -
POSTGRES - XML / XSL - Apache / Tomcat
7RoadMap Informatique
Architecture (2)
?GENIX plate-forme multi-utilisateurs
Genomic Data
Repository Load Balancing, Security
Web Server
8RoadMap Informatique
Automatisation (1)
Modèle de Tâche ltgt graphe orienté cyclique -
un noeud initial, plusieurs noeuds terminaux - un
noeud ltgt un outil génomique - arc ltgt lien
entre le flux de sortie d'un outil et les flux
d'entrée d'un autre outil - tâche ltgt instance
du modèle, son exécution consiste à faire
circuler un flux de données à travers les outils
présents dans le graphe - un outil s'exécute
quand l'ensemble des outils connexes le précédent
dans le graphe vérifie certaines conditions
Remarque Un modèle peut être une composition
de plusieurs autres modèles
9RoadMap Informatique
Automatisation (2)
Remarque Le moteur d'annotation est capable
d'exécuter simultanément plusieurs taches.
10RoadMap Informatique
Automatisation (3)
On trouve plusieurs types de briques outil
intégrées dans les modèles de tâches -
fournisseur de séquence - alimenter une tâche
gt placé en tête du graphe du modèle de
tâche - énumére des séquences à partir d'un
flux Fasta (fichier, séquenceur, bases de
données, brique précédente dans le modèle de
tâche,...) - outil algorithmique - choix
d'utiliser les meilleurs outils mathématiques
disponibles BLAST, GenScan, HMMGen,
Clustal, PAUP, PUZZLE, ... (E/S du processus
pilotées par la tâche) - comparateur -
permet d'orienter le flux vers des outils plutôt
que d'autres - filtre / convertisseur -
purifie le flux d'entrée (ex élimination de
doublons), convertit d'un format dans un
autre - producteur de résultat - générer
un résultat scientifique important associé et
mémorisé (BD) pour la tâche - référence à un
modèle (composition) inclusion complète d'un
modèle au niveau de la brique y faisant référence
11RoadMap Informatique
Automatisation (4) / Expertise
Cela ne suffit pas entre deux étapes d'un
processus d'annotation génomique manuel , les
biologistes interviennent pour - analyser les
données produites - éventuellement les modifier
(en extraire une sous-partie) - prendre des
décisions orientant les traitements vers telle ou
telle approche Deux possibilités -
interrompre une tâche exécutée par le moteur
d'annotation pour interaction avec
l'utilisateur gt la tâche est bloquée
jusqu'à intervention du biologiste gt interdit
des lancements en batch - développer un
système informatique autonome capable de prendre
les décisions automatiquement et à la place
du biologiste, en fait un système expert Pour
réaliser ce système, le choix technique s'appuie
sur les critères suivants - nécessité d'un
langage concis pour modéliser des règles
biologiques claires - nombreuses manipulations
de listes (ex listes de coordonnées d'exons) -
nombreuses manipulations d'arbres
(phylogénétiques)
12RoadMap Informatique
Expertise / Modélisation (1)
PROLOG est un langage basé sur la logique du
premier ordre, adapté aux traitements de listes
et d'arbres. (Luminy 1972) Un programme Prolog se
décompose en règles logiques exécutées par un
interpréteur ( machine Prolog ) exemple
splicing alternatif (trivial) soit une liste
d'exons (coordonnées sur une séquence
ADN) 12,134, 556, 1289, 3378,
4002 supposons que l'on souhaite générer
toutes les combinaisons d'exons possibles, on
écrit alternate_splicing(, ). alternate_spli
cing(ExonList, Result) - alternate_splicing(Li
st, Result). alternate_splicing(ExonList,
ExonResult) - alternate_splicing(List,
Result). en lançant gt alternate_splicing(12,13
4, 556, 1289, 3378, 4002, Result). on
obtient les 8 résultats possibles '',
3378,4001, 556,1289,
556,1289,3378,4001, 12,134,
12,134,3378,4001, 12,134,556,1289,
12,134,556,1289,3378,4001
13RoadMap Informatique
Expertise / Modélisation (2)
trees_fusion('npl_A,n,p,l,npl',
'1_at_2_at_3,4,5,6,7_at_8_at_9') -
full_congruance(0), full_congruance(1),
!. trees_fusion('npl_A,n,p,l,npl',
'1_at_2_at_3,4,5,6,7_at_8_at_9') -
full_congruance(0), partial_congruance(1, _,
_), !. trees_fusion('npl_A,n,p,l,npl',
'1_at_2_at_3,4,5,6,7_at_8_at_9') -
full_congruance(1), partial_congruance(0, _,
_), !. trees_fusion('npl_T,n,p,l,npl',
'1_at_2_at_3,4,5,6,7_at_8_at_9') -
full_congruance(0), no_congruance(1),
!. trees_fusion('npl_H,n,p,l,npl',
'1_at_2_at_3,4,5,6,7_at_8_at_9') -
full_congruance(1), no_congruance(0),
!. trees_fusion('n,p,l,npl',
'4,5,6,7_at_8_at_9') - no_congruance(0),
no_congruance(1), !. trees_fusion('n,p,l,npl',
'4,5,6,7_at_8_at_9') - no_congruance(0),
partial_congruance(1, _, _), !. trees_fusion('n,
p,l,npl', '4,5,6,7_at_8_at_9') -
no_congruance(1), partial_congruance(0, _, _),
!. trees_fusion(Titles0, Fusion0) -
partial_congruance(0, Titles0, Fusion0),
partial_congruance(1, Titles1, Fusion1),
Titles0 Titles1, Fusion0 Fusion1, !.
Exemple de base de connaissance fusion d'arbres
phylogénétiques soient 3 arbres phylogénétiques
produits par les algorithmes NeighborJoining,
maximum LikelyHood, Parcimony soient 2 tests
appliqués sur chacun de ces arbres Templeton,
Hasegawa posons T1 ou H1 quand le test passe sur
les 3 arbres posons T2 ou H2 quand le test passe
sur 2 arbres posons T3 ou H3 quand le test passe
au plus sur 1 arbre T1 T2 T3 H1 fusio
n 3 arbres fusion 3 arbres fusion 3 arbres sur
NJ, label T/H sur NJ, label T/H sur NJ, label
H H2 fusion 3 arbres fusion best avec pas
de fusion sur NJ, label T/H arbre
congruant H3 fusion 3 arbres pas de
fusion pas de fusion sur NJ, label T
14RoadMap Informatique
Expertise / Modélisation (3)
- Système Expert est un des programmes serveurs
de ?GENIX, (reçoit des requêtes provenant du
moteur d'annotation) - héberge pour chaque
tâche un monde Prolog (univers de la
tâche) (moteur insére des données dans ces
mondes (assert))
- moteur Prolog utilisé est GNU Prolog for
Java (Constantin Plotnikov) gt plate-forme
reste 100 pure Java gt portabilité -
Système Expert utilisé aujourd'hui - méthode
propriétaire de prédiction de gènes, alliant
homologie et données ab-initio (test
HMR95) - contrôle du processus de phylogénie
complexe du laboratoire
Tache 1
Règles
Tache 2
15RoadMap Informatique
Phylogénie
16RoadMap Informatique
Agents de Recherche Web
- fin du processus de phylogénie gt détermination
d'orthologues pour le gène d'intérêt, gt
possibilités de générer un rapport fonctionnel
sur le gène étudié - multiplicité des sources de
données Web (différents formats, sémantiques,
...) -rapport avec des informations expérimental
es, à jour - uniquement celles qui sont
disponibles à l'instant T (on ne garde pas ces
informations dans une base de données (trop
lourd)) - idée d'un système multi-agents
autonomes rapatriant les infos disponibles agent
- serveur informatique autonome et déployé sur
une CPU en réseau - administration et
maintenance propre - peut participer à
plusieurs applications logiciels - communique
par messages - éventuellement mobile -
réalisation d'un prototype fonctionnel gt
ensemble d'agents ramenant des informations sur
les bases GO/Swissprot, GO/wormbase et MGI
17RoadMap Informatique
Fonction
18RoadMap Informatique (futur)
Ontologie (1)
A court terme, le développement de ce système
d'agents va se poursuivre et s'enrichir. On ira
ainsi chercher des informations fonctionnelles
sur les gènes en attaquant - les autres bases
GO (NR), - OMIM, - bases d'informations
fonctionnelles sur les EST, - des données
produites au laboratoire - ... Si notre but est
de rendre l'analyse, la confrontation, la
synthèse et les déductions possibles, pour ces
données, un problème évident se pose -
comment rendre cohérent l'ensemble des
informations ramenées par les agents ? La
solution est la défintion d'une ontologie, c'est
à dire un univers sémantique commun (un
vocabulaire précis) à tous ces agents, mais qui
en fait modélise l'activité scientifique d'une
partie du laboratoire. A moyen/long terme, et de
manière plus générale, les objectifs sont -
de batir un système d'information scientifique
(base de données) dans lequel le biologiste
pourrait naviguer pour faciliter ses
recherches. - de mettre en place un nouveau
système expert répondant directement à des
questions scientifiques de plus haut niveau.
19RoadMap Informatique (futur)
Ontologie (2)
Exemple Ontologie d'un arbre PhyloGénétique (triv
ial, incomplet, non unique, faux ?,...) (basée
sur DL Description Logic) (équivalent à un
réseaux sémantique (graphe)
G0
G1
S0
D1
D0
TBOX la terminologie les Concepts
Elémentaires noeud les Rôles possèdeParent
, estDuplication, estSpéciation les Concepts
dérivés séquence_de_gene ?
noeud, parmis les noeud, il y a les
séquence_de_gene duplication ?
noeud parmis les noeud, il y a les
duplication spéciation ? noeud parmis
les noeud, il y a les spéciation racine
??noeud ???possèdeParent.?? est un noeud qui
ne respecte pas possèdeParent feuille
????duplication ???spéciation ce qui n'est
pas duplication ou spéciation avecAncestreSpécia
tion ??noeud ?????possèdeParent.spéciation
????possèdeParent.avecAncestreSpéciation) ortholog
ueAUnGène ??feuille ??avecAncestreSpéciation ABO
X Description du Monde possèdeParent ( S0 , D0
), possèdeParent ( G0 , S0 ), possèdeParent ( G1
, D1 ), possèdeParent ( G3 , D0 ) possèdeParent (
D1 , S0 ), possèdeParent ( G2, D1
), duplication(D0), spéciation(S0),
duplication(D1) Par inférence (moteur système
expert) on peut par exemple déduire
orthologueAUnGène ( G2 )
G2
G3
20RoadMap Informatique (futur)
Ontologie (3)
Démarche en douceur pour arriver à ce
résultats - ne pas imposer par en haut une
approche informatique au laboratoire - faire
remonter du laboratoire, l'information, les
concepts, les méthodes de travail, pour
construire cette ontologie et les logiciels qui
l'exploitent gt coller aux besoins des
chercheurs
21RoadMap Informatique (futur)
HyperGenix
22RoadMap Informatique (futur)
Améliorations des Outils
Prioritairement aux évolutions envisagées dans
les slides précédents, des enrichissements
scientifiques peuvent être réalisés sur la
plate-forme - pour ne pas limiter le dataset
de phylogénie aux séquences parfois incomplètes
ou erronées contenues dans les bases de
données (NR) - utilisation de bases
d'EST - réannotation structurale des bases
protéïques par retour au génomique - détection
de shifts fonctionnels, afin de détecter des
bizarreries au niveau des comportements
fonctionnel d'orthologues (leptine) -
découpage de familles multi-géniques, pour une
phylogénie par paquet et une étude de ces
familles Parrallèlement à tous cela, est
nécessaire - amélioration d'algorithmes
mathématiques (Etienne Pardoux) - poursuite de
l'affinage du processus de phylogénie (André
Gilles) ...
23RoadMap Informatique (futur)
Interfaces Graphiques
- visualiser sous forme graphique la plus grande
partie des données scientifiques produites
par ?Genix (séquences, alignements, génes
prédits, Blast, domaines, sites éliminés dans
des séquences, arbres phylogénétiques, ...) -
les types de données évolueront avec le temps, il
faut pouvoir regrouper visuellement plusieurs
résultats, il faut pouvoir mettre des
commentaires sur les résultats
- il faut donc réaliser un système de framework
graphique dans lequel peuvent s'installer toutes
sortes d'outils dédiés à des affichages
spécifiques. On utilisera un design pattern de
type MVC étendu pour accepter des plugins de
modèles et de vues.
- l'édition graphique des modèles de procédés
(pipelines) exécutés par le moteur
d'annotation doit également devenir une
réalité - faciliter la maintenance de ces
modèles. - composition de modèles sur mesure
par les biologistes
24RoadMap Informatique (futur)
Industriel
Pour transformer ?Genix en vrai plate-forme
informatique industrielle, un certain nombre de
développements informatiques complémentaires
doivent être réalisés (la décision de lancer ces
développements n'est pas encore prise) - Mise
en place d'un Système d'Information dédié à
l'activité entreprise et supporté par le
serveur de bases de données acceuillant
aujourd'hui uniquement des données associées
aux tâches d'annotation - Gestion de la
sécurité identification, tracabilité,
cryptage - Tolérance aux pannes / Répartition
de la charge (une partie est déjà réalisée) -
Journalisation - Outils de test, de
déploiement, d'administration, ... ...
25RoadMap Informatique (futur)
Conclusion
- de grands chantiers informatiques
restent à ouvrir dans la biologie, on peut penser
que ce type de réalisation accélerera
considérablement les résultats de la recherche
scientifique publique ou privée...
26RoadMap Informatique (futur)
Projets DESS CCI
- Editeur de pipe-lines bioinformatiques (Ja
va/Swing/XML, JGraph) Il s'agit d'un logiciel
graphique permettant d'éditer les graphes formant
les modèles de tâches exécutés par le moteur
d'annotation de la plate-forme - Evolutions du
système multi-agents (Java/XML/RMI, HTML) Nous
disposons aujourd'hui d'un ensemble de quatres
agents informatiques responsables de récupération
de données fonctionnelles expérimentales sur les
gènes à partir de bases de données Web
(GO/Swissprot, GO/Wormbase, MGI). Il faut ici
étendre le système en développant trois nouveaux
agents pour les bases GO/NR, OMIM,
EST/NCBI. Améliorer l'agent de synthèse
responsable de la fabrication du rapport
fonctionnel. -Plugins d'affichage de données
génomiques (Java/Swing/Java2D/XML) Un logiciel
graphique pouvant acceuillir des plugins dédiés à
la représentation de données, en particuliers
scientifique existe. Il s'agit de réaliser
plusieurs plugins associés chacun à la
représentation de résultats produits par la
plate-frome d'annotation Blast, Alignement,
Arbre phylogénétique, Domaines, Prédictions de
gènes, Séquences. - IHM d'édition et de
sélection d'espèce (Java/Swing/JDBC) L'arbre
de la vie géré et proposé par le NCBI contient
environ 200.000 entrées (familles, espèces, ...).
Cet arbre est utilisé de plusieurs manières dans
?GENIX. Il faut donc pouvoir éditer graphiquement
cet arbre, ainsi que choisir visuellement une
espèce dans cet arbre. www.javasoft.com / www.jgr
aph.com