使读者初步了解使用Bionconductor完成基因芯片预处理的流程
接着详细讲解戏弄i按预处理和数据分析等内容
最后深入了解实际工作中会遇到的芯片处理问题以及如何用学到的只是解决问题
目的:掌握芯片分析的整体框架,自行学习其他厂商或种类(例如SNP芯片或CHIP-chip芯片)的芯片处理方法
5.1快速入门
例5-1 从数据包CLL中载入芯片数据,完成预处理,最后获得基因(探针组)表达矩阵。注意,探针组表达矩阵的行对应的行对应的探针组,而不是基因,基因和探针组的关系见5.2.1.这段程序从载入原始数据(CEL文件)开始,通过预处理得到基因表达矩阵,是芯片数据处理的一个必须步骤
CLL 数据是慢性淋巴白血病(Chronic lymphocytic leukemia,CLL)数据集,采用了Affymetrix公司的HG_U95Av表达噗芯片,测量了24个样本,12625个探针
例5-1采用的实验设计方式:两组之间是对照试验(control test),每组内都是平行实验(parallel test),对照实验,简单来说就是为了阐明某种单一因素的效应或者影响,在保持其他因素不变的前提下,测试一定数据的实验组样本呢和对照组样本,并对结果进行比较。平行实验,简单来说就是对同样的一组样本取两个以上相同的样品,以完全一致的条件下进行试验,测试结果的稳定性
5.2基因芯片基础知识
5.2.1探针组
一张基因芯片(以affymetrix表达谱芯片为例)可以包含上万个的探针(通常由25个碱基组成),他们整齐有序地印刷在芯片上。一组探针或者探针组(probe set),来自于一个基因,通常由20对或者11对探针组成,每一对探针都由匹配探针(perfect match,PM)和错配探针(Mi是match,MM)组成,成为探针对(probe pair),MM与PM的序列只有正中央的那个碱基不同,其余的都一致。但是,在一些高密度芯片中,例如外显子芯片(Exon array),每个探针组只有4个PM探针,没有MM探针。
探针序列的来源叫做参考序列,通常来自于公开的核酸数据库(例如NCBIGeneBank或RefSeq)对于不同的芯片类型,探针组在参考序列中的分布不同,3’表达谱芯片的探针组排布在参考序列3‘末端附近的一至两外显子上,外显子芯片中,每个长度大于25个碱基的外显子都有针对他的探针组:铺瓦芯片(Tilling array)中,探针组覆盖了几乎所有的外显子和内含子
需要强调的是,芯片数据领域提到的基因表达矩阵往往是以探针组而忽视以基因为单位的,即每行都对应一个探针组的表达量。后面将要降到的差异基因分析也是找打显著性差异的表达的探针组,然后通过ID映射才对应到探针组代表的基因,探针组与基于的关系往往是多个探针组对应一个基因。但是在实际应用中,经常不太注意区分,探针组有时也会被叫做基因
5.2.2主要的芯片文件格式
主要的是CEL文件
affymetrixi芯片原始数据最常用格式为CEL文件,也是芯片预处理和分析的出发点。CEL文件的主要内容就是每个“cell"的灰度信息,"cell"是整个芯片图像划分后得到的小网格,每个小网格中的图像被看作来自一个探针,自CellHeader开始,每行数据对应芯片上的一个”cell"位点,包含5列信息,依次为X坐标,Y坐标,灰度的平均值,灰度的标准差以及用了多少个像素来求这个平均值
CEL文件只提供了每个探针的灰度信息,还需要基因芯片探针排布的信息(即哪个探针来自哪个探针组),才可以得到芯片上每个探针组对于的表达数据,这就需要CDF文件。另一个重要的是probe文件,他提供了探针的序列信息。afftymetrix公司为每种型号的芯片都提供了对应的CDF文件和Probe文件。CDF文件中的对应关系用户可以自行更改,例如为了应多多个探针组 的ID对应到同一基因ID的现象,有些研究季候就把对应到同一个基因的多个探针合并为一个探针组,并提供修改后的CDF和Probe文件
图5-3B是affymerixHG-U133A芯片的Probe文件的部分内容,他只包括了一个探针组(名称是“200688_at")的所有探针,共11条序列,文件中第2和3列是对应探针所在的X和Y 坐标,第4列是序列的第13个奸计(中心)位置对齐到一致性序列的相对位置,第5列是对应探针的序列,最后是样品与探针杂交的方向
5.3基因芯片数据预处理
基因芯片数据预处理的目的是将探针水平的数据(杂交信号)转换成基因表达数据,主要的数据结构有Affybatch类和Expressionset类,前者用于存储探针水平的数据(相当于CEL文件的内容),而后者用于存储表达水平的数据(相当于基因表达矩阵的内容)。预处理通过质量控制,剔除不合格的芯片(数据),只保留合格的进入下一步处理。然后通过标准化,将所有芯片数据中的基因表达只变换到一个可以比较的水平,用于后续分析
5.3.1数据输入
例5-1中,芯片数据的输入是从数据包中得到的,但是在实际应用中,更常见的情况是从CEL中获得数据,无论是数据包还是文件输入,读入的数据会存入一个“affybatch"类型的对象中,可以通过执行help(affybatch)获得更详细的介绍
头文件:用于描述实验样本、平台等相关信息,其中包括phenoData,featureData,protocolData以及annotation等几个类
assayData:这是affybatch类必不可少的,他的第一个元素是矩阵类型,用于保存基因表达矩阵。该矩阵的行对应不同的探针组(probe sets),用一个无重复的索引值表示,列对应不同的样品。当使用exprs方法时,调取的就是这个基因表达矩阵
experimentData:一个MIAME类型的数据,设计这个MIAM类的目的就是用于保存MIAME原则建议的注释信息.MIAME原则是一组指导方针,他建议了一组标准来记录与基因芯片实验设计相关的资料
5.3.2质量控制
质量控制对于后续的分析至关重要,原始图像(DAT文件)级别的质量控制一般用个芯片公司自带的软件(如affymetrix公司的GCOS)完成。本节中,质量控制主要集中在CEL文件级别的处理,从最简单的直观观察,到平均值方法,再到比较高级的数据拟合方法。这三个层次的质量控制分别功能分别用image函数simpleaffy包和affyPLM包实现
直观的查看一下芯片上所有位点的灰度图像
image函数表示选取的CLLbatch中的第一个基因芯片(即“CLL10.CEL")的数据,然后调用image函数根据CEL文件中的灰度信息画图,affymetrix芯片在印刷时会在四个角印刷特俗的花纹,并且在左上角印刷芯片的名称,花纹与芯片名称可以帮助我们借助这个图像分辨率来了解芯片数据是否可靠。如果无法分辨四角花纹或芯片名称,很可能数据有问题
根据image函数的图像信息,可以对芯片的信号强度产生一个总体认识:如果图像特别黑,说明信号强度低;如果图像特别亮,说明信号强度很可能过饱和
尺度因子affymetrix公司规定,用于比较的芯片之间的尺度因子的比例必须小于三
检测值(detection call)和检出率(percent present):一组探针能否被检测到,用检测值有(present,简称R)、无(Absent,简称A)和不确定(Marginal presen,简称M)来表示检测范围的上下边界(a1及a2)选用了默认值0.04和0.06.检出率,是用所有检测值为p的探针数量除以芯片所有探针组数控得出的百分比。如果检出率过低,表示大部分的基因都未被检测到,很难说明是该芯片实验有问题,还是这个样品的大多数基因本身就很难检测到,有原因是表达量基地或是其他。因此,需要看多个样品之间的相对差别,如果有的样品的检出率与其他的有比较大的差别,那很可能该样品出现了问题
平均背景噪声(average background):对于每一块芯片,根据所有的MM值作出统计,可以得到背景噪声的平均值、最小值和最大值。往往较高的背景噪声都伴随着最低的检出率,因此这两个指标可以结合使用
标准内参(internal control genes):mRNA是按照5‘端到3’端的顺序来降解的,芯片探针组也是根据这个顺序来设计的,因此探针组的测量结果可以体现这一趋势。因为大部分的细胞都有β-action和GAPDH基因,所有affymetrix在大部分的芯片里都将他们设置为一组观察RNA降解成都的内参基因。根据这两个基于设计的探针组很好的涵盖了他们3‘端和5’端的每一个区段。通过比较他们3‘端相对于中间或者5’端的信号强度,可以很好地指示出实验质量。affymetrix建议这个比值对于β-action不大于3,对于GAPDH不大于1.25,即可以说明这个芯片的质量可以接受。如果这个比值很高,表明不完整的β-action或者GAPDH的存在,可能源于体外转录不好或者降解非常严重。如果使用的是affymetrix的小样本实验流程(small sample protocol)而不是常用的标准流程(standard protocol),建议使用3’端相对于中间的比值。原因是小样本流程有更扩增次数,有可能产生更多较短的转录序列,不可避免的带来3‘端的偏倚。为了验证杂交的质量
根据上述标准,可以使用Bionconductor的simpleaffy包对affymetrix芯片数据进行质量评估,最后得到质量控制总览图(图5-8)
qc图的看法,图5-8是CLL数据集中全部24个芯片数据的质量控制总览图。图5-8中从左至右,第一列是所有样品的名称;第2列是两个数字(对应每个样品),上面是以百分比形式出现的检出率,下面的数字表明平均背景噪音;第3列("QQ stats")最下面的横轴是尺度因子等指标对应的坐标,取值范围从-3到3,用浅蓝色虚线作为边界。第3列用到了三项指标:尺度因子、GAPDH3'/5'比值和action3比值(记做graph3/graph5和action3/action5),分别用实心圆、空心圆和三角标志表示出来。另外,如果第三列中出现红色的”bioB"字样,说明该样品中未能检测到BioB
简单地讲,所有指标出现蓝色表示正常,红色表示可能存在质量问题。但是根据实际情况不同,还要进一步分析。一般来讲,如果有一个芯片各项指标都不太正常,尤其是BioB无法检测到,建议判定为该芯片实验失败。如图5-3中的样品”CLL15.CEL",这个数据的检出率(38.89%)明显低于其他样品,action3/action5远大于3,而且没有检测到BioB,因此可以判定此数据无效。如果多个芯片都出现了相同的问题,原因则可能是多方面的;如左侧第2列24个芯片的检出率和背景噪声都很高,原因是阈值设定过高,如果降低阈值,大部分就会变蓝;再如,全部芯片都不能检测到BioB,有可能是嵌入探针所针对的DNA溶液加入比例不对
基于平均值家建设的评价指标都有一个,默认的假设,那就是对于每一块新片,质量是均匀的,不会随着位置变化发生较大的变化。但如果关注芯片的每个小格(Grid),就会发现格与格之间的质量也是有差异的,这可能由于芯片印刷的问题,也可能是杂交过程中出现的问题。那么如何才能得到比较可靠的质量评估,这需要设计多种能反映芯片数据全貌的指标综合分析从而得出最终的结论。这些指标要在对原始数据拟合(回归)的基础上计算得到,然后以图的形式显示,包括:权重(weights)&(residuals)图、相对对数表达(relative log expression,RLE)箱线图、相对标准差(normalized unscaled standard errors,NUSE)箱线图、RNA降解曲线、聚类分析(cluster analysis)图、主成分分析(principal component analysis,PCA)图、信号强度分布图及MA图等,以上功能由Bionconductor中的affyPLM包实现
一般情况下,在权重图中,绿色代表较低的权重(接近0),白色、灰色代表较高的权重(接近1);在残差图中,红色代表正的高残差,蓝色代表负残差;在残差符号中,红色代表正的残差,蓝色代表负的残差。如果权重和残差都是随机分布的,应该看到绿色均匀分布的权重图和红蓝均匀分布的残差图。图5-9中,左上为原始图像,右上为权重图,左下为残差图,右下为残差符号图。另外,还可以看到,图中左上部出现了一些白色的条块,这是正常的现象,因为有些时候,探针会按照GC比率(GC ratio)排布从而导致白斑的,那什么样的权重和残差图是不可接受的呢
在对比实验中,即使是相互比较的对照组与实验组之间,大部分基因的表达量还是应该保持一致的,平行实验之间一致性更强。相对对数表达(RLE)箱线图可以反映上述趋势,它定义为一个探针组在某个样品的表达值除以该探针组在所有样品中表达值的中位数后取对数。一个样品的所有探针组的RLE的分布可以用一个统计学中常用的箱型图形表示。如果使用RLE箱线图来控制CLL数据集的实验质量,每个样品的中心应该非常接近纵坐标0的位置(图5-11)。如果个别样品的表现与其他样品的表现与其他大多数明显不同,那说明这样品有问题
NUSE是一种比RLE更为敏感的质量检测手段。如果根RLE箱线图对某个芯片的质量产生怀疑,那么再结合NUSE图,这种怀疑就可以确定下来。NUSE定义为一个探针组在某个样品的PM值的标准差除以该探针组在各样品中PM值标准差的中位数,如果所有芯片的质量就是非常可靠的话,那么他们的标准差会十分接近,因此他们的NUSE值会都在1附近。然而,如果有某些芯片质量有问题的话,就会严重地偏离1,进而导致 其他芯片的NUSE值偏向相反的方向。当然,还有一中非常极端的情况,那就是大部分芯片有质量问题,但是他们的标准差却比较接近,反而会显得没有质量问题的NUSE值明显偏离1,所以必须结合RLE及NUSE两个图才能作出更可靠的判断。例如结合图5-11和6-12,可以看出CLL1和CLL10的质量明显有其他样品,所以需要舍弃。
RNA降解是影响芯片数据质量的一个很重要因素,因为RNA是从5‘端开始降解的,所以理论上探针5’端的荧光强度应该低于3‘端的荧光强度。RNA降解曲线的斜率表示了这种变化趋势,斜率越小,说明降解较少;反之,则降解越多。但是,如果斜率太小,甚至接近0,就要特别注意,这不仅不代表基本没降解,而且可能全部被降解。因为,在实际实验中国,基本没降解是不可能的,很可能是因为RNA降解太严重,才导致计算值接近,从图5-13中,可以看出CLL13对应的曲线几乎平行于横轴,因此判断很可能降解严重,需要作为坏数据去除
最后经过上面的综合分析,需要去除的三个样品数据:CLL1、CLL10和CLL13
前面讲到的几种质量控制放大都是基于“平均值”思想的。其实,还可以从另外一个角度来对芯片质量进行检验。这就是利用芯片之间的相互关系,例如在对照试验中,理论上组内同种类型的芯片数据应该聚拢在一起,两个组之间应该明显地分离。这个思想是非常合理的,需要做的就是找到一种指标来刻画芯片数据之间的相似度或距离,Pearson线性相关系数就是最常用的这类指标。基于“相互关系”的方法,其核心是相关系数矩阵,它包括了全部关系信息。计算相关系数矩阵,苦役使用预处理子琪娜的芯片数据,也可以使用标准化之后的数据(见例5-8)。例5-8中,通过查看相关系数矩阵“pearson_cor”,可以看到组内(稳定组和恶化组)和组件相似度差异不大。在实际应用中,往往不是直接查看相关关系矩阵,而是根据有相关系数矩阵,而是根据由相关系数矩阵导出的距离矩阵,进行聚类分析或主成分分析以对样品归类并图形化显示(见例5-8)
从聚类分析的整体结果看(上图),稳定组和恶化组根本不能很好地分开,这样还不能简单判定实验完全失败,所有样品数据都不能用。理论上讲,如果总体上两组数据是分开的,那么说明我们关心的导致癌症从稳定到恶化的因素起主导作用;如果不是,很可能其他因素起主导昨天,因此导致聚类被整体打乱,则不能简单判定所有样品出了问题。芯片分析往往采用两个主成分来构建分类图,从图5-15也可以看出稳定组(矩形)和恶化组(菱形)根本就不能很好分开。使用主成分分析时,还必须考虑前2个主成分是否具有代表性,这要看前2个主成分的累计贡献率,如果低于60%,可以考虑另外一种类似的方法来构建分类图,即多维尺度分析(metric multi-dimensional scaling method)
5.5.3背景矫正、标准化和汇总
芯片数据通过质量控制,剔除不合格的样品,留下的样品往往需要通过散步处理(背景矫正、标准化和汇总)才能得到下一步分析所需要的基因表达矩阵
首先,讲一下背景矫正,前面提到的芯片中MM探针的作用是检测非特异性杂交信号。理论上,MM只有非特异性杂交,而不会有特异性杂交,MM的信号值永远小于其对应的PM信号值,那么可以用简单的书学方法处理一下,做一个PM-MM或者PM/MM即可去除背景噪声的影响。但实际中,经常发现大量的MM信号值比PM信号值还要高。因此,需要应用更为复杂的统计模型来去除背景噪声,这个过程叫做背景矫正
其次,介绍一下标准化。标准化的目的是使各组/次测量或各种实验条件下的测量可以相互比较,相处测量间的非实验差异,非实验差异可能来源于样品制备、杂交过程或杂交信号处理等,芯片数据标准化,根据其基本假设总体上分为两种:“bulk normalization”和“control-based normalization”。前者假定仅有一小部分基因表达值在不同条件下有差异,而绝大部分基于表达值不变,因此使用所有的基因表达值作为参考进行标准化;而后者使用表达值被认为是恒定不变的参考基因(通常为芯片制造商提供的外源参考基因)作为标准进行标准化。在实际应用中,芯片数据标准化只采用第一种方法
’最后,使用一定的统计方法将前面得到的荧光强度从探针(probe)水平汇总到探针组(probe set)水平,这个过程被称为汇总(summarization)
上述散步处理过程可由一个函数实现,它就是affy软件包中的expresso函数,通过控制这个函数的参数,就可以分别制定三步处理具体应该采用的方法
expresso参数复杂,可以通过help(expresso)命令获得他的全部参数说明
芯片内标准化方法针对双通道(见2.3.1),又可分为全句话方法(global normalization)和荧光强度依赖的方法(intensity-depent normalization),前一种方法假设红色染料的信号强度是正比例关系的,即R=kG(R:红色信号强度;G:绿色信号强度,k:假设为常数)。差异表达值(log2(R/G)在标准化之后相当于平移了一个常量c=log2(k),数学上表示为log2(R/G)-c=log2(R/kG)=0。但实际上,c并不是一个常数,而是另外一个变量的A的倍数c(A),这里A=1/2*log(R/G),这一点可以从MA图(图5-16A)中看到M的总趋势不是平行于X轴的
MA(M代表Minus,A代表Average)图的英文全称是:The distribution of the red/green intensity ratio plotted by the average intensity .MA图中,定义M=log2(R/G)
5.3.4 预处理的一体化方法
前面5.3.3讲到了通过设置参数,expresso函数可以自动化实现整个预处理过程(背景矫正、标准化和汇总)。除了expresso函数,affyPLM软件包提供了three step函数可以更快的实现同样的功能
例5-11
从信号强度分布图来看(图5-17),MASS算法处理后的数据出现了很多负数,从图5-17中还可以看出原本不重合的多条分布曲线(图5-17A)在经过了RMA算法处理后重合到了一起(图5-17C),有利于下一步的差异表达分你想。但是他却出现了两个峰值,这并不符合高斯正太分布。如果采用gcRMA算法处理,不但所有的曲线很好地重合到了一起,而且他们的分布也更加近似高斯分布(图5-17D)。因此,gcRMA算法对RMA算法的改进在这一组数据上表现得很明显。然而,这并不意味着gcRMA算法总是优于RMA算法,对于不同的数据进行算法比较,才能进一步确定哪种算法最合适
通过箱线图(图5-18)可以看到三种算法处理后的个样品的中值十分接近。MASS算法总体而言还是不错的,只是有一定的拖尾现象。而gcRMA的拖尾现象比RMA要明显的多。这说明针对地表达量的基因,RMA算法比gcRMA算法表现的更好
还可以通过MA图(图5-19)来查看标准化处理的效果,从例5-12中(只示例CLL中一部分数据)可以看出:在原始数据中,中值(红色曲线)偏离0,经过gcRMA预处理之后,中值基本保持在零线上。注意,运行例5-12最后一行代码时,MAplot函数不支持ExpressionSet类型的数据CLLgcrma,读者可以将其转换为Affybatch类型后再运行
例5-12
5.4基因芯片数据分析
本书2.2.3提到了基因芯片表达差异的显著性分析在基因表达数据分析中的特殊地位,而且这个地位很大程度上都是基于芯片领域的经验得来的。尽管研究人员不断改进芯片试验和统计学方法,并不断寻求一些新的方法(例如机器学习)来分析芯片数据,当前最主要的应用依然还是基因表达差异的显著性分析。本书从例5-13到5-17的程序涵盖了一个显著性分析的完整流程,读者可以一次运行全部代码,也可分开运行以便于逐个掌握,但是必须连续运行所有程序,因为后面的程序依赖前面程序的输出。通过这几个实例,读者可以清晰地把握Bioconductor处理芯片数据的整个流程
5.4.1选取差异表达基因
基因表达差异的显著性分析的第一步就是选取表达具有显著性差异的基因。总体来说,这类分析的基本假设是标准化的芯片数据符合正太分布,因此所用的统计方法基本上就是T/F检验和方差分析。当前,常用的分析方法主要有:T检验、SAM(significance analysis of microarrays)方法、CyberT方法、经验贝叶斯(Empirical Bayes)方法、方差分析(The Analysis of avriance,anova)和RP(Rank produces)方法
RP方法通过计算基因表达值的集合平均值及其排序的变化来比较两组间的差异。SAM、CyberT和经验贝叶斯都是调整后的T检验,而且后两种方法都采用了贝叶斯方法进行调整。CyberT将标准差及信号强度的关系使用线性模型进一步强化,提高了准确率,有研究指出,它的计算结果要好于SAM算法。经验贝叶斯又在CyberT基础上进行了改进,首先,经验贝叶斯在计算标准差时考虑的全部基因,而不是排序后相近的(人为设定的同一个窗口范围内)基因;其次,经验贝叶斯不在局限于两组数据,可以通过设计实验对比矩阵,计算多种复杂条件下的差异表达。因此,经验贝叶斯是当前最为常用的分析方法,他已经完整地由Bioconductor中的limma包实现。但是,总体来睡哦,现在没有仍和理论或者经验能够证明哪种算法是最好的
limma包是基于R和Bioconductor平台的分析芯片数据的综合软件包,例5-13是应用limma包计算CLL数据集中差异表达基因的整个流程
首先,可以从最终结果(即变量“dif")中查看所有的两组数据(即恶化期与稳定期)之间差异表达基因的信息。每行数据对应一个探针组,包括8列信息:第1列是探针组在基因表达矩阵eset中的行号;第2列“ID”是探针组的AffymetrixID;第3列“log FC”是两组表达值间已以2为底对数化的变话倍数(Fold change,FC),注意由于基因表达矩阵eset本身已经取得了对数值,因此这里实际上只是两组基因表达值均值之差;第4列“AveExpr"是该探针组在所有样品中的平均表达值(average exprssion value);第5列”t"贝叶斯得到的调整后的俩组表达值T检验中的t值;第6列“P.Value"是贝叶斯经验得到的P值;第7列“adj.P.Value"是调整后的p值;第8列”B“是经验贝叶斯得到的标准差的对数化值,由于涉及较深的数学基础,为了加深limma的计算过程,可以用简答函数来得到探针组”39400_at"的行号、“AveExpr"和“log FC“
然后逐次介绍这个分析过程的六个关键步骤:构建基因表达矩阵、构建实验设计矩阵、构建对比模型(也叫对比矩阵)、线性模型拟合、贝叶斯检验和生成结果报表(dif)
构建基因表达矩阵时,需要注意的是,limma对输入数据的要求是必须是经过对数转换的表达值。例5-13调用了gcRNA算法来对数据进行预处理,得到标准化的基因表达矩阵eset,这个矩阵是经过对数变转换的。但是,如果是从其他算法(例如MASS)得到的数据,还需要自行编程进行对数转换
实验设计矩阵需要调用model.matrix函数构建,该函数需要用户指定一个公式,构建好的实验设计矩阵design要提供给下一步的拟合函数lmFit。通过查看design变量,可以看到下面内容:实验设计矩阵的每一行对应一个样品的编号,每一列对应样品的一个特征,每个特征实际上形成了一个包含若干表达基因。比如,在例5-13中,一共有21个样品,他只考虑了一个因素,即疾病状态(disease),这个因素有两个水平,即恶化(progressive)和稳定(stable),最后实验矩阵中出现了diseaseprogres和diseasestable两个特征。多因素和多水平的实验设计,会产生更多的特征
比较模型需要调用makecontrasts函数构建,该函数需要用户制定一个公式,这个公式表明用户对实验矩阵design中的哪一个特征和哪一列特征进行比较,以得到差异。例5-13指定的是在恶化和稳定两个水平之间进行比较,以寻找这两个水平之间的差异表达给予你,因此,公式表示为contrasts='diseaseprogress. - diseasetable",zhuyi "diseaseprogress."中的“.",是CLL数据集中对:progress”简写带来的,不是运算符号
接下来是根据实验设计矩阵条用函数对基因表达矩阵做线性拟合lmFit(eset,design),根据对比模型进行插值计算,最后是贝叶斯检验(见5.4.1)。由于这些射击较深的统计学背景
最后,重点讲一下topTbale函数,它的主要功能有三项:1.对贝叶斯检验得到的“P.Value"进行调整得到”adj.P.Value",调整的算法默认是BH(Benjamini-hochberg)算法2.生成全部基因的检验结果报表3.还可以通过某个参数来筛选具有显著性差异表达的基因,通常使用“adj.P.Value,常用的阈值一般是0.05或者0.01,也可以使用”P.Value"(见例5-13)这里有三点需要注意:1.topTable提供了多种方法可以做基因筛选,例5-13就通过对数化的变化倍数“lfc"去掉了一些在两组条件下变化不大的基因,但是这样做的理由并不是很充分,因为变化倍数不大的不一定就是没有显著变化2.topTable还提供了参数可以对基因进行排序,比如使用“adj.P.Value"从小到大排序,可以清楚地看到变化最显著的基因3.显著基因的选取具有一定的主观性,阈值设定是0.01还是0.05并没有严格的规定
5.4.2注释
找到了差异表达基因,接下来是使用注释包对差异表达基因进行注释。在4.2.3中的注释一部分讲解中提到过Bionconductor的几种注释方式,对affymetrix芯片产生的差异表达基因的注释就采用第一类注释方式,即下载对应具体平台的注释包,进行本地注释(这部分代码需要在例5-13后执行)。例5-14只用两种基因ID 来对探针组进行注释,有关用基因本体路(GO)和通路(pathway)注释的内容与5.4.3的GO和通路富集分析一起讲解
例5-14注释实质上就是一个ID映射的过程(见2.3.1),也就是把芯片探针组的ID映射到基因国际标准名称(gene symbol)和Gene symbol是由人类基因命名委员会(the hugo gene nomenclature committee,hgnc)为每个人类基因提供的唯一命名,一般是大写拉丁字母缩写形式,后面可加数字。NCBI对于每一条提交的序列,根据其存入的NCBI数据库时的先后顺序赋给一个整数,这就是GI。这里增加了一列GI的目的,就是为了下一步通过GI映射到基因本体论(GO),然后做GO 的富集分析
“GO:0022904"
5.4.3统计分析及可视化
差异基因注释后的下一步工作就是统计分析和可视化(见2.3)。对于差异表达分析,最主要的两种统计分析就是GO的富集分析(见2.4.4)和KEGG通路的富集分析(见2.4.5)。这两种分析方法分别由Bioconductor的Gostats包(见例5-15)和geneanswer包(见例5-16)实现
从例5-15最终结果(即变量"bp")可以看到每个显著性富集的GOterm含有六列信息(不包括行号):第1列是GO term的ID,该ID对应的内容在后面列出,如”GO:0022900",对应后面的“respiratory electron transport chain";第2列”p.value"是超几何检验的p值;第3列“oddsratio”是超几何分布中的比值;第5列“count”是差异表达基因中世纪属于这个GOterm的基因数量;低6列“size"是总基因中属于这个GO term的基因数量。以“GO:0022904"为例,此次分析的总基因数量为8804,差异表达基因数量是1138804个基因中有75个基因(即”size")属于”GO:0022904",如果从8804个基因中随机抽取113个基因,那么113个基因中期望属于“GO:0022904"的基因数量应该是2.25(即”ExpCount"),而实际上12个(即‘Count"),根据这个情况,计算出来的P值应该是1.506871e-10(远远小于0.01),因此可以说差异显著基因在“GO:0022904"上是显著富集的。为了加深理解GO富集分析的计算过程,读者可以用简单函数来计算P值。另外5-15还通过函数htmlReport输出了HTML的报告文件,它在前面六列的基础上,多加了一列GO term的描述,并且链接到GO的官方网站
值得注意的是,对比例5-15和5-14的结果报表,可以看到例5-15的报表bp没有根据p值来筛选统计上显著富集的GO term,因此包括了全部的GO term
例5-16调用了GeneAnswers包实现了KEGG通路的注释、统计和可视化的给你。而且GeneAnswers功能强大,除了KEGG,还可以支持GO\REACTOME和CABIO等多个数据库,可以通过设定参数categoryType分别指定注释类型。从例5-16最终结果可以看到每个显著性富集的通路;第2列”precent in the observed List"表示在观察到的基因列表中的比例;第3列“percent in他和genome”是在基因组中的比例;第4列“fold of overrepresents"是基因过表达的倍数;第5列”OddRatio"是超几何分布中的比值比;第6列“P.Value"是超几何检验的P值
可视化可以直观显示统计结果,帮助研究人员进一步理解实验结果并找到下一步工作的思路,因此可视化和统计分析密不可分。Bioncoductor的所有统计分析包几乎提供了相应的函数来显示数据分析结果。这里根据前面的分析结果,调用pheatmap包来绘制差异表达热谱(图5-20),调用Rgraphviz包来绘制显著富集的GO term的关系图;最后绘制显著富集的KEGG 通路的关系图和热图
实例3例5-24主要完成找到对比1和4之间、对比2和3之间共同表达的差异表达基因,对比5的差异表达基因,并对三组差异基因座注释和GO富集分析。每组数据输出三个HTML格式的报告文件,分别对应GO三个领域的富集分析的结果,该文件内容请看例5-15有详细介绍。由于pathway分析,特别是pathway的显示要占用较大内存资源,必须在Linux服务器上运行