26
L’exploration de la diversit´ e des protistes: l’apport du calcul intensif J.-M. Frigerio, P. Chaumeil, F. Ru´ e, S. Th´ erond, V. Louvet, O. Coulaud & A. Franc INRA BioGeCo; INRIA Pleiade, Hiepacs, SED; CNRS IDRIS & GRICAD JCAD, Lyon 26 octobre 2018

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)

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

... 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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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