limf

时间:2018-02-01 13:48:14

标签: r limma

TL;博士

为什么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"

模型公式中的第一项是对应变的影响。这引入了拦截列 到设计矩阵,它估计野生型未刺激的平均对数表达水平 细胞和Strain柱,用于估计未受刺激的突变体与野生型的死亡率 州。模型公式中的第二项表示刺激和刺激之间的相互作用 应变。 [...]它在设计矩阵中引入了第三列和第四列,代表了 刺激对野生型和突变型小鼠的影响分别为[...]。

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列和截距(即第4列和第1列之间的对比度)之间的差异相同,我们不需要查看第四和第二列之间的对比,以获得响应突变小鼠刺激的基因?

当然,我在使用coef和使用对比时比较了结果。它们有所不同,但我不明白为什么......显然这意味着coef=4 意味着“看看第4列与拦截之间的区别”,但这意味着什么呢?

我希望这个问题是可以理解的。非常感谢提前!

1 个答案:

答案 0 :(得分: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的系数)为零 - 它与比较该值不同第四个系数与截距系数的值。

根据每个实验班的拟合值来考虑。 对于给定的基因,

  • 如果我是一个野生型,未受刺激的鼠标(如designtargets的第一行),我的拟合值将为: Intercept

  • 如果我是一个野生型,受刺激的小鼠(第二排),我的拟合值将是: Intercept + StrainWT:TreatmentS

  • 如果我是一个突变体,未刺激的小鼠(第三排),我的拟合值将是: Intercept + StrainMu

  • 如果我是一个突变体,受刺激的小鼠(第四和第五行),我的拟合值将是: Intercept + StrainMu + StrainMU:TreatmentS

因此,突变菌株中受刺激和未刺激组之间的差异是:

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

...对应于设计矩阵中第4列的系数

希望这很有用

ps,使用coef=4应该会提供与使用contrast = c(0, 0, 0, 1)

相同的结果