第8章 线性模型概述

8.1 背景介绍

limma软件包使用称为线性模型的方法来分析设计的微阵列实验。这种方法允许分析非常一般的实验,就像分析简单的重复实验一样容易。这种方法在[42, 55]中进行了概述。该方法需要指定一个或两个矩阵。第一个是设计矩阵,表明有每个阵列使用了哪些RNA样本。第二个是对比矩阵,它规定了想要在RNA样品之间进行哪些比较。对于非常简单的实验,可能不需要指定对比矩阵。

方法的理念如下,你必须从将数据拟合到一个线性模型开始,完全建模数据的系统部分。该模型由设计矩阵指定。设计矩阵的每一行对应于实验的阵列,每一列对应于描述实验中RNA源的系数。Affymetrix或单通道数据,或者是有共同参照的双色数据,将需要许多系数,和RNA源的数量一致。直接设计的双色数据,需要的系数比RNA源数目少一个,除非你想要估计每个基因的染料效应,在这种情况下RNA源的数量和系数的数量相同。任何一套独立的系数都可以,只要它们足以描述实验。该步骤的主要目的是估计数据的变异性,因此系统部分需要进行建模,从而可以和随机变异进行区分。

在实践中,从可能想要回答的问题角度来说,要求系数与RNA源数目完全相同太过苛刻。你可能比较感兴趣的是更多或更少的RNA源之间的比较。因此,提供对比步骤,以便可以利用初始系数,并以想要回答任何问题的方式进行比较,不管这些可能有多少。

如果有来自Affymetrix实验的数据,比如来自单通道点微阵列或来自使用共同参照的点微阵列,那么线性建模与普通方差分析或多重回归分析相同,只是需要为每个基因拟合一个模型。具有这种类型的数据,可以像单变量数据普通建模一样创建设计矩阵。如果你使用直接设计的点状微阵列的数据,即没有共同参照的连接设计,那么线性建模方法非常强大,但是设计矩阵的创建可能需要更多的统计知识。

对于统计分析和评估差异表达,limma使用经验贝叶斯方法以减轻估计的对数倍变化的标准误差。这导致更稳定的推导和改进的效力,特别是对于具有少量阵列的实验[42, 26]。对于阵列内部有重复点的阵列,limma使用合并的相关方法充分利用重复点[39]。

8.2单通道设计

Affymetrix数据通常使用affy包进行标准化。我们在这里假设数据可用作名为esetExpressionSet对象。这样的对象将包含一个插槽,表示每个阵列上每个基因的对数表达值,可以使用exprs(eset)提取。Affymetrix和其他单通道微阵列数据非常可能用普通线性模型或anova模型分析。与微阵列数据的差异在于它几乎总是需要提取特定的感兴趣的对比,因此在R中为因子提供的标准参数通常不足。

limma中有很多方法可以分析一个复杂实验。一个直接的策略是设置最简单的设计矩阵,然后从拟合中提取感兴趣的对比。

假设有三个RNA源需要进行比较。假设前三个阵列与RNA1杂交,接下来两个与RNA2杂交,其次三个与RNA3杂交。假设RNA源之间的所有两两比较都是值得关注的。我们假设数据已经被标准化并存储在ExpressionSet对象中,例如通过

> data <- ReadAffy()
> eset <- rma(data)

下面的命令可以创建适当的设计矩阵,并使用线性模型进行拟合

> design <- model.matrix(~ 0+factor(c(1,1,1,2,2,3,3,3)))
> colnames(design) <- c("group1", "group2", "group3")
> fit <- lmFit(eset, design)

为了三组之间的两两比较,可以创建合适的对比矩阵

> contrast.matrix <- makeContrasts(group2-group1, group3-group2, group3-group1, levels=design)
> fit2 <- contrasts.fit(fit, contrast.matrix)
> fit2 <- eBayes(fit2)

第2组与第1组中差异表达的基因列表排名可以通过下面的命令获得

> topTable(fit2, coef=1, adjust="BH")

每个假设检验的结果可以使用

> results <- decideTests(fit2)

代表每个比较中显著基因数目的维恩图可以通过下面的命令获得

> vennDiagram(results)

8.3 共同参照设计

现在考虑双色微阵列实验,其中阵列已经使用了共同参照。这样的实验可以非常类似于Affymetrix实验进行分析,只是必须进行染料交换。最简单的方法是使用modelMatrix()函数和目标文件设计矩阵。例如,我们考虑Joëlle Michaud,Catherine Carmichael和Hamish Scott博士在沃尔特伊丽莎豪尔研究所比较转录因子在人类细胞系中的作用实验的一部分。目标文件如下:

> targets <- readTargets("runxtargets.txt")
> targets
      SlideNumber        Cy3        Cy5
1            2144       EGFP       AML1
2            2145       EGFP       AML1
3            2146       AML1       EGFP
4            2147       EGFP  AML1.CBFb
5            2148       EGFP  AML1.CBFb
6            2149  AML1.CBFb       EGFP
7            2158       EGFP       CBFb
8            2159       CBFb       EGFP
9            2160       EGFP  AML1.CBFb
10           2161  AML1.CBFb       EGFP
11           2162       EGFP  AML1.CBFb
12           2163  AML1.CBFb       EGFP
13           2166       EGFP       CBFb
14           2167       CBFb       EGFP

