Lecture de donn?es de cytometrie (format FCS) avec R
Installation du package prada
Code R :
source("http://bioconductor.org/biocLite.R") biocLite("prada")
La fonction readFCS peut ?tre utilis?e pour lire les fichiers au format FCS.
Code R :
library('prada') #selection d'un fichier file=system.file("extdata", "fas-Bcl2-plate323-04-04.A01", package="prada"); #lecture du fichier data <- readFCS(file)
La fonction readFCS retourne un objet de type cytoFrame.
A ce stade deux fonctions peuvent ?tre appliqu?es sur l'objet de type cytoFrame. Ce sont les fonctions description et exprs
La fonction description donne la description de l'exp?rience :
Code R :
#description de data description(data)
La fonction exprs renvoie une matrice contenant les intensit?s de fluorescence. Les lignes correspondent aux cellules et les colonnes correspondent aux diff?rents canaux de fluorescence.
Code R :
exprs(data)[1:6,]
FSC-H SSC-H FL1-H FL2-H FL3-H FL2-A FL4-H Time [1,] 467 532 87 146 14 0 449 2 [2,] 437 431 28 145 16 0 478 2 [3,] 410 214 0 30 7 0 358 2 [4,] 433 204 7 92 0 0 440 2 [5,] 436 413 58 143 0 0 460 2 [6,] 450 230 11 53 0 0 474 2
Les donn?es pr?sent?es ci-dessus ont ?t? acquises par "CellQuest Pro 4.0.2"
Visualisation des donn?es : FSC/SSC
FSC (Forward light scatter) : Mesure de la taille des cellules
SSC(Sideward light scatter) : Mesure de la granulosit? des cellules
Faire un nuage de points SSC-H en fonction de FSC-H :
Code R :
#1- SSC en fonction de FSC x<-exprs(data)[, c("FSC-H", "SSC-H")] plot(x, pch=20, col=densCols(x), cex=0.5)
Pour ajouter un 'gate' automatiquement (?liminant les d?bris cellulaire sur le coin du graphique au niveau de l'origine 0) :
Code R :
#2- Gate scalefac=2 nfit<-fitNorm2(x, scalefac=2) plotNorm2(nfit, ellipse=TRUE, cex=0.5) #3-Gate scalefac=3 nfit<-fitNorm2(x, scalefac=3) plotNorm2(nfit, ellipse=TRUE, cex=0.5)
Le param?tre scalefac permet de contr?ler la largeur de l'ellipse.
1-
2-
3-
La fonction densCols permet de colorer les points en fonction de leur densit? locale.
La valeur nfit retourn?e par la fonction fitNorm2 est une liste. Un des ?l?ments de la liste est un vecteur logic nfit$sel. Il a la m?me longueur que le nombre de points et une valeur TRUE indique que le point est compris dans l'ellipse.
Pour s?lectionner les points contenus dans l'ellipse :
Code R :
data.selected<-data[nfit$sel,]
Le code R suivant permet de faire le graphique du canal FL4-H en fonction de FL1-H en utilisant les donn?es d'origines (data) et les donn?es gat?es (data.selected)
Code R :
myplot<-function(x){ ex<-exprs(x)[, c("FL1-H", "FL4-H")] plot(ex, pch=20, col=densCols(ex), cex=0.5) } myplot(data) myplot(data.selected)