Franck VALENTIN franck_valentin@yahoo.fr. 29 septembre 2004



Documents pareils
UTILISATION DE LA PLATEFORME WEB D ANALYSE DE DONNÉES GALAXY

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Annexe : La Programmation Informatique

Visual Paradigm Contraintes inter-associations

Qu'est-ce que c'est??

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Programmation Web. Madalina Croitoru IUT Montpellier

Vérifier la qualité de vos applications logicielle de manière continue

Qu'est-ce que le BPM?

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Éléments de programmation et introduction à Java

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

PROCEDURE D'INSTALLATION OPENREPORTS

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Projet M1 Sujet 21 : Développement d'un logiciel simplifié de type Business Object

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Architectures web/bases de données

Semestre 2 Spécialité «Analyse in silico des complexes macromolécules biologiques-médicaments»

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

ACQUISITION ANALYSE PRÉSENTATION

et Groupe Eyrolles, 2006, ISBN :

Intégration d'un moteur de workflow dans le SI : Dématérialisation des Ordres de misson

Analyse,, Conception des Systèmes Informatiques

Une solution opensource d'affichage dynamique - XIBO

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

SharePoint Foundation 2013 Construire un intranet collaboratif en PME (édition enrichie de vidéos)

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Introduction : présentation de la Business Intelligence

IMO - Informatique, modélisation et optimisation

IFT2255 : Génie logiciel

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Exécution de processus

PloneLabs un gestionnaire de contenu pour les laboratoires

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Ingénieur R&D en bio-informatique

Les diagrammes de modélisation

Drupal (V7) : principes et petite expérience

SECTION 5 BANQUE DE PROJETS

Vulgarisation Java EE Java EE, c est quoi?

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

KMnet Admin LOGICIEL COMPLET ET PERFORMANT D'ADMINISTRATION DES PÉRIPHÉRIQUES.

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Refonte front-office / back-office - Architecture & Conception -

Plateforme de capture et d analyse de sites Web AspirWeb

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

ADMINISTRATEUR WINTEL Dominique MAHIEU 35 ans WINDOWS 2008/2003, ACTIVE DIRECTORY, EXCHANGE, CITRIX, VMWARE

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

PROSOP : un système de gestion de bases de données prosopographiques

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Catalogue Formation «Vanilla»

LICENCE : INFORMATIQUE GENERALE

«Les documents référencés ci-dessus étant protégés par les droits d auteur et soumis à la déclaration au Centre Français d exploitation du droit de

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Business Process Modeling (BPM)

Logiciel EV3 LEGO MINDSTORMS Education

Zimbra. S I A T. T é l : ( ) F a x : ( )

Cours de Génie Logiciel

Projet de développement

Formation en Logiciels Libres. Fiche d inscription

Compte Rendu d intégration d application

Java 7 Les fondamentaux du langage Java

Burckel Thomas. Formation. Compétences

CAHIER DE S CHARGE S Remote Workload Manager

PG208, Projet n 3 : Serveur HTTP évolué

Générer du code à partir d une description de haut niveau

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

ACCORD-CADRE DE TECHNIQUES DE L'INFORMATION ET DE LA COMMUNICATION. PROCEDURE ADAPTEE En application des articles 28 et 76 du Code des Marchés Publics

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Projet Active Object

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

JOnAS Day 5.1. Outils de développements

Citrix XenApp 7.5 Concepts et mise en oeuvre de la virtualisation d'applications

Expert technique J2EE

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Business Intelligence avec SQL Server 2012

Portage et développement de jeux Java sur téléphones mobiles. Licence Professionnelle SIL 25 juin 2007

Manuel d utilisation du site web de l ONRN

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Installation et prise en main

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

DotNet. Plan. Les outils de développement

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

Un serveur d'archivage

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008

Vérification et Validation

Le moteur de workflow JBPM

Pentaho : Comparatif fonctionnel entre la version Communautaire (gratuite) et la version Entreprise (payante) Table des matières

Exécution de processus

Transcription:

Conception et programmation d un gestionnaire graphique de processus bioinformatiques d analyse de séquences et application à l identification des résidus encodant la spécificité de la reconnaissance de l interleukine-2 humaine par ses récepteurs. Franck VALENTIN franck_valentin@yahoo.fr 29 septembre 2004

