R/Bioconductor: Utilisation de la librairie affyPLM() pour le contrôle de qualité
Introduction
La librairie affyPLM
(1) sert principalement à faire la normalisation des données brutes provenant de puces Affymétrix. Elle utilise une technique de normalisation impliquant la création d'un modèle mathématique permettant de décrire les données pour chaque puce. Certaines des valeurs calculées durant le processus de création de ce modèle permettent de la création de graphes de contrôle qualité qui sont très utile pour la pré-analyse:
- Une série de pseudo-images (une par puce) où les couleurs représentent les valeurs résiduelles résultant de la procédure d'ajustement au modèle, qui peuvent être de valeur positive ou négative;
- Un graphe en boîte à moustache appelé Relative Log Expression ou RLE qui est obtenu par le calcul des valeurs d'expression de chaque puce par rapport à la valeur médiane de chaque probeset sur toutes les puces de l'étude;
- Un autre graphe en boîte à moustache appelé Normalized Unscaled Standard Errors ou NUSE qui est obtenu en calculant les erreurs standards des valeur pour un gène sur chacune des puces et ramené sur toutes les puces de telle sorte que la médiane de l'erreur standard est de 1 sur toutes les puces.
Ces deux derniers sont importants car ils permettent d'avoir une idée de la situation d'une puce parmi toutes les autres puces par sa comparaison avec elles. Si dans un cas comme dans l'autre, une puce divergent de 0 (RLE) ou de 1 (NUSE) et/ou que sa boîte est plus large, vous avez un problème avec cette puce même si celle-ci parait bien dans le graphe en boîte à moustache.
Procédure
Les méthodes qui sont utilisées sont image()
, RLE()
et NUSE()
, qui sont indépendantes l'une de l'autre mais qui sont dépendante de la création d'un modèle pour chaque puce via la méthode fitPLM()
. Cette dernière crée en sortie un objet de type PLMSet
qui utilisé par ces trois méthodes.
- Pour commencer, démarrez R et placez vous au bon endroit dans votre système de fichier via cette procédure.
- Il faut charger le package
affyPLM()
:
R> library(affyPLM)
- Créer un objet
AffyBatch
avec la méthode de votre choix, par exemple:
# Les infos phenoData ne sont pas # utilisees par affyPLM R> data<-ReadAffy()
- Il faut par la suite créer l'objet
PLMSet
:
R> p.eset<-fitPLM(data)
- Pour obtenir une des pseudo-images:
# Par exemple, la 5 ème puce R> image(p.eset,which=5, type="resids")
- Si vous voulez toutes les images de votre groupe de puces, il vous faudra scripter dans R:
# Comment creer les fichiers d'images # d'un projet avec la palette de couleur par # defaut R> for(i in 1:70){ + jpeg(paste("../ibd_merged_residuals_",i,".jpg",sep="")) + image(p.eset,i, type="resids") + dev.off() +}
- Pour obtenir un graphe RLE, rien de plus facile:
R> RLE(p.eset,main="Graphe RLE de ce dataset")
- Pour obtenir un graphe NUSE:
R> NUSE(p.eset,main="Graphe NUSE de ce dataset")
- Si vous êtes intéressé par les statistiques descriptives des graphes RLE ou NUSE, il vous faut simplement spécifier le type “stats”:
R> RLE(p.eset,type="stats")