Introduction

publicité
Introduction
1. Données de puces à ADN
Dans le cadre du cours de Méthode d’Optimisation et Apprentissage en Biologie, nous avons
réalisé un projet portant sur l’influence des données manquantes dans l’analyse des puces
ADN. Les données sur lesquelles nous avons travaillé proviennent d’un article paru dans
Molecular Biology Cell en 2000 intitulé : « New components of a system for phosphate
accumulation and polyphosphate metabolism in Saccharomyces cerevisiae revealed by
genomic expression analysis » par Ogawa N.. Cet article décrit l’expression de 6013 gènes
d’une souche de Saccharomyces cerevisiae NBW7 disposée dans 8 conditions différentes
(Annexe 1). 1/7 de ses gènes, dont le profil d’expression est complet, ont constitué le support
de notre étude.
Afin d’expliciter notre projet, nous présenterons tout d’abord l’implication des données
manquantes dans le système d’analyse des puces puis la démarche que nous avons entrepris
pour déterminer si cela pouvait entraîner une erreur d’analyse du transcriptome étudié.
2. Données manquantes d’expression
Lors d’une analyse des résultats d’une puce à ADN, il apparaît souvent que les profils
d’expression de certains gènes comportent des données manquantes. Celles-ci sont
principalement dues à des erreurs de manipulations caractérisées par des poussières ou des
rayures de la puce et par des erreurs de lecture de l’image par le scanner. Lors du
prétraitement des données de ses puces réalisé par des outils tel que GEPAS, les profils
d’expression des gènes sont filtrés pour éliminer les profils comportant plus de 70% de
valeurs manquantes ou traités pour remplacer les valeurs manquantes. Une des principales
méthodes de remplacement opérée par ces logiciels est celle des K-plus proches voisins
(KNN). Cette approche développée par Troyanskaya et al. (2001) estime la valeur d’une
donnée manquante à partir des données d’expression d’autres gènes de la puce.
Les données manquantes sont donc traitées lors des analyses et, de part leurs remplacements,
vont participer à l’information issue de la puce.
3. Problématique
Au cours de cette étude, nous avons cherché à identifier et à quantifier l’influence des
données manquantes sur la classification des gènes lorsque les données étaient remplacées ou
non par la méthode des KNN. Cette étude a été réalisée en langage R.
Matériel et Méthodes
1. Génération de données manquantes
Afin de retirer aléatoirement des données d’expression des gènes selon un pourcentage précis
de valeurs manquantes, nous avons utilisé la fonction runif de R. Cette fonction nous permet
de réaliser un tirage de valeurs aléatoires suivant la loi uniforme. Il faudrait peut être préciser
qu’on génère autant de valeurs aléatoires par la loi uniforme que de valeurs dans l’échantillon,
827*8. Les valeurs de ce tirage déterminent les données d’expression des gènes à retirer du
jeu de données suivant qu’elles soient inférieures ou égales au pourcentage de données
manquantes à réaliser. 100 simulations indépendantes sont opérées pour chacun des taux de
données manquantes. Nous avons fait varier le taux de données manquantes entre 1 et 50%
avec un pas de 1%.
2. Remplacement des données manquantes par la méthode K-Nearest Neighbor
(KNN)
Cette méthode de remplacement des données manquantes détermine un groupe de K gènes
dits voisins du gène d’intérêt. L’analyse s’effectue en deux étapes :
(1)
Premièrement, une évaluation de la distance euclidienne (1) entre le gène d’intérêt et tous les
autres gènes de la puce pour les 8 expériences est réalisée. Ceci permet de définir les K gènes
dont le niveau d’expression est régulièrement le plus proche du gène d’intérêt. Puis dans un
second temps, cette méthode va moyenner le niveau d’expression des gènes du groupe K pour
l’expérience d’intérêt et attribuer cette valeur au gène manquant.
Lorsque la proportion de donnée manquante est trop importante, l’algorithme, que nous avons
utilisé, effectue une moyenne du niveau d’expression de tous les gènes de l’expérience.
Le nombre de voisins K à considérer est ici important car il permet d’observer successivement
soit l’état des plus proches voisins s’il est trop faible, soit de moyenner le niveau d’expression
global des gènes pour l’expérience s’il est trop important. L’intervalle optimal doit donc être
calculé pour chaque jeu de donnée afin d’obtenir la meilleure estimation. Pour notre jeu de
données, le Koptimal (kopt=14) a été déterminé lors d’une précédente étude (de Brevern et al.
2004).
La fonction de R que nous avons employé pour réaliser cette méthode est celle
de l’«impute.knn » de la librairie impute. Cette fonction implémentée sous R (Hastier T. et al.
2006) correspond à une amélioration de la rapidité de l’algorithme d’évaluation des plus
proches voisins pour un gène employé par le knn et le seq.knn implémentés sous R selon un
coût de Φ=nlog(n).
3. Mesure de la qualité du remplacement par le Normalized Root Mean Square
Error (NRMSE)
Nous avons effectué une mesure de la racine de la moyenne au carré normalisée (NRMSE) (2)
(Wang X. et al. 2006) pour les estimations réalisées par le knn.
(2)
Où Yguess correspond à la valeur estimée de l’expression d’un gène X et Yanswer au vrai
niveau d’expression du gène. Cette mesure rend compte de l’efficacité du remplacement opéré
par le KNN en prenant en compte de la variance et la moyenne des données de l’expérience.
RMSE ??
4. Estimation de la stabilité des groupes de gènes
Nous avons effectué une analyse de CPP (Conserved Pairs Proportion, De Brevern et al.
2004). Cette analyse consiste à déterminer si les gènes associés dans des groupes par
classification demeurent associés après la génération et le remplacement des données
manquantes. Pour cela, nous avons réalisé une classification hiérarchique des gènes dans le
jeu de données complet et après génération de données manquantes, grâce à la fonction hclust
et l’estimation complete (Peut-être est-il bon de parler un peu plus du complete, dire que c’est
une méthode de clustering et que R en propose plusieurs plus ou moins adapté pour notre
étude, et dire que le choix du complete vient de l’article de De Brevern) implémenté dans R.
Puis nous avons coupé cet arbre grâce la fonction cutree avec k=36 groupes. Enfin nous
avons estimé le nombre d’individu qui demeurent dans le même groupe grâce à la fonction
table et calculé le CPP (3) :
(3)
Résultats
A) Influence des données manquantes sur les groupes de gènes :
Pour avoir un aperçu des liens pouvant exister entre les gênes on réalise un regroupement
hiérarchique avec la fonction hclust de R. Cette méthode permet d’avoir un aspect visuel des
liens existant entre chaque gène. Ici on compare l’arbre obtenu à partir de la puce d’ADN sans
valeur manquante et l’arbre obtenu après introduction de valeurs manquantes. Pour afficher
les arbres, la fonction hclust n’accepte pas les données de type « NA » (pour «non-attributed»
en anglais, non attribué), que l’on souhaite pourtant utiliser pour remplacer les valeurs
manquantes. Pour générer des données manquantes et permettre l’affichage sous hclust, on
peut soit supprimer les lignes contenant des données manquantes, soit remplacer les valeurs
par 0. Hors ici pour éviter de perdre des informations et permettre l’étude des appariements de
gène, nous avons décidé de remplacer les valeurs manquantes par 0.
Figure 1 : Arbre représentant la répartition des groupes de gènes
A gauche est représenté l’arbre (ou dendrogramme) obtenu à partir de la puce d’ADN sans
donnée manquante
A droite est représenté l’arbre obtenu à partir de la puce contenant 10% de données
manquantes.
En ordonnée est indiqué la distance séparant deux groupes de gènes.
Chaque terminaison de l’arbre en abscisse représente les différents gènes de la puce.
Les deux arbres ont été réalisés avec la méthode « complete » de la fonction hclust.
Observations :
On constate ici que certains gènes se retrouvent dans de nouveaux groupes lorsque l’on
considère la puce avec donnée manquante. Plus on se rapproche des racines de l’arbre, moins
les groupes sont lisibles ainsi il est impossible d’estimer avec cette technique le nombre de
groupe de gènes affichés.
Conclusion sur les deux arbres:
Puisque l’on peut voir des déplacements de gènes dans de nouveaux groupes, on peut penser
qu’il y a une influence de l’action des données manquantes sur la stabilité des groupes de
gênes. Mais le hclust n’est pas très lisible lorsque l’on se rapproche des racines, on ne peut
donc pas dire que ce changement est significatif lorsque l’on insère des données manquantes
dans la puce.
Du fait de la grande quantité de gènes étudiés, le hclust n’est pas la méthode la plus
appropriée. Il faut donc utiliser un estimateur des changements dans les associations de gènes
lors de l’ajout de valeur manquante, appelé CPP (Proportion de pair de gène conservé ou
« Conserved Pair Proportion »).
Figure 2 : Graphe de l'évolution du CPP en fonction du pourcentage de valeurs manquantes
contenues dans une puce à ADN
En abscisse est indiqué le pourcentage de valeurs manquantes introduites dans la puce à
ADN, allant de 0 à 50%.
En ordonnée est indiqué le CPP, correspondant au pourcentage de couple dont le niveau
d’expression est égal et conservé même après l’ajout de valeurs manquantes. Ici 100% de
correspondance dans le CPP correspond aux regroupements visibles sur la puce sans donnée
manquante.
Les valeurs manquantes ont été remplacées par 0 pour effectuer le hclust.
La fonction hclust et la méthode « complete » sont utilisées pour générer l’arbre des groupes
de gènes.
Enfin l’arbre est coupé de sorte que l’on obtient un nombre de groupe Kalgo=36,
représentant le nombre de groupe optimal pour traiter notre échantillon de donnée. (Cf [1])
Observations :
D’après le graphe du CPP en fonction du pourcentage de donnée manquante dans la puce à
ADN, on observe une forte diminution du nombre de pair de gènes lorsqu’on augmente le
pourcentage de donnée manquante. Il y a une diminution rapide qui descend jusqu'à environs
35% de groupes d’appariement pour un taux de valeurs manquantes de 50%. Cette diminution
n’est pas linéaire, on peut avoir quelques fois des augmentations d’une itération à l’autre du
CPP, alors que l’on augmente à chaque itération le taux d’erreur de 1%, mais le CPP diminue
tout de même globalement au cours de la simulation.
Conclusion sur le graphe:
Ce graphe confirme qu’il y a une influence des données manquantes sur la stabilité des
groupes de gènes dans la puce à ADN. Cette perturbation est d’autant plus forte qu’il y a de
données manquantes dans la puce, de plus on a un comportement non stable des
appariements, en effet on observe parfois une augmentation du CPP alors que l’on augmente
le taux d’erreur. Cette observation est logique puisque le fait de remplacer les valeurs entraîne
forcement des ruptures de couples, mais dans ce cas ci on remplace les données manquantes
par des 0. On sait qu’a l’origine notre échantillon contenait une forte proportion de valeurs
proches ou égales à 0, il y a donc une augmentation de la proportion de valeurs proches de 0
au cours du temps, ceci entraînant des perturbations dans la diminution du CPP.
Pour réduire l’instabilité des groupes de gènes dans la puce, il faut utiliser un algorithme qui
va remplacer les valeurs manquantes tel que le kNN.
B) Estimation du taux de prédiction de la méthode kNN.
Pour limiter les effets des valeurs manquantes et ainsi permettre l’analyse des données de
puce à ADN, il existe plusieurs méthodes tel que la suppression des gènes contenant des
données manquantes, ou bien le remplacement des données manquantes par 0, ou enfin des
algorithmes permettant de réévaluer l’expression des gènes par comparaison entre un nombre
k de voisin tel que le kNN.
Les tests effectués dans cette partie visent à tester la méthode du kNN, afin d’évaluer
l’efficacité de cet algorithme ainsi que ses limites.
Pour estimer l’action de kNN sur les données manquantes, on réalise tout d’abord un
échantillon de donnée dont on a retiré 10% des valeurs de manière aléatoire. La nouvelle
distribution des valeurs est ensuite affichée à l’aide d’un histogramme puis comparé à notre
échantillon de donnée sans valeur manquante :
Figure 4 : Histogramme de la répartition des expressions de gène dans la puce sans donnée manquante et
dans la puce avec correction de donnée manquante de 10% par la méthode kNN.
L’histogramme s’étale sur 22 classes de valeurs dont les extrêmes sont regroupés dans les
catgeories (<-1.1) et (>1.0).
Le nombre d’occurrence de chaque valeur est indiqué en ordonnée.
L’histogramme en vert représente la distribution des valeurs contenues dans la puce sans
valeurs manquantes
L’histogramme en bleu représente la distribution des valeurs dont les valeurs manquantes ont
été réévaluées par la méthode kNN pour un pourcentage de donnée manquante de 10%.
Observations :
La comparaison des deux histogrammes indique qu’en général la méthode knn a réussis à
restituer la valeur qui à été remplacé par une valeur manquante. On constate tout de même de
forts écarts de répartition sur les valeurs extrêmes, avec par exemple pour les valeurs autour
de -1.1 un écart de 50 occurrences entre la puce corrigée et la puce sans valeur manquante.
Conclusion sur les deux histogrammes:
Cette première évaluation du kNN indique qu’il y a une restitution significative des valeurs
manquantes vers leurs valeurs d’origines, mais cela n’informe pas sur les réelles performances
du kNN selon les différents taux de données manquantes, et si il y a une différence très
significative entre le kNN et le remplacement de données manquantes par des 0.
Dans cette expérience, on réalise plusieurs échantillons de puces qui ont été corrigés pas la
méthode kNN, possédant un taux de correction différent allant de 1% à 50%. On procède
également à la création de plusieurs puces contenant des 0 à la place des valeurs manquantes
et on évalue la stabilité de l’expression des gènes dans ces deux échantillons à l’aide du CPP.
On affiche enfin l’évolution du CPP pour l’échantillon de donnée corrigée par le CPP et celui
dont les valeurs manquantes ont été remplacées par 0:
Figure 5 : Graphe de l'évolution du CPP en fonction du pourcentage de valeurs manquantes
contenues dans une puce corrigée par la méthode du kNN.
En abscisse, on augmente le pourcentage de valeurs manquantes dans l’échantillon d’origine.
En ordonnée, on affiche le pourcentage de couple de gène conservé par rapport aux couples
de gènes dans la puce sans valeur manquante.
En bleu est affiché la progression du CPP lorsqu’on augmente le taux d’erreur et que l’on
corrige en remplaçant par 0.
En rouge est affiché la progression du CPP dans l’échantillon corrigé par le Knn
Observations :
La courbe bleu matérialisant le pourcentage de donnée manquante corrigé par ajout de 0 est
significativement plus faible en général que la courbe représentant l’échantillon dont les
valeurs manquantes ont été corrigé par le kNN. Vers 50% de valeurs manquantes le kNN
permet de conserver un CPP supérieur à 40% alors que la méthode de remplacement des
valeurs par 0 à un CPP autour de 35%.
Conclusion sur le graphe :
Le knn permet donc de restituer la stabilité des groupes de gènes dans un échantillon ayant
des valeurs manquantes. Cette correction est significativement différente de celle de la
correction par remplacement des valeurs manquantes par 0. Ce graphe montre pourtant que le
kNN n’est pas beaucoup plus performant que la méthode de remplacement par 0 pour
conserver les couples de gènes.
On veut maintenant estimer l’écart de l’estimation entre la valeur corrigée par le kNN et la
valeur réelle contenu dans la puce sans valeur manquante. On utilise pour cela la méthode du
NRMSE.
On génère deux matrices contenant chacune 50 répétitions de chaque pourcentage de valeurs
manquantes, de 0% à 50% par pas de 1%. Une matrice sera corrigée par la méthode kNN (en
rouge), l’autre aura ses valeurs manquantes remplacées par 0 (en bleu). On parcourt ensuite
les matrices pour faire la moyenne des valeurs estimées. On calcul enfin l’écart entre la valeur
estimée et la valeur réelle pour chaque pourcentage d’erreurs.
Figure 3: Graphe du NRMSE montrant l’écart entre les valeurs estimées et les valeurs réelles en fonction
du pourcentage de donnée manquantes
En rouge est représenté la moyenne des écarts entre valeur réelle et valeur corrigée par la
méthode kNN
En bleu est représenté la moyenne des écarts entre valeur réelle et valeur manquante
remplacée par 0.
Observ ations:
La courbe rouge représentant l’évolution de l’écart entre les valeurs manquantes corrigées par
le kNN et les valeurs réelles est constamment plus faible que celui en bleu correspondant à la
méthode de remplacement par 0 des valeurs manquantes. L’écart entre valeur corrigée et
valeur réelle pour la méthode de correction par le remplacement de valeur manquante par 0
est constant et égal à 1.1, quel que soit le pourcentage de valeurs manquantes considéré. De
plus, pour des pourcentages de valeurs manquantes inférieures à 10% de la correction par la
méthode kNN, l’écart entre la prédiction à la valeur réelle est d’environs 0.8, ce qui est
largement inférieur à celui de la méthode de remplacement par 0.
Conclusion sur le NRMSE:
Le NRMSE permet de justifier que la méthode de correction par le kNN est largement plus
performante que si on remplaçait les valeurs manquantes par 0. Cela peut se comprendre par
le fait que la méthode de remplacement des valeurs manquantes par 0 ne se soucie pas des
autres données de gène, alors que le kNN va chercher k voisins au gène ayant une valeur
manquante, et faire une approximation de la valeur manquante en faisant la moyenne des
valeurs voisines. Le NRMSE apporte une information supplémentaire en indiquant que la
prédiction du kNN est plus proche de la valeur réelle si on considère des échantillons avec des
pourcentages de données manquantes inférieurs à 10%.
Conclusion
La première partie de l’analyse a permis de justifier l’influence des données manquante sur la
stabilité des expressions des couples de gènes répertoriés dans les puces à ADN. L’arbre
montrant la répartition des groupes de gènes est bien différent lorsqu’on introduit des données
manquantes dans un échantillon. De plus le test effectué par le calcul du CPP, qui est un
estimateur du nombre de pair de gène conservé entre l’échantillon sans donnée manquante et
l’échantillon avec valeur manquante, indique que plus on augmente le pourcentage de donnée
manquante, plus on déstabilise les associations de groupes de gènes par rapport à un
regroupement de référence, ce qui induirait une interprétation biaisé des données d’une puce à
ADN.
Comme les données manquantes sont souvent visibles dans les données de puce à ADN, il
faut utiliser un algorithme de correction de ces valeurs pour créer un échantillon de donnée
plus proche des valeurs réelles.
On test donc dans la deuxième partie de l’analyse deux méthodes, la méthode de
remplacement des valeurs manquantes par 0 ainsi que la méthode kNN, qui est un algorithme
qui va comparer un nombre k de gènes ayant un jeu de donnée le plus proche de celui du gène
contenant des valeurs manquantes.
L’histogramme de répartition des valeurs d’un échantillon sans valeurs manquantes comparé à
un échantillon ayant un pourcentage de données manquantes de 10% corrigés par la méthode
kNN indique que le Knn permet de conserver une répartition de valeurs proche de celle de
l’échantillon de référence. Pourtant la comparaison entre le CPP du kNN et celui de la
méthode de remplacement des valeurs manquantes par 0 montre que le kNN est faiblement
performant pour conserver les stabilités des groupes de gènes. Le calcul du NRMSE, qui est
un estimateur de l’écart entre une valeur réelle et une valeur corrigée, indique pourtant que le
kNN est plus performant pour restituer une valeur plus proche de la valeur réelle, surtout
lorsque l’on considère des échantillons avec des pourcentages de données manquantes
inférieurs à 10%.
Téléchargement