Normalisation des données Illumina via le package lumi
Introduction
Procédure
Stabilisation de la variance
Les données Illumina sont des données d'intensité lumineuse qui peuvent présenté de grande variance. Une manière de contrôler cette variance est de faire une transformation mathématique qui ramène les données d'une échelle non-linéaire à une échelle linéaire. La transformation classique est le calcul de la valeur logarithmique en base 2 mais le librarie lumi()
contient également une nouvelle méthode appelée Variance Stabilization Transform qui utilise le très grand nombre de réplicats techniques(comme chaque sonde se retrouve sur un très grand nombre de billes qui se positionnent aléatoirement sur la lame); une description de l'algorithme se trouve ici(1).
Dans un cas comme dans l'autre, il faut utilisé la méthode lumiT
qui fera la transformation sur notre objet LumiBatch
pour nous retourner un autre objet, également de type LumiBatch
. Pour poursuivre la même logique:
R> t.lumi<-lumiT(r.lumi,method='log2')
ou
R> t.lumi<-lumiT(r.lumi,method='vst')
Normalisation
De la même manière que la stabilisation de la variance, la normalisation se fait en faisant passé un objet LumiBatch
au travers de la méthode LumiN
. Cette dernière fera la normalisation selon un modèle choisi et retournera un nouvel objet LumiBatch
contenant les valeurs normalisées. Les méthodes de normalisation accessibles via LumiN
sont les suivantes:
rsn
ssn
quantile
(sélection par défaut si non mentionné par le paramétremethod
)loess
vsn
rankinvariant
(méthode par défaut via BeadStudio)
La ligne de commande est donc:
R> n.lumi<-lumiN(t.lumi,method='quantile')