La programmation d un système de flux (workflow) pour pallier à l explosion des données scientifiques - problèmes, défis et solutions - Etienne Lord Université du Québec à Montréal Séminaire avancé en informatique Etienne Lord Sommaire L explosion des données Nomenclature des flux de données Les systèmes de gestion de flux Volet de recherche sur les système de gestion de flux Problématique des système de gestion de flux La plateforme Armadillo Cas d utilisations Orientation dans le développement Références Séminaire avancé en informatique 2 Etienne Lord 1
L explosion de données Séminaire avancé en informatique 3 Etienne Lord L avancement des Sciences Sciences expérimentales Sciences théoriques Sciences informatiques Sciences «data-intensive» Observations Descriptions des phénomènes naturels Formulation de lois Loi de Newton Simulations de phénomènes complexes Collections de données hétérogènes: simulations, réseau de capteurs, instrumentation, agrégations Millénaires précédents Siècles précédents Décades précédentes Aujourd hui Hey. T,Tansley. S, Tolle, K. 2009 The Fourth Paradigm: Data-Intensive Scientific Discovery. Séminaire avancé en informatique 3 Etienne Lord 2
Exemple des nouvelles sciences les sciences «omiques» Inf7212 - Introduction aux systèmes informatiques Les sciences «omics» utilisent des technologies à haut-débit mettant l accent sur la quantité des données traitées, souvent hétérogènes. Glossaire anglais disponible à : http://www.genomicglossaries.com/content/omes.asp Séminaire avancé en informatique 4 Etienne Lord Évolution des applications informatiques Applications Gestion par base de données (DBMS) Gestion de l interface (UIMS) Gestion de flux Systèmes de gestion de flux (WFMS) Chaque application a son système de données Pas d échange de données Les données sont sorties des application L interface utilisateur est sortie des applications (MVC) La gestion du processus d affaire est sortie de l application Des processus d affaires peuvent être gérer en parallèle 1965-1975 1975-1985 1985-1995 1995-2005 Aujourd hui Hey. T,Tansley. S, Tolle, K. 2009 The Fourth Paradigm: Data-Intensive Scientific Discovery. Séminaire avancé en informatique 5 Etienne Lord 3
Évolution des applications Système de gestion de flux Application Application WFMS UIMS Système exploitation DBMS Système exploitation Systèmes de gestion de flux de données (WFMS) MODISAzure Microsoft Séminaire avancé en informatique 6 Etienne Lord Classification des systèmes de gestion des flux WFMS Classes Langage Biopipe API XML Kepler Standalone MoML MODIS Azure Client-Serveur / Grid Propre à l application Pegasus Client-Serveur / Grid Pegasus DAG Triana Client-Serveur TaskGraph Galaxy Web Propre à l application Séminaire avancé en informatique 7 Etienne Lord 4
Les flux de données / Workflows Séminaire avancé en informatique 8 Etienne Lord Définitions Processus Suite de tâches exécutées dans un ordre pour compléter un cas. Synonymes: workflow, WF-net, procédure Tâche Processus atomique. Synonymes: transition, action, processor Exemple: script Java, exécutable Place Jeton Éléments passifs décrivant des conditions. Object ou donnée dans un workflow, réseau de Pétri précisant sont état. Synonymes: cas, tokens, context Exemple: liste de gènes Wil van der Aalst and Kees van Hee 2004. Workflow management: Models, Methods and Systems. Séminaire avancé en informatique 9 Etienne Lord 5
Modélisation d un feu de circulation réseau de Pétri Réseau de Pétri Triplet(Place, Transition, Arc) Place État (M) Jeton Transition Action Tâche Ici, les jetons ne contiennent pas d information Séminaire avancé en informatique 10 Etienne Lord Définitions (suite) Workflow Data-flow Réseau de Pétri (T,P,A) comprenant une source (s) P, un puits (p) P et pour lequel chaque transition t PU T se retrouve dans un chemin de s à p. Workflow où tous les p P sont des données. Transitions Places Source Séminaire avancé en informatique 11 Etienne Lord 6
Utilisation des «workflows»? LeEncounterPRO-OS workflow ne faitpediatric pas le travail, EMR Workflow mais ilsystem permet de mieux comprendre la tâche et de l organiser The High-Performance Medical Home and Pediatric and Primary Care EMR Workflow Systems: Key Ideas By CHUCKWEBSTER Published: NOVEMBER 17, 2009 différemment. Visualisation (en temps réel) Sémantique Workflow patterns Workflow exception patterns Réutilisation Performance Volets de recherche sur les workflow Sroka et al. (2009) A formal semantics for the Taverna 2 workflow model Journal of Computer and System Sciences 76(6) 490-508. Russell et al.(2006) Workflow Control-flow patterns, BPM-06-22. Russell et al.(2006) Workflow Exception Patterns, LNCS 4001: 288-302. Missier et al. (2010) Taverna, reloaded, SSDBM 2010. Séminaire avancé en informatique 12 Etienne Lord 7
Sémantique Similaire aux réseaux de Pétri «Live, Bouded, Safe, Well-formed, Strongly connected, Path, State machine,» Ajouts possibles à l aspect opérationnel Pairing, Flattening, Control link, Workflow trace t1 t2 t3 t4 t5 Turi et al. (2007) Taverna Workflows: Syntax and Semantics. IEEE International Conference on e- Science and Grid Computing, 441-448. Sroka et al. (2009) A formal semantics for the Taverna 2 workflow model. Journal of Computer and System Sciences 76(6), 490-508. Séminaire avancé en informatique 13 Etienne Lord Complexité Cheng et al. 1995. Complexity results for 1-safe nets. Theoretical Computer Science 147, 117-136. Séminaire avancé en informatique 13 Etienne Lord 8
Problématique Un exemple: Genome annotation workflow Linke et al. (2011) Conveyor: a workflow engine for bioinformatic analyses. Bioinformatics. Séminaire avancé en informatique 14 Etienne Lord Application des workflows en bioinformatique? Comment nous sauver du temps? Comment nous assurer des résultats? Comment conserver nos résultats? Comment réutiliser nos protocoles sur de plus grands jeux de données? Comment s assurer que nos protocoles soient efficaces? Séminaire avancé en informatique 15 Etienne Lord 9
Application des workflows en bioinformatique? Défis actuels (Romano, 2008) Abstraction limitée des types de données Accès programmatiques aux données difficiles Mauvaises performances des WFMS Ressources (applications) utilisables limitées Mauvaise sémantique limite la réutilisation Difficultés à conserver les traces des exécutions Romano P. (2008) Automation of in-silico data analysis processes through workflow management systems. Brief Bioinform. 9(1):57-68 Séminaire avancé en informatique 16 Etienne Lord Solutions Séminaire avancé en informatique 17 Etienne Lord 10
Une approche Taverna Application Application WFMS Taverna Workflow System Système exploitation UIMS Système exploitation Windows, Linux, MAC OS X Service Web (WSDL) Java Oinn et al. (2004) Taverna: a tool for the composition and enactment of bioinformatics workflows. Bioinformatics. 20(17):3045-54. Amazon Cloud (2011) Séminaire avancé en informatique 18 Etienne Lord Une approche Taverna (suite) Source Transitions Taverna Workflow System Type de données simples (boolean, int, float, string ) Utilise des fichiers et non une base de données Puits Hull et al. (2006) Taverna: a tool for building and running workflows of services., Nucleic Acids Research, vol. 34, 729-732. Oinn et al. (2004) Taverna: a tool for the composition and enactment of bioinformatics workflows. Bioinformatics. 20(17):3045-54. Séminaire avancé en informatique 19 Etienne Lord 11
Une approche Taverna (suite) Simplicité? Séminaire avancé en informatique 20 Etienne Lord Analyse des approches Bases de données de workflows Workflows 2009-2010 Privés Publics 52% 930 Services web 2010 1742 services 141 producteurs (serveurs) Préservation des workflows 2011 Séminaire avancé en informatique 21 Etienne Lord 12
Analyse de la classification des services de 930 workflows 1200 1000 ~80 % ~20 % 800 N 600 400 200 0 Local Distant Séminaire avancé en informatique 22 Etienne Lord Liste des 25 services les plus utilisés de 930 workflows Pubmed String_list Unpack GetImage Select Get_Web_Page_from_url Parameters Remove_duplicates Remove_nulls Xpath Flatten Parsed_data Beanshell Regex Blast Concatenate_two_strings Filter_list_of_strings_extracting_match_to_a_regex Query GetStatus Run Search GetResult Merge Split 0 50 100 150 200 250 300 350 400 N 13
Notre approche Données Méthodes Résultats Séminaire avancé en informatique 24 Etienne Lord Une approche de «basse technologie» Application WFMS UIMS DBMS Système exploitation Application WFMS UIMS DBMS Système exploitation Logiciels Java Windows, Linux, MAC OS X Séminaire avancé en informatique 25 Etienne Lord 14
Création d un «langage» d applications communes Local (80%) Alignment information Muscle Probcons (Web EBI) fastdnaml PhyML DNAPARS NEIGHBOR (Phylip) (Phylip) BAli-phy ClustalW ClustalW2 ClustalW2 (Web EBI) T-Coffee (Web EBI) HGT Detector (UQAM) LatTrans Kalign Kalign Mafft (Web EBI) (Web EBI) PhyloNet Ancestor v2.1 - (UQAM) RiataHGT RootTree Robinson& TreeDist CONSENSE DNADIST (using Fould (Phylip) (Phylip) (Phylip) MidPoint) (UQAM) PROML (Phylip) PRODIST (Phylip) RETREE (Phylip) SEQBOOT (Phylip) PaML (baseml) jmodeltest (Nucleic Acid) DNAML (Phylip) PaML (codeml) Muscle ProtTest (Amino Acid) DNAML- Erate PaML (yn00) Phylogénétique Convertto Protein or DNA Filter Concatenate Create Groups Download from WWW Load Files Load Sequences Load Trees Regular Expression Rename Remove Save to File Split Custom RunJava Random Program (Code) Sequences Random Trees Seq-Gen Generate HTML Archaeopteryx Scriptree Output to Screen Rshell* SQL Database query Blast Download Create Local BlastDB LocalBlast Distant (20%) dbfetch (Web EBI) Base de données Web EB-Eye (Web EBI) Ncbi Download NcbieUtils (Pubmed) Fetch Sequences Ncbi BioMart* Blast Web Ncbi Blast Séminaire avancé en informatique 26 Etienne Lord Windows, Linux, MAC OS X *en développement Création de «types de données» biologiques définies Workflows Types définis DBMS SQLite (Un fichier) ************************************************************************************************ **** Armadillo v1.0 New Execution started -Running workflow. -Started at 2010-08-19 10:19:28 ************************************************************************************************ **** Running Ncbi eutils... Initialization... Running Ncbi eutils <-Program Output-> Term :bioinformatic+or+bioinformatics URL:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&tool=es eartics&retmax=25 ================================================= DatabaseFrom (Advanced) : ================================================= Sequence Multiple Sequences Alignment Ancestrale sequences Tree Multiple Trees Text Sortie des logiciels Rapport HTML API Services web GUI Applications locales Execution Engine (Conditionnal, Loop) Séminaire avancé en informatique 27 Etienne Lord 15
Comparaison aux autres plateformes Interface utilisateur (GUI) 1 2 3 Séminaire avancé en informatique 28 Etienne Lord Comparaison aux autres plateformes bioinformatiques Platformes «Drag- and- Drop» Workflows Itérations / Conditions Provenance des données Expérimentations Organisation des données Fonction de recherche Répétions d expériences Possibilités d expansion Plateforme ouverte Ajout de nouvelles applications Taverna Séminaire avancé en informatique 29 Etienne Lord 16
Cas d utilisation 1 Recherche bioinformatique de mirnas 13 Tâches 7 Type de fichiers Kadri S, Hinman V, Benos PV. (2009) HHMMiR: efficient de novo prediction of micrornas using hierarchical hidden Markov models. BMC Bioinformatics. 10 Suppl 1 Avantage: réplication sur plusieurs ordinateurs 30,00 20,00 10,00 Overexpression Underexpression Expression level 0,00-10,00-20,00-30,00-40,00-50,00 Vernalization COLD LEAVES Salinity Stress response Aluminum ROOTS COLD LEAVES Aluminum ROOTS Stress tolerance Flowering Developmental stages Abondance des mirnas en conditions de stress (cold, salinity, aluminum) chez le blé en fonction du stade de développement. Séminaire avancé en informatique 30 Etienne Lord Cas d utilisation 2 Reproduire l article de Wong et al. 2008 Avantage: permet de bien comprendre la méthode 17
Cas d utilisation 3 Analyse du HIV Avantage: permet de s échanger des protocoles dans le Analyse la pression sélective même langage http://www.cervicalbarriers.org/information/preventing.cfm Défis (suite) Langage commun entre les différents WFMS Type Données Processus Ressources Exceptions Langage de description Workflow Pattern Specification Language (WPSL) Yet Another Workflow Language (YAWL) Business Process Execution Language (BPEL) Taverna / BioMoby (Scuff/Scufl2) +WSDL, SOAP pour intégration Web Sécurité des services web (trusted web) Sécurité des données Séminaire avancé en informatique 33 Etienne Lord 18
Orientations pour Armadillo Maintenir une facilité d utilisation pour les nonprogrammeurs Distribution des processus application client-serveur utilisation des services de cloud computing Une «compilation» des workflows en applications Une meilleure sémantique d utilisation et de comparaison des workflows. Séminaire avancé en informatique 34 Etienne Lord Conclusion Séminaire avancé en informatique 35 Etienne Lord 19
Remerciements Toute l équipe du laboratoire : Vladimir Makarenkov, Abdoulaye Baniré Diallo, Alix Boc, Mickael Leclercq, Alpha Boubacar Diallo, Dunarel Badescu, et tous les autres Merci à nos collaborateurs de l hôpital Ste-Justine et particulièrement à Doris Ramsy. Merci aux organismes suivant: Séminaire avancé en informatique 36 Etienne Lord RÉFÉRENCES 1. Missier, P., Soiland-Reyes, S., Owen, S., Tan, W., Nenadic, A., Dunlop, I., Williams, A., Oinn, T., Goble, C. Taverna, reloaded. LNCS 6187, 471 481, 2010. 2. Hoon, S. et al. Biopipe: a flexible framework for protocol-based bioinformatics analysis. Genome Res. 13, 1904-1915, 2003. 3. McPhillips, T., et al. Scientific workflow design for mere mortals. Future Gen. Com. Sys, 25, 541-551, 2009. 4. Goecks, J., et al. Galaxy: a comprehensive approach for supporting accessible, reproducible, and transparent computational research in the life sciences. Genome Biol, 11, R86, 2010. Séminaire avancé en informatique 37 Etienne Lord 20