在实验中,绿色荧光蛋白(EGFP)被用作共同参照。利用一个腺病毒系统将各种转录因子转运到HeLa细胞的细胞核中。在这里我们考虑转录因子AML1,CBFbeta或两者都考虑。生成一个简单的设计矩阵和线性模型:

> design <- modelMatrix(targets,ref="EGFP")
> design
  AML1  AML1.CBFb  CBFb
1    1          0     0
2    1          0     0
3   -1          0     0
4    0          1     0
5    0          1     0
6    0         -1     0
7    0          0     1
8    0          0    -1
9    0          1     0
10   0         -1     0
11   0          1     0
12   0         -1     0
13   0          0     1
14   0          0    -1
> fit <- lmFit(MA, design)

将每个转录因子与EGFP进行比较,并且分别比较组合转录因子与AML1和CBFb是有意义的。形成的适当的对比矩阵如下:

> contrast.matrix <- makeContrasts(AML1,CBFb,AML1.CBFb,AML1.CBFb-AML1,AML1.CBFb-CBFb,
+ levels=design)
> contrast.matrix
          AML1  CBFb  AML1.CBFb  AML1.CBFb - AML1  AML1.CBFb - CBFb
AML1         1     0          0                -1                 0
AML1.CBFb    0     0          1                 1                 1
CBFb         0     1          0                 0                -1

现在可以扩展线性模型拟合,并计算经验贝叶斯统计量:

> fit2 <- contrasts.fit(fit, contrasts.matrix)
> fit2 <- eBayes(fit2)

8.4 双色直接设计

没有共同参照的双色设计需要最多的统计知识来选择适当的设计矩阵。直接设计是没有单一RNA源与每个阵列杂交的设计。例如,我们考虑由沃尔特伊丽莎豪尔研究所的Mireille Lahoud博士进行的比较三种不同树突细胞群体(DC)的基因表达实验。



该实验涉及三个染料交换实验中的6个cDNA微阵列,每对比较两种DC类型。设计如上图所示。目标文件如下:

> targets
          SlideNumber     FileName   Cy3  Cy5
ml12med            12 ml12med.spot   CD4  CD8
ml13med            13 ml13med.spot   CD8  CD4
ml14med            14 ml14med.spot    DN  CD8
ml15med            15 ml15med.spot   CD8   DN
ml16med            16 ml16med.spot   CD4   DN
ml17med            17 ml17med.spot    DN  CD4

这种实验的设计矩阵有很多有效的选择,没有一个绝对正确的选择。我们选择的设计矩阵如下:

> design <- modelMatrix(targets, ref="CD4")
Found unique target names:
CD4 CD8 DN
> design
        CD8 DN
ml12med   1  0
ml13med  -1  0
ml14med   1 -1
ml15med  -1  1
ml16med   0  1
ml17med   0 -1

在这个设计矩阵中,CD8和DN群体已经与CD4群体进行了比较。通过线性模型估计的系数将对应于CD8与CD4的对数比(第一列)和DN与CD4的对数比(第二列)。

在表达数据适当标准化后,使用下面命令拟合线性模型

> fit <- lmFit(MA, design)

线性模型现在可以被用来回答任何感兴趣的问题。对于这个实验,目的是在三个DC群体之间进行两两比较。使用对比矩阵完成

> contrast.matrix <- cbind("CD8-CD4"=c(1,0),"DN-CD4"=c(0,1),"CD8-DN"=c(1,-1))
> rownames(contrast.matrix) <- colnames(design)
> contrast.matrix
    CD8-CD4 DN-CD4 CD8-DN
CD8       1      0      1
DN        0      1     -1

对比矩阵可用于扩展线性模型拟合,然后计算经验贝叶斯统计:

> fit2 <- contrasts.fit(fit, contrast.matrix)
> fit2 <- eBayes(fit2)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容

  • 9.1 背景介绍 与早期的微阵列不同,大多数数据现在都是单通道类型。单通道数据来自流行的微阵列技术,如Affyme...
    yangliunk1987阅读 5,431评论 1 53
  • 3.1 R语言简介 R是一种统计计算程序。它是一种命令驱动语言,也就是说,你必须在其中键入命令,而不是使用鼠标指向...
    yangliunk1987阅读 3,062评论 0 50
  • limma:微阵列和RNA-Seq数据的线性模型用户手册 Gordon K. Smyth, Matthew Rit...
    yangliunk1987阅读 2,743评论 0 51
  • 4.1 本章范围 本章涵盖除Affymetrix以外的大多数微阵列类型。从Affymetrix GeneChips...
    yangliunk1987阅读 7,397评论 0 55
  • 6.1 背景校正 默认的背景校正是从每个点的前景强度减去背景强度。如果RGList对象没有经过背景校正,那么nor...
    yangliunk1987阅读 3,563评论 0 52