Comparaison de méthodes de classification de sommets dans un réseau biologique
1. Comparaison de méthodes de
classification de sommets dans un réseau
biologique
Nathalie Villa-Vialaneix
http://www.nathalievilla.org
Institut de Mathématiques de Toulouse &
IUT de Carcassonne (Université de Perpignan)
30 mars 2010
Séminaire de Biomathématiques, INRA de Castanet
1 / 24
Classification dans les réseaux biologiques
2. Travail réalisé en collaboration avec :
Pierre Cherel
Adrien Gamot
Laurence Liaubet
Fabrice Rossi
Magali SanCristobal
2 / 24
Classification dans les réseaux biologiques
3. Sommaire
1 Présentation des données
2 Classification des sommets
3 / 24
Classification dans les réseaux biologiques
5. Présentation des données
Production d’animaux F2 avec des fac-
teurs de variation génétique
F0 : 16 ♂ (Piétrain) × 28 ♀ (Synthétique)
F1 : 17 ♂ × 62 ♀
F2 : 1200 animaux structurés par lignée de père
Prélèvement de tissus
(dont longissimus dorsi)
Mesures phénotypiques (30)
(force de cisaillement, PH ...)
5 / 24
Classification dans les réseaux biologiques
6. Présentation des données
Production d’animaux F2 avec des fac-
teurs de variation génétique
F0 : 16 ♂ (Piétrain) × 28 ♀ (Synthétique)
F1 : 17 ♂ × 62 ♀
F2 : 1200 animaux structurés par lignée de père
Prélèvement de tissus
(dont longissimus dorsi)
Mesures phénotypiques (30)
(force de cisaillement, PH ...)
Données retenues : Une famille de 56 individus F2 (plus forte
variabilité pour force de cisaillement et PH) ; transcri. 2 464 gènes.
5 / 24
Classification dans les réseaux biologiques
7. Présentation des données
Sélection d’un sous-ensemble de gènes
: eQTL
QTL (Quantitative Trait Locus) : Un QTL correspond à une
région génomique liée à un caractère (phénotype) d’intérêt
(contrôlé génétiquement, dans l’idéal).
Exemple : QTL pour la force de cisaillement et la tendreté de la
viande
6 / 24
Classification dans les réseaux biologiques
8. Présentation des données
Sélection d’un sous-ensemble de gènes
: eQTL
QTL (Quantitative Trait Locus) : Un QTL correspond à une
région génomique liée à un caractère (phénotype) d’intérêt
(contrôlé génétiquement, dans l’idéal).
eQTL (QTL d’expression) : Un eQTL est une position
chromosomique responsable de la variabilité d’expression d’un ou
plusieurs gènes.
Exemple : Dans le jeu de données 330 gènes sont régulés par un
eQTL.
6 / 24
Classification dans les réseaux biologiques
9. Présentation des données
Sélection d’un sous-ensemble de gènes
: eQTL
QTL (Quantitative Trait Locus) : Un QTL correspond à une
région génomique liée à un caractère (phénotype) d’intérêt
(contrôlé génétiquement, dans l’idéal).
eQTL (QTL d’expression) : Un eQTL est une position
chromosomique responsable de la variabilité d’expression d’un ou
plusieurs gènes.
Exemple : Dans le jeu de données 330 gènes sont régulés par un
eQTL.
Héritabilité : L’héritabilité est la part de variance génétique sur la
variance totale.
Gènes retenus : eQTL dont l’héritabilité est supérieure à 10% :
128 gènes.
6 / 24
Classification dans les réseaux biologiques
10. Présentation des données
Des gènes aux réseaux de gènes
Intérêt : Détecter et analyser les réseaux de gènes impliqués dans
une ou plusieurs fonctions biologiques.
7 / 24
Classification dans les réseaux biologiques
11. Présentation des données
Des gènes aux réseaux de gènes
Intérêt : Détecter et analyser les réseaux de gènes impliqués dans
une ou plusieurs fonctions biologiques.
Que modélise un réseau de gènes ?
Sommets : Gènes (128 dans
notre exemple)
Arêtes : Corrélation forte dans
l’expression des deux gènes
7 / 24
Classification dans les réseaux biologiques
12. Présentation des données
Corrélations, corrélations partielles
Problème : Le calcul direct des corrélations entre deux gènes
peut être perturbé par des relations communes indirectes qui ne
sont pas révélatrices d’un phénomène biologique.
8 / 24
Classification dans les réseaux biologiques
13. Présentation des données
Corrélations, corrélations partielles
Problème : Le calcul direct des corrélations entre deux gènes
peut être perturbé par des relations communes indirectes qui ne
sont pas révélatrices d’un phénomène biologique.
Solution courante : Modèle graphique Gaussien
H : La matrice d’expression des gènes, X, est issue d’une
distribution N(µ, Σ) ;
Quantité d’intérêt : Les corrélations partielles, i.e.,
πij = Cor(Xi
, Xj
|(Xk
)k i,j) ;
8 / 24
Classification dans les réseaux biologiques
14. Présentation des données
Corrélations, corrélations partielles
Problème : Le calcul direct des corrélations entre deux gènes
peut être perturbé par des relations communes indirectes qui ne
sont pas révélatrices d’un phénomène biologique.
Solution courante : Modèle graphique Gaussien
H : La matrice d’expression des gènes, X, est issue d’une
distribution N(µ, Σ) ;
Quantité d’intérêt : Les corrélations partielles, i.e.,
πij = Cor(Xi
, Xj
|(Xk
)k i,j) ;
Sous H, πij =
−wij
√
wii wjj
avec Σ−1
= (wij)i,j.
8 / 24
Classification dans les réseaux biologiques
15. Présentation des données
Corrélations, corrélations partielles
Problème : Le calcul direct des corrélations entre deux gènes
peut être perturbé par des relations communes indirectes qui ne
sont pas révélatrices d’un phénomène biologique.
Solution courante : Modèle graphique Gaussien
H : La matrice d’expression des gènes, X, est issue d’une
distribution N(µ, Σ) ;
Quantité d’intérêt : Les corrélations partielles, i.e.,
πij = Cor(Xi
, Xj
|(Xk
)k i,j) ;
Sous H, πij =
−wij
√
wii wjj
avec Σ−1
= (wij)i,j.
Problème important : Estimation et inversion de Σ !
8 / 24
Classification dans les réseaux biologiques
16. Présentation des données
Estimation des corrélations partielles
[Schäfer and Strimmer, 2005]
Estimation des corrélations partielles par boostrap (package R
“GeneNet”) : Répéter
1 Générer un échantillon bootstrap b∗
dans les données initiales ;
2 Déterminer la variance empirique sur l’échantillon boostrap, ˆΣb∗
;
3 Calculer le pseudo-inverse de ˆΣb∗
, ˆWb∗
puis ˆΠb∗
;
9 / 24
Classification dans les réseaux biologiques
17. Présentation des données
Estimation des corrélations partielles
[Schäfer and Strimmer, 2005]
Estimation des corrélations partielles par boostrap (package R
“GeneNet”) : Répéter
1 Générer un échantillon bootstrap b∗
dans les données initiales ;
2 Déterminer la variance empirique sur l’échantillon boostrap, ˆΣb∗
;
3 Calculer le pseudo-inverse de ˆΣb∗
, ˆWb∗
puis ˆΠb∗
;
Estimer Π par la moyenne des ˆΠb∗
.
9 / 24
Classification dans les réseaux biologiques
18. Présentation des données
Estimation des corrélations partielles
[Schäfer and Strimmer, 2005]
Estimation des corrélations partielles par boostrap (package R
“GeneNet”) : Répéter
1 Générer un échantillon bootstrap b∗
dans les données initiales ;
2 Déterminer la variance empirique sur l’échantillon boostrap, ˆΣb∗
;
3 Calculer le pseudo-inverse de ˆΣb∗
, ˆWb∗
puis ˆΠb∗
;
Estimer Π par la moyenne des ˆΠb∗
.
Combien d’observations pour estimer correctement Π ?
9 / 24
Classification dans les réseaux biologiques
19. Présentation des données
Résultat de l’estimation des corrélations
partielles
Histogramme des corrélations partielles estimées sur les 128 eQTL
Corrélations partielles
−0.2 −0.1 0.0 0.1 0.2
01000200030004000
Seules les corrélations les
plus importantes sont con-
servées.
Méthode 1 : Test
[Schäfer and Strimmer, 2005]
basé sur un a priori bayésien.
Méthode 2 (utilisée) : Seuil-
lage pour l’obtention d’une
densité fixée à l’avance (ici :
entre 5% et 10%).
10 / 24
Classification dans les réseaux biologiques
23. Classification des sommets
Objectifs du travail
Point de vue méthodologique : Évaluer la pertinence biologique
de diverses approches de classification de sommets ;
Point de vue biologique : Formuler des hypothèses sur la fonction
biologique de certains gènes non répertoriés.
13 / 24
Classification dans les réseaux biologiques
24. Classification des sommets
Objectifs du travail
Point de vue méthodologique : Évaluer la pertinence biologique
de diverses approches de classification de sommets ;
Point de vue biologique : Formuler des hypothèses sur la fonction
biologique de certains gènes non répertoriés.
Deux approches comparées :
Approches à noyau (ici, kernel k-means)
Approches basées sur la modularité
13 / 24
Classification dans les réseaux biologiques
25. Classification des sommets
Présentation des approches à noyau
Principe de base : Doter le graphe G d’une métrique par le biais
d’un noyau et utiliser un algorithme de classification (type
k-means) à partir de cette métrique.
14 / 24
Classification dans les réseaux biologiques
26. Classification des sommets
Présentation des approches à noyau
Principe de base : Doter le graphe G d’une métrique par le biais
d’un noyau et utiliser un algorithme de classification (type
k-means) à partir de cette métrique.
Qu’est-ce qu’un noyau ? C’est une fonction K : G × G → R,
symétrique et positive ⇒ ∃φ : G → (H, ., . ) telle que :
φ(x), φ(x ) = K(x, x ).
14 / 24
Classification dans les réseaux biologiques
27. Classification des sommets
Quels noyaux pour les graphes ?
La plupart sont des régularisations du Laplacien
[Smola and Kondor, 2003] L =
−πij si i j
di = k i πik si i = j
15 / 24
Classification dans les réseaux biologiques
28. Classification des sommets
Quels noyaux pour les graphes ?
La plupart sont des régularisations du Laplacien
[Smola and Kondor, 2003] L =
−πij si i j
di = k i πik si i = j
Exemples :
noyau de la chaleur [Kondor and Lafferty, 2002] : K = e−βL
Peut être vu comme la quantité d’énergie mesurée en un sommet
du graphe après une diffusion continue le long des arêtes à partir
d’un autre sommet.
Exemple : Pour le graphe de co-apparition des Misérables, le
noyau de la chaleur vu depuis Jean Valjean Voir
15 / 24
Classification dans les réseaux biologiques
29. Classification des sommets
Quels noyaux pour les graphes ?
La plupart sont des régularisations du Laplacien
[Smola and Kondor, 2003] L =
−πij si i j
di = k i πik si i = j
Exemples :
noyau de la chaleur [Kondor and Lafferty, 2002] : K = e−βL
Peut être vu comme la quantité d’énergie mesurée en un sommet
du graphe après une diffusion continue le long des arêtes à partir
d’un autre sommet.
Exemple : Pour le graphe de co-apparition des Misérables, le
noyau de la chaleur vu depuis Jean Valjean Voir
inverse généralisée [Fouss et al., 2007] : K = L+
Temps moyen d’attente d’un sommet à partir d’un autre lors d’une
marche aléatoire sur le graphe.
15 / 24
Classification dans les réseaux biologiques
30. Classification des sommets
Modularité [Newman and Girvan, 2004]
Mesure de qualité d’une classification de graphe : Une partition
des sommets en C classes, (Ck )k=1,...,C a une modularité égale à :
Q(C) =
1
2m
C
k=1 i,j∈Ck
(Πij − Pij)
où Pij sont les poids dans un “modèle nul” pour lequel les poids
dépendent uniquement des propriétés des sommets et non de la
classe à laquelle ils appartiennent.
16 / 24
Classification dans les réseaux biologiques
31. Classification des sommets
Modularité [Newman and Girvan, 2004]
Mesure de qualité d’une classification de graphe : Une partition
des sommets en C classes, (Ck )k=1,...,C a une modularité égale à :
Q(C) =
1
2m
C
k=1 i,j∈Ck
(Πij − Pij)
où Pij sont les poids dans un “modèle nul” pour lequel les poids
dépendent uniquement des propriétés des sommets et non de la
classe à laquelle ils appartiennent.
De manière plus précise,
Pij =
didj
2m
où di = 1
2 j i πij est le degré du sommet xi.
16 / 24
Classification dans les réseaux biologiques
32. Classification des sommets
Modularité [Newman and Girvan, 2004]
Mesure de qualité d’une classification de graphe : Une partition
des sommets en C classes, (Ck )k=1,...,C a une modularité égale à :
Q(C) =
1
2m
C
k=1 i,j∈Ck
(Πij − Pij)
où Pij sont les poids dans un “modèle nul” pour lequel les poids
dépendent uniquement des propriétés des sommets et non de la
classe à laquelle ils appartiennent.
De manière plus précise,
Pij =
didj
2m
où di = 1
2 j i πij est le degré du sommet xi.
Une “bonne” classification correspond à Q maximale.
16 / 24
Classification dans les réseaux biologiques
33. Classification des sommets
Interprétation
Q augmente lorsque (xi, xj) sont dans une même classe et ont un
poids réel πij plus grand que le poids du modèle nul, Pij
Q diminue lorsque (xi, xj) sont dans deux classes distinctes et ont
un poids réel πij plus petit que le poids du modèle nul, Pij car
Q(C) +
1
2m k k i∈Ck , j∈Ck
(Wij − Pij) = 0.
17 / 24
Classification dans les réseaux biologiques
34. Classification des sommets
Interprétation
Q augmente lorsque (xi, xj) sont dans une même classe et ont un
poids réel πij plus grand que le poids du modèle nul, Pij
Q diminue lorsque (xi, xj) sont dans deux classes distinctes et ont
un poids réel πij plus petit que le poids du modèle nul, Pij car
Q(C) +
1
2m k k i∈Ck , j∈Ck
(Wij − Pij) = 0.
À l’inverse de la minimisation du nombre de sommets entre les
classes, la modularité permet de séparer des sommets de forts
degrés (hubs) dans des classes différentes.
17 / 24
Classification dans les réseaux biologiques
35. Classification des sommets
Optimiser la modularité par recuit
simulé
[Reichardt and Bornholdt, 2006, Villa et al., 2009] Principe :
Lorsque l’on cherche à minimiser une énergie E(f) (= −Q(f)), on
simule de manière stochastique (chaîne de Markov sur les états, f
: classifications des sommets) ,la probabilité
PT (f) =
e−E(f)/T
g e−E(g)/T
.
Lorque T → 0, PT (f) se concentre sur minf E(f).
18 / 24
Classification dans les réseaux biologiques
36. Classification des sommets
Optimiser la modularité par recuit
simulé
[Reichardt and Bornholdt, 2006, Villa et al., 2009] Principe :
Lorsque l’on cherche à minimiser une énergie E(f) (= −Q(f)), on
simule de manière stochastique (chaîne de Markov sur les états, f
: classifications des sommets) ,la probabilité
PT (f) =
e−E(f)/T
g e−E(g)/T
.
Lorque T → 0, P (f) se concentre sur min E(f). 18 / 24
Classification dans les réseaux biologiques
37. Classification des sommets
Optimiser la modularité par recuit
simulé
Algorithme
1 On initialise la classification des sommets à un état aléatoire
f0
∈ {1, . . . , m}⊗n
2 On répète
2 On tire deux classes j1 et j2 dans {1, . . . , m} et un sommet xi
dans (f0
)−1
(j1) ∩ (f0
)−1
(j2) (les deux opérations équiprobables)
2 Notons ˜f l’état dans lequel xi a subi un échange de classe entre j1
et j2. On note ∆E = Q(˜f) − Q(f0
)
2 si ∆E > 0 alors f1
= ˜f
2 sinon f1
= ˜f avec probabilité e∆E/T
et f1
= f0
avec probabilité
e−∆E/T
2 On diminue T
3 On stoppe à stabilisation de l’algorithme.
18 / 24
Classification dans les réseaux biologiques
38. Classification des sommets
Optimiser la modularité par recuit déter-
ministe
[Lehmann and Hansen, 2007, Rossi and Villa-Vialaneix, 2010]
Pour une température donnée 1
β , on suppose une distribution de
Gibbs sur l’espace des solutions P(f) = 1
Zf
eβQ(f)
On calcule E(f) selon P
Lorsque β → +∞, E(f) converge vers f∗
où f∗
réalise le maximum
de F(f)
19 / 24
Classification dans les réseaux biologiques
39. Classification des sommets
Optimiser la modularité par recuit déter-
ministe
[Lehmann and Hansen, 2007, Rossi and Villa-Vialaneix, 2010]
Pour une température donnée 1
β , on suppose une distribution de
Gibbs sur l’espace des solutions P(f) = 1
Zf
eβQ(f)
On calcule E(f) selon P
Lorsque β → +∞, E(f) converge vers f∗
où f∗
réalise le maximum
de F(f)
Problème : Zf = f eβQ(f) est impossible à calculer si P(f) ne se
factorise pas en f ⇒ On approche P(f) par une distribution qui
factorise puis on utilise un algorithme de type EM pour
itérativement optimiser cette approximation (minimisation de la
divergence de Kullback Leibler) et calculer l’espérance de f selon
cette distribution (détails dans [Rossi and Villa-Vialaneix, 2010]).
19 / 24
Classification dans les réseaux biologiques
40. Classification des sommets
Méthodologie
Pour un nombre de classes variant de 5 à 10 :
Kernel k-means avec divers noyaux ;
Optimisation de la modularité par recuit simulé et par recuit
déterministe
Détermination de la modularité des classifications
Validation biologique des meilleures classifications obtenues
20 / 24
Classification dans les réseaux biologiques
41. Classification des sommets
Analyse de la classification retenue
Classification retenue :
Optimisation de la modularité par recuit simulé ;
5 classes ;
Modularité = 0,25 (plutôt faible).
21 / 24
Classification dans les réseaux biologiques
42. Classification des sommets
Analyse de la classification retenue
Classification retenue :
Optimisation de la modularité par recuit simulé ;
5 classes ;
Modularité = 0,25 (plutôt faible).
21 / 24
Classification dans les réseaux biologiques
43. Classification des sommets
Analyse de la classification retenue
Classification retenue :
Optimisation de la modularité par recuit simulé ;
5 classes ;
Modularité = 0,25 (plutôt faible).
Conclusion plus générale : L’optimisation de la modularité est
meilleure que les approches à noyau sur cet exemple.
21 / 24
Classification dans les réseaux biologiques
44. Classification des sommets
Validation biologique
Recherche des fonctions biologiques des gènes connus de
chaque classe : 1 classe = 1 ou 2 fonctions
Num. Fonction biologique Taille classe Nb gènes
reconnus
1 Synthèse protéique 24 14
2 Stress oxydatif et act kinase cell 13 9
cycle/apoptose+SH2adaptator
3 Activités déaminase et hydrolase 32 20
réticulum andoplasmique
4 Non connu 26 13
5 Régulation de la transcription 15 7
22 / 24
Classification dans les réseaux biologiques
45. Classification des sommets
Conclusion et perspectives
Conclusion
L”approche de classification de sommets semblent pertinente dans
le cadre biologique ;
L’optimisation de la modularité semble être une méthodologie
intéressante.
23 / 24
Classification dans les réseaux biologiques
46. Classification des sommets
Conclusion et perspectives
Conclusion
L”approche de classification de sommets semblent pertinente dans
le cadre biologique ;
L’optimisation de la modularité semble être une méthodologie
intéressante.
Perspectives Travail à confirmer par comparaison à des
méthodes plus courantes dans la communauté
biostatistique/bioinformatique (Markov Clustering, par exemple) et
sur un jeu de données plus large (public).
23 / 24
Classification dans les réseaux biologiques
47. Fouss, F., Pirotte, A., Renders, J., and Saerens, M. (2007).
Random-walk computation of similarities between nodes of a graph, with application to collaborative
recommendation.
IEEE Transactions on Knowledge and Data Engineering, 19(3):355–369.
Kondor, R. and Lafferty, J. (2002).
Diffusion kernels on graphs and other discrete structures.
In Proceedings of the 19th International Conference on Machine Learning, pages 315–322.
Lehmann, S. and Hansen, L. (2007).
Deterministic modularity optimization.
The European Physical Journal B, 60(1):83–88.
Newman, M. and Girvan, M. (2004).
Finding and evaluating community structure in networks.
Physical Review, E, 69:026113.
Reichardt, J. and Bornholdt, S. (2006).
Statistical mechanics of community detection.
Physical Review E, 74(016110).
Rossi, F. and Villa-Vialaneix, N. (2010).
Optimizing an organized modularity measure for topographic graph clustering : a deterministic annealing
approach.
Neurocomputing, 73(7-9):1142–1163.
Schäfer, J. and Strimmer, K. (2005).
An empirical bayes approach to inferring large-scale gene association networks.
Bioinformatics, 21(6):754–764.
23 / 24
Classification dans les réseaux biologiques
48. Smola, A. and Kondor, R. (2003).
Kernels and regularization on graphs.
In Warmuth, M. and Schölkopf, B., editors, Proceedings of the Conference on Learning Theory (COLT) and
Kernel Workshop.
Villa, N., Dkaki, T., Gadat, S., Inglebert, J., and Truong, Q. (2009).
Recherche et représentation de communautés dans des grands graphes.
In Actes du colloque Veille Stratégique, Scientifique et Technologique (VSST 2009), Nancy, France.
À paraître.
24 / 24
Classification dans les réseaux biologiques
49. Classification des sommets
Noyau de la chaleur des Misérables
selon Valjean Retour
24 / 24
Classification dans les réseaux biologiques
50. Classification des sommets
Noyau de la chaleur des Misérables
selon Valjean Retour
24 / 24
Classification dans les réseaux biologiques