Préambule Cadre Pasteur, Unité d Immunogénétique Cellulaire. Identification des résidus encodant la spécificité de la reconnaissance de l'il-2 par ses récepteurs Les besoins chaîner intuitivement et visuellement des applications pour tester des hypotheses de travail. partager les procedures. faciliter l'apprentissage des outils de bioinformatique. Workflow "Application qui permet de séquencer des tâches suivant un modèle définissant en particulier comment ces tâches sont synchronisées".

Plan 1. Nos besoins : cahier des charges 2. Les solutions disponibles 3. Choix retenu 4. Fonctionnalités développées 5. Application à la reconnaissance de l'il-2 6. Futur et réflexions

Nos besoins Nos besoins Principalement Glisser/déposer des applications/données/contrôles dans un environnement de travail. Les relier entre elles pour définir le workflow. Exécutions séquentielles ou concurrentes. Exécuter un sous-ensemble du workflow. Pouvoir faire des exécutions pas à pas, ajouter des points d'arrêt, faire des reprises sur erreur. Suivre l'état de l'exécution. Pouvoir comparer des résultats entre plusieurs exécutions. Définir des opérateurs de comparaison, des boucles.

Nos besoins Maquette

Nos besoins... mais aussi Permettre à l'utilisateur de rajouter simplement de nouvelles applications (intégration de briques PISE par exemple). Vérifier la compatibilité des données, les rendre compatibles par l'ajout d'adaptateurs. Intégrer des services web. Permettre l'exécution en arrière plan sans interface graphique mais pouvoir ensuite visualiser à chaque moment l'état du workflow et le modifier. et beaucoup d'autres idées

Nos besoins Formalisons Elaboration d'un cahier des charges

2 - Les solutions disponibles

Solutions disponibles Taverna European Bioinformatics Institute (EBI), IT Innovation and the Rosalind Franklin Centre for Genomic Research (RFCGR), New Castle Computer Science Faculty and for Life, Manchester Science Faculty, Nottingham University. Orienté services web et calcul distribué (mygrid, BioMOBY, Soaplab). Pas à proprement parler de manipulation directe (seulement une représentation graphique). Ajout de nouvelle brique pas élémentaire.

Solutions disponibles VipER Scripps research Institute, San Diego. Écrit en Python, workflow sauvé sous la forme de code Python. Essentiellement destiné à la biologie structurale. Plus proche du modèle Dataflow.

Solutions disponibles Pipeline Pilot Société Scitegic (San Diego) Industrie pharmaceutique Langage pour définir des briques Exécution à partir d'un formulaire web

Solutions disponibles VIBE Société Incogen (Williamsburg) Applications d'analyse de séquences Test de la validité et de la compatibilité des données échangées Plusieurs espaces de travail Aide pour chaque brique. Ajout de notes de l'utilisateur.

Solutions disponibles Wildfire A-STAR (Agency for Science Technology and Research, Singapour) Utilisation d'itérations, boucles, conditions. Fortement lié à EMBOSS. Ajout de nouvelles applications par définition d'un fichier ACD. Plusieurs supports pour les exécutions concurrentes (langage GEL). Communication intertâches par fichiers.

Solutions disponibles Ptolemy II Département EECS (Electrical Engineering and Computer Science, université de Berkeley). Initialement pour modéliser des systèmes embarqués. Plusieurs modèles d'ordonnancement

Solutions disponibles Ptolemy II - environnement Sauvegarde au format XML Briques disponibles : Modèle d'ordonnancement - opérations sur les chaînes - fonction mathématiques, - conversions entre types, - affichages textuels et graphiques, Langage d'expressions - lecture/écriture de données Commentaires Définition de paramètres Affichage graphique 2D Inclusion d'un workflow Vue d'ensemble

Solutions disponibles Kepler/SPA Collaboration entre SEEK (Science Environment for Ecological Knowledge), SPA (Scientific Process Automation), GEON (Cyberinfrastructure for the Geosciences), ROADNet (Real-time Observatories, Applications, and Data Management Network). Ajout de briques, essentiellement des services web. SPA

3 Choix retenu

Choix retenu Choix retenu : Ptolemy II Rien n'existe, donc : Candidats : Kepler ou Ptolemy Kepler : soit partir de zéro, soit adapter une application existante. pas spécifique à la bioinformatique, essentiellement ajout de briques. Donc... Partir des sources de Ptolemy Ajouter et modifier certains éléments (espace de travail, exécutions partielles, briques,...)

