Значение слова в лимме

ТЛ; др

почему нет fit <- eBayes(fit); topTable(fit, coef=4) такой же как fit <- contrasts.fit(fit, c(-1,0,0,1)); fit <- eBayes(fit); topTable(fit) (столбец 1 дизайна находится на пересечении)?

Пример из руководства пользователя limma

Strain <- factor(targets$Strain, levels=c("WT","Mu"))
Treatment <- factor(targets$Treatment, levels=c("U","S"))
design <- model.matrix(~Strain+Strain:Treatment)
colnames(design)
[1] "(Intercept)" "StrainMu" "StrainWT:TreatmentS" "StrainMu:TreatmentS"

Первый член в формульной формуле - это эффект для деформации. Это вводит столбец перехвата в матрицу дизайна, который оценивает средний уровень логарифмической экспрессии для нестимулированных клеток дикого типа, и столбец для штамма, который оценивает разницу между мутантом и диким типом в нестимулированном состоянии. Второй член в модельной формуле представляет взаимодействие между стимуляцией и напряжением. [...] Он вводит третий и четвертый столбцы в матрицу дизайна, которые представляют эффект стимуляции для мышей дикого типа и для мутантных мышей соответственно [...].

fit <- lmFit(eset, design)
fit <- eBayes(fit)
topTable(fit, coef=3)
# will find those genes responding to stimulation in wild-type mice, and
topTable(fit, coef=4)
# will find those genes responding to stimulation in mutant mice

Что я не понимаю

При использовании coef это то же самое, что смотреть на разницу между 4-м столбцом матрицы дизайна и точкой пересечения (т. е. контраст между четвертым и первым столбцами), не нужно ли нам смотреть на контраст между четвертым и вторым столбцами, чтобы получить гены, отвечающие на стимуляцию у мышей-мутантов?

Конечно я сравнил результаты при использовании coef и при использовании контрастов. Они отличаются, но я не понимаю, почему... Очевидно, это означает, что coef=4 не означает "посмотрите на разницу между столбцом 4 и перехватом", но что это значит?

Я надеюсь, что вопрос понятен. Спасибо заранее!

1 ответ

Решение

Матрица дизайна основана на

targets <- data.frame(
    Strain = factor(c("WT", "WT", "MU", "MU", "MU"), levels = c("WT", "MU")),
    Treatment = factor(c("U", "S", "U", "S", "S"), levels = c("U", "S")))
design <- model.matrix(~ Strain + Strain:Treatment, data = targets)

> targets
##   Strain Treatment
## 1     WT         U
## 2     WT         S
## 3     MU         U
## 4     MU         S
## 5     MU         S

Каждый ряд targets соответствует экспериментальному образцу. Матрица дизайна выглядит так:

##      (Intercept) StrainMU StrainWT:TreatmentS StrainMU:TreatmentS
##    1           1        0                   0                   0
##    2           1        0                   1                   0
##    3           1        1                   0                   0
##    4           1        1                   0                   1
##    5           1        1                   0                   1

Опять же, каждый ряд соответствует экспериментальному образцу. Колонны design соответствуют коэффициентам, которые установлены limma и вы можете прочитать, какая комбинация коэффициентов дает адаптированное к модели значение для данной экспериментальной группы, сравнивая строки design с теми из targets,

Смотря на coef=4 фактически означает, что вы проверяете нулевую гипотезу о том, что четвертый коэффициент (что для StrainMu:TreatmentS) равен нулю - это не то же самое, что сравнивать значение четвертого коэффициента со значением коэффициента перехвата.

Подумайте с точки зрения подходящего значения для каждого из экспериментальных классов. Для данного гена

  • если бы я был нестимулированной мышью дикого типа (как в первом ряду design или же targets), мое установленное значение будет:Intercept

  • если бы я был мышью стимулированного типа дикого типа (второй ряд), моё подходящее значение было бы:Intercept + StrainWT:TreatmentS

  • если бы я был мутантной, нестимулированной мышью (третий ряд), моё подходящее значение было бы:Intercept + StrainMu

  • если бы я был мутантом, стимулированной мышью (четвертый и пятый ряды), моё подходящее значение было бы:Intercept + StrainMu + StrainMU:TreatmentS

Таким образом, разница между стимулированной и нестимулированной группами в мутантном штамме составляет:

(Intercept + StrainMU + StrainMU:TreatmentS) - (Intercept + StrainMU)= StrainMU:TreatmentS

... коэффициент, соответствующий 4-му столбцу в расчетной матрице

Надеюсь, это было полезно


пс, используя coef=4 должен дать вам тот же результат, что и при использовании contrast = c(0, 0, 0, 1)

Другие вопросы по тегам