![Page 1: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/1.jpg)
L’exploration de la diversite des protistes:l’apport du calcul intensif
J.-M. Frigerio, P. Chaumeil, F. Rue, S. Therond, V. Louvet, O.Coulaud & A. Franc
INRA BioGeCo; INRIA Pleiade, Hiepacs, SED; CNRS IDRIS & GRICAD
JCAD, Lyon26 octobre 2018
![Page 2: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/2.jpg)
L’immense diversite des Eucaryotes !
![Page 3: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/3.jpg)
1 Les donnees
2 Calcul des distances
3 Format et transfert des fichiers
4 Image euclidienne et reduction de la dimension
5 Projection aleatoire et librairie Diodon
6 Construction d’OTUs = classification non supervisee
![Page 4: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/4.jpg)
Les donnees
Pour chaque echantillon
un fichier de format dit fasta
ascii
de texte (strings)
avec pour chaque sequence
un identifiant >taratataune sequence acgtgcatgcatgc...
Tailles
un fichier: entre 20 k et 150 k sequences
taille ≤ 54 Mo
typiquement 100 echantillons donc fichiers par projets
![Page 5: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/5.jpg)
Distance entre sequences
Distance d’edition (Levenstein, 1965)
Etant donnees deux sequences s et s ′, le plus petit nombre d’operationselementaires parmi
substitution
insertion
deletion
necessaires pour transformer s en s ′.
Algorithme de Needleman-Wunsch (NW, 1970)
algorithme de programmation dynamique
Algorithme de Smith-Waterman (SW, 1983)
alignement local: une chaine peut etre incluse dans une autre avecd = 0
de complexite O(``′)
![Page 6: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/6.jpg)
Algorithme de SW
![Page 7: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/7.jpg)
Parallelisation
Algorithm 1 pseudocode pour construire la matrice de distances
1: for s ∈ J1, n − 1K do2: for s ′ ∈ Js + 1, nK do3: D[s,s’] = sw(s,s’)4: end for5: end for
Construit par blocsB11 . . . B1n...
...Bm1 . . . Bmn
& ∀ i , j , Bij −→ sw(Bij)
programme en C, parallelisation en MPIpasse parfaitement a l’echelle sur une machine hyperparallele (Turing,Blue Gene Q, 16 384 = 214 cœurs)
![Page 8: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/8.jpg)
Transfert pour post-traitement
SequenceurBordeaux
IdrisTuring
Idris AdaINRIA
PlaFRIMBordeaux
fasta files
iRODS
ascii distance files
HDF5 files
iRODS
![Page 9: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/9.jpg)
Multidimensional ScalingTout commence par une distance ...
Calcul desdistances deuxa deux (SW)
MDS
Graphe parseuillage
desdistances
Affichagedu nuage
(premiers axes)
Affichage dugraphe (cc)
![Page 10: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/10.jpg)
Concretement ...
Multidimensional Scaling
Etant donne Dij = d(i , j)r < n
trouver X = (x1, . . . , xn)tel que xi ∈ Rr
‖xi − xj‖ ' d(i , j)
Graphe
Etant donne Dij = d(i , j)α > 0
Construire G = (V ,E )tel que V = {1, n}
i ∼ j ⇔ d(i , j) ≤ α
Algorithme de la MDS: cubique
Algorithm 2 pseudocode pour la MDS
1: input: D, r , D[i,j] = dij2: build Gram matrix G from D: (gij = 〈xi , xj〉)3: SVD of G : G = UΣV t
4: coordinates: X = UΣ1/2
5: return X
![Page 11: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/11.jpg)
Projection aleatoire
Lemme de Johnson-Lindenstrauss (1984)
Donnes: n ∈ N, ε ∈ [0, 1], k ≥ 8Log nε2
Alors, ∀ X = [x1, . . . , xn], xi ∈ Rn
∃ Rn f−−−−→ Rk
tel que ∀ x , y ∈ X
(1− ε)‖x − y‖2 ≤ ‖f (x)− f (y)‖2 ≤ (1 + ε)‖x − y‖2
⇓
Methode de projection aleatoire
voir Halko & al., SIAM Review, 2011
si ε fixe, se ramene a une SVD dans la dimension k
avec indicateurs de controle de la qualite
![Page 12: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/12.jpg)
MDS
SequenceurBordeaux
IdrisTuring
Idris AdaINRIA
PlaFRIMBordeaux
Serveurlocal
Laptop
fasta files
iRODS
ascii distance files
HDF5 files
iRODS
coordinates file iRODS
![Page 13: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/13.jpg)
Pont entre l’apprentissage et l’inference statistique(Tibshirani)
#
"
!
Machine learning Statisticsweights parameterslearning fittingsupervised learning regression/classificationunsupervised learning density estimation, clustering
![Page 14: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/14.jpg)
... avec l’algebre lineaire
MachineLearning
Statisticallearning
MultivariateData Analysis
LinearAlgebra
![Page 15: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/15.jpg)
L’essentiel des methodes de reduction de la dimension
Pretraitement EVD/SVD
PosttraitementVisualisation
![Page 16: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/16.jpg)
Quelques exemples
ACP
(U,Σ,V ) = svd(A)Λ = Σ2
Y = UΛ
Canonical Analysis
T = A′BDa = (A′A)−1, Db = (B ′B)−1
Ma,b = D1/2a TD
1/2b
(Wb,Ψ) = evd(Ma,b)Wa = MWb
Ua = D1/2a Wa, Ub = D
1/2b Wb
Ya = AUa, Yb = BUb
MDS
G = gram(D)(U,Σ,U) = svd(G )
Y = UΣ1/2
AFC
r = A1mc = At1mM = diag (1/
√ri )i
Q = diag (1/√cj)j
Am,q = M(A− r ⊗ c)Q(Z ,X ,Λ) = pca(Am,q). . . . . .
![Page 17: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/17.jpg)
Projet Diodon
Un projet de librairie ...
englobant l’essentiel des methodes dites ”multivariate Anaysis”
basee sur un noyau de SVD par projection aleatoire
avec vectorisaton et optimisation des phases de pretraitement
ecrite en python/numpy, julia, C++
actuellement en memoire partagee sur un nœud
en cours de developpement vers une memoire distribuee (MPI)
avec la pile logicielle Inria Bordeaux (deux projets demarrent en 2019)
![Page 18: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/18.jpg)
Nuage de points
![Page 19: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/19.jpg)
MDS
SequenceurBordeaux
IdrisTuring
Idris AdaINRIA
PlaFRIMBordeaux
Serveurlocal
Laptop
Serveurlocal
Laptop
fasta files
iRODS
ascii distance files
HDF5 files
iRODS
coordinates file iRODS
OTUs
![Page 20: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/20.jpg)
Nuage de points, en densite
![Page 21: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/21.jpg)
Nuage de points, spikes
![Page 22: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/22.jpg)
Distribution rang/taille
![Page 23: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/23.jpg)
Construction des OTUs
Algorithm 3 pseudocode to build OTUs from MDS coordinates
1: input Coordinate file, loaded as X , distance file, loaded as D, thresholdα, minimum size of an OTU m
2: build spikes as sets of pixels3: for each spike do4: list all sequences projected on the spike5: extract the pairwise distances for this spike6: build the threshold graph7: build the connected components for this graph8: if the number of sequences ≥ m then9: add the cc in the list of OTUs
10: end if11: end for12: return list of OTUs (sequences, distances, coordinates)
![Page 24: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/24.jpg)
Un exemple d’OTU
![Page 25: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/25.jpg)
Prochaines etapes ?
Optimiser chaque maillon
GPU ?
passer a l’echelle en developpant Diodon en memoire/calcul distribue(pile logicielle Inria Bordeaux)
Construire des bases de reference d’OTUs (intercalibrations des OTUsentre projets et echantillons)
![Page 26: Rencontres scientifiques et techniques du calcul et des données - … · 2018. 10. 25. · et pour les deux le support aux utilisateurs Le projet europ een EOSCpilot (2017-2018)](https://reader033.vdocuments.fr/reader033/viewer/2022060516/601a12dd8badf64daf52d0a7/html5/thumbnails/26.jpg)
Remerciements
Les differentes infrastructures de calculIDRIS (projet DARI Biodiversiton 2015-2016-2018)PlaFRIM (INRIA Bordeaux Sud-Ouest)
et pour les deux le support aux utilisateursLe projet europeen EOSCpilot (2017-2018)
le WP6 ”Interoperabilite” pilote par l’IN2P3le ”tesbed” pico2 sur l’interoperabilite
Le COST DNAqua.Net (groupe de travail sur le traitement desdonnees)
Le reseau R-Syst (taxonomie moleculaire, tres nombreux echanges)
Les collegues biologistes ayant partage leurs donnees pour la mise aupoint de ces outils (arbres de Guyane, diatomees du lac Leman et deScandinavie, champignons phytopathogenes, ...) notamment via leprojet Malabar (Bassin d’Arcachon)
Last but not least: la plateforme PGTB (Franck Salin & EmilieChancerel) de Pierroton