Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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
L’immense diversite des Eucaryotes !
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
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
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(``′)
Algorithme de SW
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)
Transfert pour post-traitement
SequenceurBordeaux
IdrisTuring
Idris AdaINRIA
PlaFRIMBordeaux
fasta files
iRODS
ascii distance files
HDF5 files
iRODS
Multidimensional ScalingTout commence par une distance ...
Calcul desdistances deuxa deux (SW)
MDS
Graphe parseuillage
desdistances
Affichagedu nuage
(premiers axes)
Affichage dugraphe (cc)
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
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
MDS
SequenceurBordeaux
IdrisTuring
Idris AdaINRIA
PlaFRIMBordeaux
Serveurlocal
Laptop
fasta files
iRODS
ascii distance files
HDF5 files
iRODS
coordinates file iRODS
Pont entre l’apprentissage et l’inference statistique(Tibshirani)
#
"
!
Machine learning Statisticsweights parameterslearning fittingsupervised learning regression/classificationunsupervised learning density estimation, clustering
... avec l’algebre lineaire
MachineLearning
Statisticallearning
MultivariateData Analysis
LinearAlgebra
L’essentiel des methodes de reduction de la dimension
Pretraitement EVD/SVD
PosttraitementVisualisation
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). . . . . .
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)
Nuage de points
MDS
SequenceurBordeaux
IdrisTuring
Idris AdaINRIA
PlaFRIMBordeaux
Serveurlocal
Laptop
Serveurlocal
Laptop
fasta files
iRODS
ascii distance files
HDF5 files
iRODS
coordinates file iRODS
OTUs
Nuage de points, en densite
Nuage de points, spikes
Distribution rang/taille
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)
Un exemple d’OTU
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)
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