Choix retenu Avantages et inconvénients Application aboutie, pérenne Architecture bien conçue (packages, design patterns) Application graphique peu dépendante du moteur de workflow. Documentation détaillée, diagrammes statiques. Réutilisation des composants de Kepler (pour les services web par exemple). Grosse application, beaucoup de concepts à assimiler Effort à faire pour intégrer proprement les nouveaux développements (ne pas tout casser pour profiter des évolutions futures).

4 Fonctionnalités développées

Fonctionnalités développées Méthodologie Une contrainte : vite! Suivi des développements : cahier électronique. Environnement : Linux 2.6 Java JDK 1.4.2 Sources de Ptolemy II 3.0.2 puis 4.0.1 Eclipse (environnement de développement) Poseidon (diagrammes UML)

Fonctionnalités développées Briques : CmdLineApplication But : Exécuter des applications locales (binaires, scripts, etc) Valeur des paramètres définie par : une valeur classique un port d'entrée blast -p blastp -i in{nom_port} -d nr -m8 des paramètres de l'espace de travail blast -p blastp -i monfichier -d nr -m8 blast -p blastp -in in{nom_fichier} -d nr -mexp{format} Envoi sur des ports de sortie blast... -o out{port_sortie}={/home/franck/resu/il2.blast}

Fonctionnalités développées Briques : CmdLineApplication souplesse! : blast -p blastp -i exp{repertoire+in{monfichier}}... -o out{port_sortie}={exp{repertoire+"fichier_resu"}} Suivre l'exécution de la brique.

Fonctionnalités développées Briques : CheckPoint But : Visualiser le contenu des fichiers échangés entre les briques. pendant ou après l'exécution du workflow en choisissant l'application de visualisation

Fonctionnalités développées Briques : MobyleApplication But Configurer des applications via le formalisme de Mobyle Mobyle (évolution de Pise) Définition en XML de l'interface du programme Génération de l'interface de configuration

Fonctionnalités développées Briques : MobyleApplication Création de la page html Choix fichier XML Choix fichier d'une url Configuration Définition des champs du formulaire (valeur, port, expression) Exécution du programme (cgi, service web, application locale) Exécution Résultats (page html, fichier XML) Envoi de la page sur un port de sortie Extraction des données de sortie Envoi sur les ports de sortie

Fonctionnalités développées Briques : MobyleApplication Limitations Beaucoup de sites incompatibles Restriction à HTML 3.2, sans frames, sans javascript Développements importants pour MOBYLE.

5 Application à la reconnaissance de l'il-2

Application à la reconnaissance de l'il-2 Rôle et importance de l'il-2 Rappels IL-2 : cytokine sécrétée par les lymphocytes CD4 Structure connue reconnue par plusieurs types de récepteurs (IL2R) 3 chaînes membranaires αβγ Structure inconnue pré-assemblage, rôle de l'assemblage non démontrés Importance médicale Réduction du développements de tumeurs Reconstitution du taux de CD4 (cas VIH) Effets secondaires

Application à la reconnaissance de l'il-2 Application à la reconnaissance de l'il-2 Laboratoire IGC Mécanisme de transduction induite par l'il-2sur les NK. Molécules de substitution de l'il-2

Futur et réflexions Futur et réflexions Que reste-il à faire? - Corriger les bogues - Ajout de jeux de tests avec Junit - Menus spécifiques a la bioinformatique - Affichage des logs, voir la bibliothèque log4j - Execution partielle sur une partie du workflow - Definition de points d'arrêts - Architecture de la brique MobyleApplication - Prendre en compte les pages html 4.0 avec javascript,... - Definition de fichiers XSLT pour Mobyle - Ajout des types de données - Choix d'applications en fonction des données - Integration des services BioMOBY - Integration des services SoapLab - Découverte des services web - Integration des services web dans les menus - Intégrer un outil de repartition de charge - Alternative lors de l'exécution d'un acteur - Definition de plusieurs workflows dans l'espace de travail - Prise en compte des collections de données - Integration de briques de visualisation internes - Integration des sources de plusieurs projets - Gestion des sources et des versions - Execution en arrière plan - Execution d'un workflow en tant que service web - Compilation avec Ant - Procedure d'installation - Definition et execution dans une applet - Tester les nouvelles briques de Kepler/SPA - Flux d'entrée, de sortie et d'erreur pour 'CmdLineApplication'