l'utilisation des flux de travaux ... - réseau labunix
TRANSCRIPT
L'utilisation des flux de travaux (workflows) pour
l'analyse de grands jeux de données
phylogénétiques: la plateforme Armadillo
Etienne Lord étudiant au doctorat en informatique
Directeur de recherche : Vladimir Makarenkov, professeur au département d’Informatique de l’UQAM
Codirecteur : Abdoulaye Baniré Diallo, professeur au département d’Informatique de l’UQAM
Sommaire
La bioinformatique
Les flux de travaux / flux de données
Nomenclature des flux de données
Systèmes de gestions de flux de travaux
Les systèmes de gestions de flux de travaux en
bioinformatique
Galaxy
Taverna
La plateforme Armadillo orientée vers la phylogénétique
Cas d’utilisations
Orientation dans le développement et défis
Références
L’évolution de la bioinformatique
L’évolution de la bioinformatique
Stratton MR, Campbell PJ, Futreal PA. (2009) The cancer genome.
Nature. 458(7239):719-24.
Gibson TA. (2012) The roots of bioinformatics in ISMB. PLoS Comput Biol. 8(8):e1002679.
L’évolution de la bioinformatique
1993-1997 1998-2002
2003-2007 2008-2012
L’évolution de la bioinformatique:
deux solutions au problème des données
Apache Hadoop (Application du Map-Reduce de Google)
Cluster CPU ou GPU
Programmation parallèle (Interface MPI, OpenMP,
Nvidia CUDA, OpenCl)
Première approche: création de logiciels parallèles
Apache Hadoop (Application du Map-Reduce de Google)
Programmation parallèle (Interface MPI, OpenMP,
Nvidia CUDA, OpenCl)
Première approche: logiciel parallèles en bioinformatique
Software Type API References
HyPhy Genetic sequence analysis (OpenMP) distributed, MPI and gpGPU
(OpenCL, next release) Pond et al. 2005
GARD Recombinant detection MPI Kosakovsky Pond et al.
2006
Trex HGT Horizontal gene transfers MPI Boc et al. 2012
fastDNAml Phylogenetic inference MPI, PVM Stewart et al. 2001
mpiBLAST Sequence search MPI Darling et al. 2003, Lin
et al. 2010
Clustal-MPI MSA MPI Li, 2003
GPU-ClustalW MSA CUDA Liu et al. 2007
pCLUSTAL MSA MPI Cheetham et al. 2003
MSAProbs MSA CUDA Liu et al. 2010
Hybrid ClustalW MSA MPI/OpenMP (hybrid) Tan et al. 2005
CUDA-BLASTP Sequence search CUDA Liu et al. 2011 (pas le
même)
mpiCUDA-BLASTP Sequence search MPI/CUDA (hybrid) Liu et al. 2011(pas le
même)
MPI-HMMER Sequence search MPI Walters et al. 2007
GPU-HMMER Sequence search CUDA Walters et al. 2009
PhyML Phylogenetic inference MPI / OpenMP (hybrid) Guindon et al. 2010
Logiciels présentant de la parallélisation en bioinformatique
Aujourd’hui 1995-2005 1975-1985 1965-1975
Applications
Gestion par base de
données (DBMS)
Gestion de l’interface
(UIMS)
Systèmes de gestion de flux de travaux
(WFMS)
•Chaque application a son système de
données
•Pas d’échange de données
• Les données sont sorties des
applications
•L’interface utilisateur est sortie
des applications (MVC)
1985-1995
Gestion de
flux de travaux
•La gestion du
processus d’affaire est
sortie de l’application
• Des processus d’affaires
peuvent être gérés en parallèle
Évolutions des logiciels.
Hey. T, Tansley. S, Tolle, K. (2009) The Fourth Paradigm: Data-Intensive Scientific Discovery.
Deuxième approche: évolution des logiciels
Source
Puit
Transitions
Code source
Workflows / flux de travaux
+ Portabilité (pas de recompilation) + Automatisation + Scale-up facilité + Simplification de la cognition
Deuxième approche: diviser la tâche en sous-tâches
Taverna Workflow System
Flux de travaux: définition générale d’un workflow
« Réseau de Pétri (T,P,A) comprenant une source (s) ∈ P, un puits (p)
∈ P et pour lequel chaque transition t ∈ P U T se retrouve dans un
chemin de s à p. Normalement un graphe dirigé acyclique. »
Jeton Choix du
logiciel
Muscle
ClustalW
Mafft
PhyML
Source
Puit
Fin
Jeton Séquences
Place
État
Transition | Action | Tâche Logiciels d’alignement de séquences
Multiples et d’inférence phylogénétique
Wil van van der Aalst, Kees van van Hee Workflow Management: Models,
Methods, and Systems (Cooperative Information Systems series) The MIT Press
(January 30, 2004)
Définitions
Wil van der Aalst and Kees van Hee 2004. Workflow management: Models, Methods and Systems.
Suite de tâches exécutées dans un ordre
pour compléter un cas.
Processus
Synonymes: workflow, WF-net, procédure
Tâche Processus atomique.
Synonymes: transition, action, processor
Exemple: exécutable
Jeton 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
Place Éléments passifs décrivant des conditions.
• Un data-flow, est un flux de travaux (workflow) dans
lequel l’ordonnancement des tâches est déterminé par
la disponibilité des données. Plusieurs tâches peuvent
ainsi être exécutées en parallèle sans qu’une structure
de flux de travaux particulière soit définie.
• Par contre, les flux de travaux traditionnels utilisés dans
le domaine des affaires sont des control-flows. Dans un
control-flow, l’ordonnancement des tâches est
déterminé par un ordre imposé par la complétion des
tâches.
Flux de travaux: data-flow et control-flow
Migliorini, S., Gambini, M., La Rosa, M. et ter Hofstede, A.H.M. (2011) Pattern-Based
Evaluation of Scientific Workflow Management Systems. BPM Center Report BPM-11-03,
BPMcenter.org, 2011.
• Permet l’interaction
• Supporte la reproductibilité dans les résultats.
• Intègre des services (e.g. services Web) et de logiciels hétérogènes.
• Supporte la distribution et la gestion de données hétérogènes.
• Support pour les plateformes hautes performances.
• Permet la surveillance pendant le fonctionnement et permet la reprise même
dans le cas d’erreurs.
• Permet une interconnexion avec d’autres systèmes (e.g. de flux de travaux,
d’ordinateurs en réseau)
Taverna
(2003-)
Galaxy
(2005-)
LONI
(2003-)
Kepler
(2004-)
Triana
(1997-)
Langage,
recherche
sur les flux
de travaux
Engins
d’exécution
Services web (en ligne ou sur le nuage) Local Client-Serveur
Caractéristiques des systèmes de gestion de workflows (WfMS)
Workflow en bioinformatique
Plateforme Classe Flux de
travaux
Accès au
« nuage » Application
Kepler Local Data-flow Oui
(Ecogrid) Général
Galaxy Web Data-flow O ui
(Amazon EC2) Bioinformatique
Taverna Local,
services Web Data-flow
Oui
(myGRID) Bioinformatique
LONI Local,
services Web Data-flow Oui Bioinformatique
Bio-Jeti Local,
services Web Control-flow Oui Bioinformatique
Triana Client-
Serveur
Data-flow/
Control-flow Oui Général
Armadillo Local Data-flow/
Control-flow Non Phylogénétique
Kepler (http://kepler-project.org), Galaxy (http://galaxy.psu.edu), Taverna (http://www.taverna.org.uk),
LONI (http://pipeline.loni.ucla.edu), Bio-Jeti (http://ls5-www.cs.tu-dortmund.de/projects/biojet),
Triana (http://www.trianacode.org), Armadillo (http://adn.bioinfo.uqam.ca/armadillo)
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?
Problématiques résolues par les workflows en bioinformatique?
Phylogénétique et phylogénomique
Alignement
de
séquences
Inférence de
l’arbre Alignement Arbre Séquences
Signaux
phylogénétiques? Orthologues?
Choix des signaux
Schématisation de l’inférence d’un arbre phylogénétique.
Voir pour revue Philippe et al. (2011). Resolving difficult phylogenetic questions: why more
sequences are not enough. PLoS Biol. 9:e1000602
Kalign BAli-phy ClustalW2 Mafft
Muscle Probcons T-Coffee
fastDNAml PhyML TreeDist (Phylip)
CONSENSE (Phylip)
DNADIST (Phylip)
DNAML (Phylip)
DNAML-Erate
DNAPARS (Phylip)
NEIGHBOR (Phylip)
PROML (Phylip)
PRODIST (Phylip)
RETREE (Phylip)
SEQBOOT (Phylip)
dbFetch (Web EBI)
EB-Eye (Web EBI)
Ncbi Download
Ncbi eUtils (Pubmed)
Fetch Sequences
Ncbi BioMart* GBlock BLAST
L’inférence phylogénétique est une méthodologie
permettant d’émettre des hypothèses sur l’évolution des
espèces.
La phylogénétique
Applique des principes de l’analyse phylogénétique hiérarchiser
l’évolution des espèces, mais propose l’utilisation de la totalité de
l’information génomique (e.g. structure du génome).
Les points d’interrogation (?) constituent des sujets de recherche actuels.
Philippe et al. (2011) Resolving difficult phylogenetic questions:
why more sequences are not enough? PLoS Biol. 9:e1000602
Bases de données
(Génomes)
Collections de
logiciels (?)
Protocoles
Phylogénomique Phylogénétique
Fichiers
(Gènes) Données
Logiciels
Inférence
d’arbres
phylogénétiques
Comparables Incomparables
(?)
Acquisition et
choix des
signaux
Manuelle
(alignement, etc.)
Automatique
(?)
Exécution Locale Distribuée
La phylogénomique
Un standard de reconstruction phylogénomique par Peters et al., (2011) BMC Biology 9:55
Logiciels (3)
Méthodes (13)
…
120,000 séquences
Exemple de workflows en recherche phylogénomique
Service webs et Local| Langage Java| Données externes
Data-flow sans programmation |Bioinformatique
• Requiert une liaison Internet
• Universitaire (projet de recherche)
• Bioinformatique
pipeline.loni.ucla.edu
LONI
Serveur Web ou Serveur Local | Langage Python et PHP | Data-flow
Le système de gestion de flux de travaux Galaxy (http://galaxy.psu.edu)
Giardine, B. et al. (2005). Galaxy: a platform for interactive large-scale genome analysis,
Genome Res.15:1451-1455.
Galaxy
• Gratuit / Open source
• Next-generation sequencing (NGS)
• Traitement de données tabulaires
• Génétique des SNPs
• Web seulement avec possibilité d’utilisation
de Amazon Cloud ($$$)
Galaxy (https://main.g2.bx.psu.edu/)
Next generation sequencing
Exemples de workflows
http://main.g2.bx.psu.edu/workflow/list_published
Galaxy (http://main.g2.bx.psu.edu/workflow/list_published)
Sous-workflow dans Galaxy (2012)
Goecks J, Coraor N, Team TG, Nekrutenko A, Taylor J.
NGS analyses by visualization with Trackster.
Nat Biotechnol. 2012 Nov;30(11):1036-9.
Afgan, E et al. (2012) Galaxy CloudMan: delivering cloud compute clusters. BMC Bioinformatics.
11 Suppl 12:S4.
Galaxy: on Amazon Cloud
Local (Services webs) | Langage Java| Données internes
Data-flow et control-flow avec programmation |Bioinformatique
• Gratuit / Open source
• Requiert une liaison Internet
• Universitaire (projet de recherche)
•Développé par Microsoft www.taverna.org.uk
L’approche de Taverna
myexperiment.org
Répertoire de workflows (myexperiment.org)
0
200
400
600
800
1000
1200
A B
C
Exemple de workflows dans Taverna
Taverna (suite)
Oinn et al. (2004) Taverna: a tool for the composition and enactment of bioinformatics
workflows. Bioinformatics. 20(17):3045-54.
Hull et al. (2006) Taverna: a tool for building and running workflows of services.,”
Nucleic Acids Research, vol. 34, 729-732.
Type de données simples (boolean, int, float, string…)
Utilise des fichiers et non
une base de données
Taverna Workflow System
Tavaxy : lien entre Taverna et Galaxy
Abouelhoda M, Issa SA, Ghanem M. Tavaxy: integrating
Taverna and Galaxy workflows with cloud computing support.
BMC Bioinformatics. 2012 May 4;13:77.
Application
WFMS
UIMS
Système exploitation
DBMS
Application
WFMS
UIMS
Système exploitation
DBMS
Logiciels
Java™
Windows™,
MAC OS X™
L’approche de Armadillo
http://adn.bioinfo.uqam.ca/armadillo
Lord E, Leclercq M, Boc A, Diallo AB, Makarenkov V. Armadillo 1.1: an original workflow platform for
designing and conducting phylogenetic analysis and simulations. PLoS One. 2012;7(1):e29903.
Armadillo utilise des « types de données » biologiques définies
DBMS SQLite
(Un fichier)
Rapport
HTML
Alignment
Types définis
Multiple Sequences
Workflows
Applications
locales API
************************************************************************************************
****
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) :
=================================================
Sortie des logiciels
Tree
Sequence
Text
Multiple Trees
Ancestrale sequences
Services web Engin
d’exécution
(data-flow et
control-flow) GUI
Lord E , Leclercq M , Boc A , Diallo AB , Makarenkov V , (2012) Armadillo 1.1:
An Original Workflow Platform for Designing and Conducting Phylogenetic Analysis
and Simulations. PLoS ONE 7(1): e29903.
Le système de gestion de flux de travaux, Armadillo
(http://adn.bioinfo.uqam.ca/armadillo)
Local | Langage Java | Données internes
Data-flow et Control-flow sans programmation | Phylogénomique
Do
nn
ée
s
Lo
gic
iels
et
méth
od
es
Données +
Logiciels et
méthodes
Armadillo
• Gratuit / Open source
• Phylogénétique / phylogénomique
• Pas de liaison Internet
• Universitaire (projet de recherche)
•Développé par l’UQAM
D
A B C
A) Données, B) Outils, C) Flux de travaux exécutés ou non,
D) Création de flux de travaux avec boucle (For each) et conditions d’exécution (If)
Armadillo (suite)
Création d’un « langage » d’applications communes
Alignment information
BAli-phy ClustalW ClustalW2 ClustalW2 (Web EBI)
Kalign Kalign
(Web EBI) Mafft
(Web EBI) Muscle
Muscle (Web EBI)
Probcons T-Coffee
(Web EBI)
HGT Detector (UQAM)
LatTrans PhyloNet
v2.1 - RiataHGT
Ancestor (UQAM)
jModelTest (Nucleic
Acid)
ProtTest (Amino
Acid)
fastDNAml PhyML RootTree
(using MidPoint)
Robinson&Fould
(UQAM)
TreeDist (Phylip)
CONSENSE (Phylip)
DNADIST (Phylip)
DNAML (Phylip)
DNAML-Erate
DNAPARS (Phylip)
NEIGHBOR (Phylip)
PROML (Phylip)
PRODIST (Phylip)
RETREE (Phylip)
SEQBOOT (Phylip)
PaML (baseml)
PaML (codeml)
PaML (yn00)
Convert to 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
Program Run Java (Code)
Random Sequences
Random Trees
Seq-Gen
Generate HTML
Archaeopteryx Scriptree Output to
Screen Rshell* SQL
Database query
Blast Download
Create Local
BlastDB LocalBlast
dbFetch (Web EBI)
EB-Eye (Web EBI)
Ncbi Download
Ncbi eUtils (Pubmed)
Fetch Sequences
Ncbi BioMart*
Blast Web Ncbi
Local
(80%)
Distant
(20%)
Ph
ylogénétiqu
e
Base de données Web Blast Windows™,
Linux,
MAC OS X™
A B
CArmadillo
Taverna
Comparaison entre les plateformesTaverna et Armadillo
Accès à Armadillo v1.1 adn.bioinfo.uqam.ca/armadillo
Téléchargement de Armadillo v1.1
Classique
Suchard MA and
Redelings BD
(2006) BAli-Phy:
simultaneous
Bayesian inference
of alignment and
phylogeny,
Edgar, R.C. (2004)
MUSCLE: multiple
sequence
alignment with
high accuracy and
high throughput.
Do CB,
Mahabhashyam
MS, Brudno M,
Batzoglou S
(2005) ProbCons:
Probabilistic
consistency-based
multiple sequence
alignment.
Talavera, G., and Castresana, J. (2007). Improvement of
phylogenies after removing divergent and ambiguously
aligned blocks from protein sequence alignments.
Systematic Biology 56, 564-577.
Exemple de logiciels phylogénétiques inclus dans Armadillo
Prospective et conclusion
Défis à long termes de la recherche dans les workflows
Plateforme hétérogène (clusters)
Irrégularité des communications
Problème de stabilité des plateformes hautes performances
(e.g. MPI ne prend pas en compte les erreurs)
Défis à long termes de la recherche dans les workflows
• Algorithmes de scheduling
(critères d’exécution: temps minimal, énergie minimale,
coût minimal, fiabilité)
• Algorithmes de partage des données
(réplication)
• Algorithmes de sauvegarde à des points précis
(checkpoint)
Anne Benoit, Umit Catalyurek, Yves Robert and Erik Saule, "A Survey of Pipelined Workflow
Scheduling: Models and Algorithms", Report RRLIP2010-28, September 2010
Yves Robert, Frédéric Vivien, and Dounia Zaidouni, "Combining process replication and
checkpointing for resilience on exascale systems", INRIA Research report RR-7951, June 2012.
Algorithmes de partage des données et checkpoint
Génome ( Gb)
Résultats (Tb)
Problématiques
- Distributions des données
- Mémoire disponible par node
- Sauvegarde de quel états pour
minimiser le critère d’exécution
- Comment soumettre le workflow
a une file d’exécution (e.g. Sun
Grid Engine, Hadoop)
Complexité: NP-Complet
Yves Robert, Frédéric Vivien, and Dounia Zaidouni,
"On the complexity of scheduling checkpoints for
computational workflows", INRIA Research report
RR-7907, March 2012
Conclusion pour Armadillo
Maintenir une facilité d’utilisation pour les non-programmeurs pour les WfMS en bioinformatique Distribution des processus
application client-serveur utilisation des services de cloud computing
Une meilleure sémantique d’utilisation et de comparaison des workflows. Une meilleure distribution des tâches.
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 aux organismes suivant:
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. McPhillips, T., et al. Scientific workflow design for mere mortals. Future Gen. Com. Sys, 25, 541-551, 2009.
3. 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.
4. van der Aalst, W.M.P. et van Hee, K. Workflow managment : Models, Methods, and Systems. MIT Press, Cambridge, Massachussetts, 368 pages, 2002.
M. triangularis M. montanus M. oregonensis M. marshali
M. tria
ng
ula
ris
M. m
on
tan
us
M. o
rego
nen
sis
M. m
arsh
ali
Une phylogénie est une représentation de la relation évolutive
entre des espèces basée sur l’étude des gènes.
Modification de l’image de Roderic Page.
Systematic Biology, couverture Juin 2007, inspiré de Maddison (1997).
La phylogénétique
gè
ne
s
Aujourd’hui Décades précédentes
Siècles précédents
Millénaires précédents
Sciences expérimentales
Sciences théoriques
Sciences informatiques
Sciences « data-intensives »
• 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, …
Hey. T, Tansley. S, et Tolle, K. (2009) The Fourth Paradigm: Data-Intensive Scientific Discovery.
Séquences nucléiques et protéiques, structures 3D, données d’expressions,…
Évolution des sciences