620 likes | 730 Views
CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS Centre Régional Languedoc-Roussillon. Spécialité : INFORMATIQUE MÉMOIRE. Présentation. Création d’une application intégrée pour la gestion et l’analyse de données protéomiques. Cédric Bouttes. 1 Contexte et objectifs
E N D
CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS Centre Régional Languedoc-Roussillon Spécialité : INFORMATIQUE MÉMOIRE Présentation Création d’une application intégrée pour la gestion et l’analyse de données protéomiques Cédric Bouttes
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 2.1 Comparaison de séquences 2.2 Recherche de motifs 2.3 Elimination de la redondance 4 Conclusion et perspectives Plan
1 Contexte et objectifs Génoplante Génoplante, programme fédérateur en génomique végétale INRA CNRS IRD CIRAD Biogemma Bioplante
1 Contexte et objectifs Génoplante gène Position des gènes Cartographie génétiques thématique Chromosome Structure des gènes Analyse de séquences / Polymorphisme thématique Séquence d’ADN Transcriptomique thématique Mesure Expression des gènes Produit d’expression des gènes Protéomique thématique I A V P K ATTGCACTCCCTAAG Séquence protéique bioinformatique Fonction des gènes GENOPLANTE INFO Les données génomiques générées dans Génoplante INRA CNRS IRD CIRAD Biogemma Bioplante Données
1 Contexte et objectifs Le SI de Génoplante Transcriptome Protéomique Protéomique Cartographie Génétique Polymorphisme génétique Séquences GnpProt Le système d’information de Génoplante GENOPLANTE INFO GpiIS (Genoplante-info information system) Contexte intégratif utilisateur
1 Contexte et objectifs Le SI de Génoplante Transcriptome Protéomique Protéomique Cartographie Génétique Polymorphisme génétique Séquences GnpProt Un objectif double : Un système intégré (GnpProt) et local (ProteomIs) GENOPLANTE INFO GpiIS (Genoplante-info information system) Contexte intégratif Laboratoires partenaires Protéomique ProteomIs UR1199 Montpellier, URPVI Nantes, UMR 5546 Toulouse, UMR 5019 Grenoble Gestion et visualisation des données de laboratoire Liens avec les bases de données publiques Analyse des données de séquences Contexte local utilisateur utilisateur
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan
2 Gestion et visualisation des données 2.1 Solutions et choix Séparation des protéines Gel 2D (possible 1D ou Liquid chromatographie) ? Echantillon 1 spot Extrait Prélèvement Scan et analyse de l’image du gel 184 Digestion trypsique Interrogation en banque (e.g logiciel Mascot) Analyse par spectrométrie de masse Gestion des données protéomiques : Analyse de l’existant Gestion Des Données Supports de stockages Images gels Fichiers Excel Fichiers textes : Listes de masses Notes papiers Fichiers html : Résultats (Mascot) Fichiers pdf : publications
2 Gestion et visualisation des données Echantillons et extraits 2.1 Solutions et choix Données administratives Séparation des protéines Protocoles Séparation des protéines Gel 2D (possible 1D ou Liquid chromatographie) Identification des proteines ? Echantillon 1 spot Extrait Prélèvement Scan et analyse de l’image du gel 51 classes Digestion trypsique Interrogation en banque (e.g logiciel Mascot) Analyse par spectrométrie de masse Gestion des données protéomiques : Conception du MCD Gestion Des Données BD ProteomIs/GnpProt
2 Gestion et visualisation des données 2.1 Solutions et choix Protocoles Séquences Contacts Extraits Echantillons Contrainte au niveau de la conception du MCD Gestion des données Base de données GpiIS classes communes Transcriptome Protéomique GnpProt Cartographie Génétique Polymorphisme génétique Séquences
2 Gestion et visualisation des données 2.1 Solutions et choix Protocoles Séquences Contacts SGBD relationnel Postgres/Oracle Extraits Echantillons Choix imposé au niveau du SGBD • Dû à la solution d’intégration des données choisi par Génoplante : approche centralisée BD GpiIS relationnelle Gestion des données • Avantages : robustesse, efficacité du SQL, sécurité et intégrité des données Base de données GpiIS Interface SQL Transcriptome Protéomique GnpProt Cartographie Génétique Polymorphisme génétique Séquences
2 Gestion et visualisation des données 2.1 Solutions et choix SAISIE INTERROGATION Format d’échange VISUALISATION Importation (scripts Perl, SQL) consultation INTERFACES Gestion des données protéomiques : Solution retenue Gestion Des Données Saisie ? Consultation ? BD relationnelle ProteomIs/GnpProt répertoire
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan
2 Gestion et visualisation des données Processus de développement 2.2 Réalisation des interfaces • Veille technologique (autour des outils existants : Paris, Protic, PPMdb …) • Cahier des charges (solutions et choix) • Conception du MCD • Analyse / cas d’utilisation (saisie, consultation et analyse des données) • Maquette des interfaces sept 2002 1 ingénieur • Développementdu format d’échange 1 stagiaire • Développement des interfaces - Livraison ProteomIs juin 2004 - Développement des outils d’analyse 2 stagiaires avril 2002 Analyse et conception avril 2003 avril 2004 - Livraison GnpProt fev 2005
Maquette des interfaces 2 Gestion et visualisation des données 2.2 Réalisation des interfaces • Niveau d’interactivité des interfaces : • Interface de login, d’interrogation ++ • Interfaces de visualisation + • Interface pour naviguer dans l’image des gels ++++ Réaliser l’inventaire des interfaces : • Interface de login (version locale) • Interfaces d’interrogation • Interfaces de visualisation des différents objets de la base (extraits, gels, spots, protéines …) • Interface pour naviguer dans l’image des gels Maquettes Réalisation d’une maquette powerpoint
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan
Analyse des besoins 2 Gestion et visualisation des données 2.2 Réalisation des interfaces Composant applicatif Composant présentation Base de données (SGBD) Application Serveur Application client • Application accessible via Internet (GnpProt) • Utilisant les services d’un SGBD (sur le serveur de Génoplante dans le cas de GnpProt) • Portable (ProteomIs) Outils de développement gratuit (GnpProt et ProteomIs) • Fonctionnant en multi-utilisateurs (GnpProt et ProteomIs) Réalisation d’interfaces statiques (textuelles) et interactives Implémentation Java Serveur Web et d’application (Apache et/ou Tomcat) Serveur de base de données Réseau Poste client (Navigateur) Réseau Poste client Vue = Java Server Pages Requête utilisateur requête http Contrôleur = Servlet (oriente les requêtes, basé sur le Framework Struts) requêtes HTTP Présentation HTML+ JavaScript Serveur Web / Serveur d’application Réseau Serveur de données html Traitements Données Interface d’interrogation SGBD Result = 1 Programme serveur (CGI/PHP/JSP-servlets) Driver (DBI/ /JDBC) Applet NAVIGATEUR Result > 1 Modèle = Java Beans (couche d’accès aux données utilisant ehcache du projet Hibernate) Base de données (SGBD) JDBC Interface de visualisation (details) Interface de visualisation (liste)
Solution retenue 2 Gestion et visualisation des données 2.2 Réalisation des interfaces JDBC Interfaces de visualisation textuelles JSP/Servlets, CGI, PHP (génère le HTML) Formulaire d’interrogation Interface de navigation dans l’image d’un gel Avantage : - Facilité de déploiement - Charge client diminué Inconvenient : - Mode non connecté Implémentation • architecture 3-tiers (ou client léger) Réseau Poste utilisateur Machine(s) serveur HTTP Composant applicatif Composant présentation Base de données (SGBD) HTML java script applet Application client Application serveur Serveur Web et d’application (Apache et/ou Tomcat) Serveur de base de données Réseau Poste client (Navigateur) Réseau Poste client Vue = Java Server Pages Requête utilisateur requête http Contrôleur = Servlet (oriente les requêtes, basé sur le Framework Struts) requêtes HTTP Présentation HTML+ JavaScript Serveur Web / Serveur d’application Réseau Serveur de données html Traitements Données Interface d’interrogation SGBD Result = 1 Programme serveur (CGI/PHP/JSP-servlets) Driver (DBI/ /JDBC) Applet NAVIGATEUR Result > 1 Modèle = Java Beans (couche d’accès aux données utilisant ehcache du projet Hibernate) Base de données (SGBD) JDBC Interface de visualisation (details) Interface de visualisation (liste)
Développement de l’applet de navigation dans l’image d’un gel 2 Gestion et visualisation des données 2.2 Réalisation des interfaces « Viewer » de gel de PPMDB Applet permettant d’explorer une carte astronomique (source : http://www.aao.gov.au/hdfs/Redshifts/hdfmap.html) Applet Serveur Web et d’application (Apache et/ou Tomcat) Serveur de base de données Réseau Poste client (Navigateur) Réseau Poste client Vue = Java Server Pages Requête utilisateur requête http Contrôleur = Servlet (oriente les requêtes, basé sur le Framework Struts) requêtes HTTP Présentation HTML+ JavaScript Serveur Web / Serveur d’application Réseau Serveur de données html Traitements Données Interface d’interrogation SGBD Result = 1 Programme serveur (CGI/PHP/JSP-servlets) Driver (DBI/ /JDBC) Applet NAVIGATEUR Result > 1 Modèle = Java Beans (couche d’accès aux données utilisant ehcache du projet Hibernate) Base de données (SGBD) JDBC Interface de visualisation (details) Interface de visualisation (liste)
Solution retenue 2 Gestion et visualisation des données 2.2 Réalisation des interfaces JDBC Interfaces de visualisation textuelles JSP/Servlets, CGI, PHP (génère le HTML) Formulaire d’interrogation Interface de navigation dans l’image d’un gel Architecture 3-tiers • architecture 3-tiers (ou client léger) Réseau Machine serveur Poste utilisateur HTTP Composant applicatif Composant présentation Base de données (SGBD) HTML java script applet Application client Serveur Web et d’application (Apache et/ou Tomcat) Serveur de base de données Réseau Poste client (Navigateur) Réseau Poste client Vue = Java Server Pages Requête utilisateur requête http Contrôleur = Servlet (oriente les requêtes, basé sur le Framework Struts) requêtes HTTP Présentation HTML+ JavaScript Serveur Web / Serveur d’application Réseau Serveur de données html Traitements Données Interface d’interrogation SGBD Result = 1 Programme serveur (CGI/PHP/JSP-servlets) Driver (DBI/ /JDBC) Applet NAVIGATEUR Result > 1 Modèle = Java Beans (couche d’accès aux données utilisant ehcache du projet Hibernate) Base de données (SGBD) JDBC Interface de visualisation (details) Interface de visualisation (liste)
Solution retenue côté serveur : JSP/Servlet 2 Gestion et visualisation des données 2.2 Réalisation des interfaces • Avantage des Servlets sur la solution Perl/CGI : • - Avantages liés à java • Servlet + rapide (compilé) qu’un programme Perl (interprété) • Servlet conservé en mémoire (threads) : meilleures performances, conservation de l’état Avantages JSP Pourquoi des JSP (Java Server Pages) en plus ? • Avantage des JSP : • - Séparation du codage de l’aspect présentation (JSP) des traitements (Java Beans) • Utilisation de balise spécifique (avantage sur PHP) Serveur Web et d’application (Apache et/ou Tomcat) Serveur de base de données Réseau Poste client (Navigateur) Réseau Poste client Vue = Java Server Pages Requête utilisateur requête http Contrôleur = Servlet (oriente les requêtes, basé sur le Framework Struts) requêtes HTTP Présentation HTML+ JavaScript Serveur Web / Serveur d’application Réseau Serveur de données html Traitements Données Interface d’interrogation SGBD Result = 1 Programme serveur (CGI/PHP/JSP-servlets) Driver (DBI/ /JDBC) Applet NAVIGATEUR Result > 1 Modèle = Java Beans (couche d’accès aux données utilisant ehcache du projet Hibernate) Base de données (SGBD) JDBC Interface de visualisation (details) Interface de visualisation (liste)
Utilisation du modèle MVC (Modèle Vue Contrôleur) 2 Gestion et visualisation des données 2.2 Réalisation des interfaces basé sur le framework Struts utilise ehcache du projet Hibernate Réseau Poste utilisateur Application Serveur Application client MVC Vue = JSP Contrôleur = Servlet (oriente les requêtes) Réseau Poste client requêtes HTTP Requête utilisateur Interface d’interrogation requête http Présentation HTML+ JavaScript Serveur Web / Serveur d’application Réseau Serveur de données html Result = 1 Traitements Données SGBD Programme serveur (CGI/PHP/JSP-servlets) Driver (DBI/ /JDBC) Applet Result > 1 NAVIGATEUR Modèle = Java Beans (couche d’accès aux données) Base de données (SGBD) Interface de visualisation (details) JDBC Interface de visualisation (liste) Serveur Web et d’application (Apache et/ou Tomcat) Serveur de base de données Réseau Poste client (Navigateur) Réseau Poste client Vue = Java Server Pages Requête utilisateur requête http Contrôleur = Servlet (oriente les requêtes, basé sur le Framework Struts) requêtes HTTP Présentation HTML+ JavaScript Serveur Web / Serveur d’application Réseau Serveur de données html Traitements Données Interface d’interrogation SGBD Result = 1 Programme serveur (CGI/PHP/JSP-servlets) Driver (DBI/ /JDBC) Applet NAVIGATEUR Result > 1 Modèle = Java Beans (couche d’accès aux données utilisant ehcache du projet Hibernate) Base de données (SGBD) JDBC Interface de visualisation (details) Interface de visualisation (liste)
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan
Interface d’interrogation 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces Analyse et conception
Interface d’interrogation 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Interface d’interrogation 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Interface d’interrogation 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Interface d’interrogation 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Interface d’interrogation 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Liste de protéines 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Liste de protéines 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Liste de protéines 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Liste de protéines 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Liste de protéines 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Liste de protéines 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Fiche protéine 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Fiche protéine Liens sur BD publiques 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Fiche protéine Liens sur BD publiques 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Fiche protéine Liens gels 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
Applet de navigation 2 Gestion et visualisation des données Demo 2.2 Réalisation des interfaces
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan Y V N G F G R I G R L V T
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan Y V N G F G R I G R L V T
3 Analyse des données BLAST 3.1 Comparaison de séquences La comparaison de séquences Mon objectif : Fournir un outil permettant de trouver une similarité entre une séquence requête et une des séquences annotées de la base de données ProteomIs Utilité : Proposer des informations complémentaires
La comparaison de séquences 3 Analyse des données BLAST 3.1 Comparaison de séquences Séquence requête IAVPKGIAVPKSLGSLSVAEPAMIAECK Interface de saisie BLAST comparaison Séquence requête ARSHSGGELESSLGSASVAEPAMIAEES ** * * * * IAVPKGIAVPKSLGSLSVAEPAMIAECK Séquence de ProteomIs e-values > 0.1 ARSHSGGELESSLGSASVAEPAMIAEES ProteomIs Interface de visualisation Solution retenue :
1Contexte et objectifs 2Gestion et visualisation des données 2.1 Solutions et choix 2.2 Réalisation des interfaces 2.2.1 Analyse et conception 2.2.2 Choix d’implémentation 2.2.3 Résultats 3 Analyse des données 3.1 Comparaison de séquences 3.2 Recherche de motifs 3.3 Elimination de la redondance 4 Conclusion et perspectives Plan Y V N G F G R I G R L V T
3 Analyse des données Motif 3.2 Recherche de motifs La recherche de motifs dans les séquences protéiques • Définition : - D’un point de vue syntaxique, un motif est un segment continu dans une séquence Séquence : GKVKVGVNGFGRIGRLVTRAAGRIG Motif : GRIG de longueur 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 G K V K V YV N G F G R I G R L V T R A A G R I G Solution : ensemble de positions {11,22} - D’un point de vue biologique, un motif est un élément souvent fonctionnel qui peut-être partagé par toute une famille de protéines
3 Analyse des données Motif 3.2 Recherche de motifs La recherche de motifs dans les séquences protéiques • Thématique du laboratoire :étude des motifs de phosphorylation • Ma mission : construire un outil de recherche des motifsde phosphorylation dans les séquences