1基因功能富集分析的基因功能数据库和数据类型
基因功能富集分析中的基因功能指的是众多代表一定的基因功能特征和生物过程的基因功能集(gene set) . 由这些基因功能集构成的常用基因功能数据库有GO , 生物学通路, 包含生化反应、代谢或信号通路的KEGG , Reactome , Biocarta 等, 整合数据库, 如MsigDB 等.
2基因功能富集分析方法基于算法的分类
(1) 算法原理. 作为最早出现的一类基因功能富集方法, ORA针对的数据是一组感兴趣的基因(基因列表), 其目的是在这组基因中发现有明显统计学上富集的基因功能集. 其基本步骤包括先将给定的基因列表与待测功能集做交集, 找出其中共同的基因并进行计数(统计值), 最后利用统计检验的方式来评估观察的计数值是否显著高于随机, 即待测功能集在基因列表中是否显著富集. 常见的统计学方法有卡方检验, Fisher精确检验和二项分布检验 , 而其中最为广泛使用的是Fisher精确检验, 即利用2×2的列联表, 根据超几何分布来检验基因列表中的基因在待测功能集中是否显著富集.
(2) 常用方法和工具. 目前有许多工具及数据库提供ORA的使用, 包括DAVID, GOstat, Gen- MAPP等. 其中DAVID提供的基因功能集数据库最为全面, 不仅包含大量不同物种的基因功能注释信息, 也涵盖了主流的生物通路注释库如GO条目和KEGG通路, 而且还提供了基因名称转换功能, 及良好的结果展示界面. 因而, DAVID已成为目前应用最广泛的ORA分析工具.
(3) 优缺点. ORA方法基于完备的统计学理论, 具有结果稳健、可靠的优点. 但目前常用的基于统计检验的ORA方法也有一定的局限性, 包括: (ⅰ) 在对基因进行计数时, 丢失了基因的表达水平或表达差异值等基因属性信息; (ⅱ) 把通路中的所有基因进行同等对待, 忽视了基因在通路内部生物学意义的不同(如调控和被调控基因的不同)及基因间复杂的相互作用; (ⅲ) 在获得感兴趣的基因时, 往往需要选取合适的阈值, 而这样有可能会丢失显著性较低但比较关键的基因, 导致检测灵敏性的降低. 为此, 人们需要开发新的富集分析方法来解决这些局限性.
(1) 算法原理. 相比于针对一组感兴趣的基因通过计数来进行富集分析的ORA方法, 第二代功能富集分析方法FCS的输入数据不仅是全基因组基因, 并且还考虑到每个基因的表达水平或表达差异值等基因属性信息. 此外, ORA的检验对象是感兴趣的基因列表与待测基因功能集的共同基因, 而FCS的检验对象则是待测基因功能集中的所有基因. FCS方法的基本步骤包括: 首先根据案例和对照状态下的基因表达谱对基因组中所有基因表达水平的差异值进行打分或排序, 或直接输入排序好的基因表达谱; 其次是把待测基因功能集中的每个基因的分数通过特定的统计模型转换为待测基因功能集的分数或统计值; 最后利用随机抽样获得的待测基因功能集统计值的背景分布来检验实际观测的统计值的显著水平, 并判断待测基因功能集在案例和对照实验状态下是否发生了统计上的显著变化.
(2) 常用方法和工具. GSEA是常用的一种FCS方法. 其基本思路是首先基于表达差异值对全基因组基因进行排序得到基因列表, 然后检验待测基因功能集中的基因相对于随机情况而言, 是否显著地位于基因列表的顶端或底端, 即待测基因集的表达水平在案例和对照实验状态下是否发生了明显的变化. 具体而言, GSEA首先计算了每个基因的表达水平与案例和对照两种状态下的关联系数, 并对关联系数从高到低进行了排序; 然后, 针对一特定的待测基因功能集, 根据其中每个基因的排序情况, 利用加权的近似KS检验, 获得待测基因功能集在排序列表中的KS检验值-也即待测基因功能集的统计值; 为检验观察统计值的显著性, GSEA通过对样本的随机排列来获得统计值的背景分布, 并利用该分布来评估观察统计值的 P 值. 除对样本的随机排列外, 在样本量较少的情况下, GSEA也可用对基因的随机排列来估算待测基因功能集的显著水平.
在FCS方法中, 不同方法采用了不同的统计模型来计算待测基因功能集的统计值. 如GSEA使用了加权的近似KS检验, GSA利用基因的表达差异的 t 值的绝对值来计算待测基因功能集的统计值, PADOG采用基因的 t 值加权平均值, SAFE利用了Wilcoxon rank sum统计检验方法, 而Global Test则采用了经验贝叶斯广义线性模型. 另外, 在获得待测基因功能集统计值的背景分布时, 不同的FCS方法采用了两种主要模式来定义背景, 一类是竞争型(competitive)模式, 即将待测基因功能集外部的基因当作背景, 而另一类是自足型(self-contained)模式, 即将待测基因功能集本身当作背景. 总体来说, 自足型模式的检验功效要好于竞争型 , 但少部分基因的显著性如果特别高的话也会造成自足型模式一定程度的过度预测. 无论是竞争型或自足型模式的FCS方法, 在通过随机抽样获得背景分布时, 既可以对基因进行随机排列(permutation)即基因抽样(gene sampling), 也可以对样本进行随机排列, 即样本抽样(subject sampling). 基因随机排列把每个基因独立对待, 而实际上基因之间有复杂的相互关系, 导致基因抽样的结果与实际的背景分布可能有一定的偏差. 而样本抽样可以保留基因间的相互关系, 因而抽样结果要更稳健一些. 因而, 在样本量大的情况下, 常用样本抽样; 而在样本量比较少的情况下, 则会利用基因抽样. 一般来说, 竞争型的模式通常采用基因抽样的方法, 如Sigpathway-Q1, GAGE等, 而自足型检验通常采用表型抽样的方法 , 如GSEA, Sigpa- thway-Q2, GSVA等.
FCS方法通常是把所有样本分为案例和对照两种状态, 然后来计算每个基因在两种状态下的表达差异值. 在这样的处理方式中, 单个样本中的基因表达信息没有被充分考虑. 例如, 待测基因功能集的基因有可能在一个样本中都有显著变化, 而如果放在两种状态下进行处理的话, 这种在单样本下的基因协同变化可能就无法观察到了. 为此, FCS方法中还有一类基于单样本(single-sample, SS)的分析方法 , 首先利用基因表达水平针对每个样本中的基因进行打分, 再利用常见的统计检验方法把样本层面的基因分数同表型联系起来. 这类方法包括PLAGE, ZSCORE及SSGSEA等. 该方法的一大优点是可以通过调整相关协变量, 相对简单地分析一些非常复杂的, 如包含时间进度的多样本设计 .
传统的FCS方法主要针对基因表达芯片进行分析, 而随着高通量测序技术的发展, 已经开发出一些方法直接利用RNA-seq原始数据找到差异表达基因并进行功能富集, 通常使用泊松分布(poisson distri- bution)或负二项分布(negative binomial)找到差异表达基因, 常用方法有edgeR , DESeq 等; 另一类方法则对原始数据进行转换后再沿用已有的基因表达芯片功能富集分析方法进行后续分析, 常用方法有VOOM 等.
(3) 优缺点. 总体而言, FCS相较于ORA方法在理论上有明显突破, 考虑到了基因表达值的属性信息, 而且以待测基因功能集为对象来进行检验, 也使得检验结果更加灵敏. 但FCS方法仍然把待测基因功能集中的每个基因作为独立的个体, 忽略了基因的生物学属性和基因间的复杂相互作用关系.
(1) 算法原理.PT方法利用了通路的拓扑结构来把基因的生物学属性整合入功能的富集分析. 但目前在基因功能注释数据库中仅有KEGG提供了通路的拓扑结构, 而最常用的GO等注释数据库中基因功能集中不包含任何拓扑结构信息, 仅提供了可能属于同一通路的所有基因列表. 因而, PT方法不能被用于GO通路的富集分析. 目前, 已有一些基于生物网络拓扑结构的富集分析方法, 它们利用数据库中的基因相互作用关系来间接地把基因的生物学属性整合入功能的富集分析. 这些方法的主要思路是利用现有的全基因组范围的生物网络, 如HPRD , FunCoup , STRING 等, 来提取基因间的相互作用关系, 包括基因的连接度及基因在网络中的距离等, 来计算一给定的基因列表与一待测的基因功能数据集在网络中的连接关系, 从而来推测待测基因功能集是否与给定基因列表紧密相关, 如NEA, EnrichNet等. 另一些方法是利用网络拓扑结构来计算基因对特定生物通路的重要性并给予相应的权重, 然后再利用传统的ORA或FCS方法来评估特定生物通路的富集程度, 如GANPA和LEGO等. 还有一些方法是直接把基因列表中的功能富集问题利用网络转化为基因对的功能富集问题, 如NOA等. 以下分别举例进行说明.
(2) 常用方法和工具. NEA和EnrichNet是两个基于网络距离的富集分析方法. 它们的主要思路都是去检验一个给定基因列表在网络中与待检测的生物通路的基因功能集相对于随机是否具有显著短的网络距离. 这两个方法的区别是NEA直接计算了给定基因列表与待检测基因功能集在网络中的平均连接度, 并通过对网络进行随机重调的方式, 来评估该统计量的显著程度; 而EnrichNet采用重启型随机游走(random walk with restart, RWR)的算法来计算给定基因列表与待检测基因功能集在网络中的距离. 然后利用随机网络与背景统计值进行比较来评估统计显著水平. 但由于网络的复杂性及对网络进行随机重调的计算效率问题, 这两个方法在实际应用过程中具有计算效率低的缺点, 而且实际测试中还发现由于对网络结构过大的依赖所造成的假阳性率高的系统偏差.
和以上方法不同, NOA利用网络把一个基因列表的ORA分析转化为基因对的ORA分析. NOA首先找到所有在网络中有连接的基因列表中的基因对, 并要求这些基因对应具有同样的功能;