La classe ExpressionSet

Analyse d'expression différentielle avec limma dans R

John Blischak

Instructor

La gestion des données est précaire

x_sub <- x[1000, 1:10]
f_sub <- f[1000, ]
p_sub <- p[1:10, ]

Une simple virgule mal placée peut devenir un cauchemar de débogage :

x_sub <- x[1000, 1:10]
f_sub <- f[1000, ]
p_sub <- p[, 1:10]
# Oh non!   *
Analyse d'expression différentielle avec limma dans R

Programmation orientée objet avec les classes Bioconductor

  • classe - définit une structure pour contenir des données complexes

  • objet - une instance précise d'une classe

  • méthodes - fonctions propres à une classe

    • getters/accesseurs - Obtenir les données stockées dans un objet
    • setters/ - Modifier les données stockées dans un objet
install.packages("BiocManager")
BiocManager::install("Biobase")
Analyse d'expression différentielle avec limma dans R

Créer un objet ExpressionSet

# Load package
library(Biobase)

# Create ExpressionSet object
eset <- ExpressionSet(assayData = x,
                      phenoData = AnnotatedDataFrame(p),
                      featureData = AnnotatedDataFrame(f))

# View the number of features (rows) and samples (columns) dim(eset)
Features  Samples 
   22283      344
?ExpressionSet
Analyse d'expression différentielle avec limma dans R

Accéder aux données d'un objet ExpressionSet

Matrice d'expression

x <- exprs(eset)

Données des caractéristiques

f <- fData(eset)

Données de phénotype

p <- pData(eset)
Analyse d'expression différentielle avec limma dans R

Créer un sous-ensemble d'un objet ExpressionSet

  • Sous-ensemble avec 3 objets séparés :
x_sub <- x[1000, 1:10]
f_sub <- f[1000, ]
p_sub <- p[1:10, ]
  • Sous-ensemble avec un objet ExpressionSet :
eset_sub <- eset[1000, 1:10]
nrow(exprs(eset_sub)) == nrow(fData(eset_sub))
TRUE
ncol(exprs(eset_sub)) == nrow(pData(eset_sub))
TRUE
Analyse d'expression différentielle avec limma dans R

Boîte à moustaches avec un ExpressionSet

boxplot(<y-axis> ~ <x-axis>, main = "<title>")
boxplot(<gene expression> ~ <phenotype>, main = "<feature>")

boxplot(exprs(eset)[1, ] ~ pData(eset)[, "er"], main = fData(eset)[1, "symbol"])

Analyse d'expression différentielle avec limma dans R

Passons à la pratique !

Analyse d'expression différentielle avec limma dans R

Preparing Video For Download...