Класс ExpressionSet

Анализ дифференциальной экспрессии с помощью limma в R

John Blischak

Instructor

Управление данными — дело рискованное

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

Одна лишняя запятая — и отладка превратится в кошмар:

x_sub <- x[1000, 1:10]
f_sub <- f[1000, ]
p_sub <- p[, 1:10]
# Oh no!   *
Анализ дифференциальной экспрессии с помощью limma в R

Объектно-ориентированное программирование с классами Bioconductor

  • class — определяет структуру для хранения сложных данных

  • object — конкретный экземпляр класса

  • methods — функции, работающие с определённым классом

    • getters/accessors — получают данные, хранящиеся в объекте
    • setters/ — изменяют данные, хранящиеся в объекте
install.packages("BiocManager")
BiocManager::install("Biobase")
Анализ дифференциальной экспрессии с помощью limma в R

Создание объекта 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
Анализ дифференциальной экспрессии с помощью limma в R

Доступ к данным объекта ExpressionSet

Матрица экспрессии

x <- exprs(eset)

Данные о признаках

f <- fData(eset)

Данные о фенотипе

p <- pData(eset)
Анализ дифференциальной экспрессии с помощью limma в R

Срез объекта ExpressionSet

  • Срез из трёх отдельных объектов:
x_sub <- x[1000, 1:10]
f_sub <- f[1000, ]
p_sub <- p[1:10, ]
  • Срез с объектом 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
Анализ дифференциальной экспрессии с помощью limma в R

Диаграмма размаха с 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"])

Анализ дифференциальной экспрессии с помощью limma в R

Давайте потренируемся!

Анализ дифференциальной экспрессии с помощью limma в R

Preparing Video For Download...