Closed ixxmu closed 1 year ago
我们通过差异分析得到基因的FC和Pvalue后,基本上都会走GO/KEGG富集分析和GSEA基因集富集分析流程,这似乎已经成为了我们转录组分析中的固定流程,但实际上关于基因集的分析(GSA),科学家们经历了很长时间的探索,目前常用的GSA方法也都有自己的不足,新的方法和工具正在不断被开发,GSA的分析对于科学问题的阐述仍有很多缺陷并面临挑战。这周,我们通过两篇文献,一起来看看GSA的前世今生,目前有哪些主流的算法、方法,这些方法又是基于什么样的前提假设?我们常用的工具使用的又是什么方法,在解释科学问题时这些方法有哪些局限性和不足?我们在选择方法、工具进行GSA时需要注意哪些问题?
引言:
早期分析基因表达数据的方法是单基因分析,其中使用t检验或Wilcoxon秩和检验等统计检验对病例和对照样本的每个基因的表达量进行比较,并计算p值。然后,为了减少多重比较产生的假阳性数量,对多重比较进行了调整。接下来,调整后的p值小于给定阈值的基因被预测为差异表达。最后,我们尝试利用这些基因进行生物学解释。
这种方法有几个缺点:
①过分的多重检验矫正可能会导致假阴性,特别是像比较保守的方法,如Bonferroni
②主观上,研究人员采取任意的cut-off截止值来选择合理数量的基因来进行进一步的研究和解释(有cherry pick的嫌疑)。客观上,对阈值的不同选择可能会导致不同的生物学解释,保守阈值可能导致假阴性,放宽阈值可能导致假阳性。
③细胞过程通常与具有共同生物学功能或属性的基因组的表达模式的变化有关,这一组基因中有意义的变化比单个基因的变化在生物学上更可靠和可解释(关于这些基因集的先验知识可以通过公共在线数据库获得,如GO、KEGG和OMIM)
④高通量技术虽然使在单一实验中监测数千个基因的表达成为可能,但也引入了处理高维数据的挑战。为了处理高维数据,降维方法被用于下游分析和可视化中(潜在偏差)。在高通量基因表达研究中,依赖于生物学相关的基因集是最直观和生物学相关的降维方法(考验大家的生物学背景知识)。
⑤当不同处理中单基因的测量值差异细微时,单基因方法很难将基因表达的真正差异与样本的生物学差异区分开来。另一方面,基因集分析可能能够检测到一个基因集内的基因表达模式的这种微妙但一致的变化。
⑥多功能基因,即参与多种生物活动的基因,是很常见的。例如,Pritykin等人报道,果蝇、智人和酿酒酵母的多功能基因分别占注释基因的24、26和19%。如此多的多功能基因的存在意味着单基因分析可能会导致错误或不明确的结论。
⑦单基因方法可能报告几百到几千个基因的差异表达,解释一长串差异表达的基因是一项繁琐的任务,容易使研究者倾向于一个感兴趣的假设(先入为主)
基因集分析(GEA),也称为富集分析,试图解决这些缺点,并从基因表达数据中获得见解。基因集分析的主要目的是确定一组特定的感兴趣的基因的表达水平的富集或缺失,称为一个基因集。
基因集是基于各种标准定义的,例如作为某些生物途径的成员或在特定条件下共同表达。这些基因集被收集到称为基因集数据库的集合中,如MSigDB、GeneSigDB和GeneSetDB是三个专门为基因集分析开发的集合。
这些基因集的收集使研究人员能够对生物学相关基因而非单个基因进行分析,以确定基因中哪些与表型相关
目前已经有有大量的基因集可用的分析方法,这些方法的不同之处在于
本文提供了100多种基因集分析方法/工具的列表(推文中将对具有代表的工具使用方法对应列表截图在推文中进行展示,有兴趣的同学可以自己检索文章下载附表),但本综述的目的不是讨论所有可用于基因集分析的工具。相反,作者仅使用一组有代表性的方法,根据基因集分析方法的不同,提供基因集分析法的模块化概述,并强调了每一类方法的缺点及其面临的挑战。
为了更好的展现这些方法,我们制作了一个详细的思维导图,下面的内容(1-3)属于基于思维导图提纲挈领的介绍,我们过滤掉了大部分数理部分便于读者流畅阅读,对数理部分有兴趣的同学可以下载思维导图并阅读原文献,在公众号后台回复“GSA思维导图”即可获得完整清晰思维导图。
GSA方法可以大致分为三类:
ORA其实是单基因分析的自然延伸,ORA使用一个基因列表L,该列表包含由单基因分析方法预测为差异表达的基因。这些基因可以是在两个不同条件下的表达量差异显著的基因,或者是与某种生物学过程相关联的基因。比如我们常见的GO/KEGG富集分析。
其基本假设为:基因独立性和等效性。具体来说,ORA假设基因在生物过程中是相互独立的,并且对于生物过程的影响是相等的。
其零假设为:基因列表L中属于某个先验基因集(如来自GO、KEGG)中的基因集Gi在两个或多个表型之间没有差异表达
计算:在Gi中存在n'i个差异表达基因的概率通过超几何分布计算
显著性评估:
其优点在于:简单、完善的底层逻辑以及易于实现
其缺点在于:基本假设在生物学上并不总是成立的,事实上,已经证明基因、蛋白质和其他生物分子通常会协同作用;并且ORA只利用差异表达基因,而忽略了其余基因的所有定量测量。然而,即使那些p值略高于截止值的基因也可能对通路活动的检测有所贡献。
与ORA相比,FCS方法的主要目标是使用来自表达式矩阵的所有信息来解决富集问题,而不依赖于ORA在生物学上无效的假设
FCS方法常见步骤:
FCS可以根据是否计算基因分数进一步分为单变量和多变量方法
GSEA是使用最广泛的单变量FCS方法之一,以GSEA方法为代表对 univariate FCS进行阐述
计算:使用对照组和实验组样本中的基因表达测量值之间的信噪比(SNR)差异来计算基因得分;对基因根据其分数进行降序排序,累加求和计算基因集得分(又称富集得分,ES)
其零假设为:没有任何基因集与分组表型相关
显著性评估:ES逐步累计求和(random walk)的最大值为MES,使用permutation test对MES进行显著性评估
具体地说,GSEA会对样本标签进行1000次随机置换,并计算每次置换下的MES值,为ES生成一个"null distribution"。最后,GSEA会根据实际数据的MES值与这1000个随机置换下的MES值产生的零分布,计算观察到的ES的p值,以确定实际数据的MES值是否显著
发展:
多变量方法跳过计算基因分数的步骤,直接从表达矩阵中计算基因集分数。
方法:
该方法基于广义线性模型,旨在回答一个问题:给定基因集Gi中的基因的全局表达模式是否与感兴趣的生物学结果显著相关。
零假设:线性模型中(各基因表达量回归系数)β1 = β2 = · · · = βm = 0
由于样本数量通常少于变量数量(即基因集大小||Gi||),因此无法以传统的方式测试这个零假设。
针对问题提出基本假设:回归系数均来自相同的分布,均值为零,方差未知为τ^2。零假设:τ^2 = 0
该检验是用来检验两个分组的多元均值之间的差异的t检验的自然推广
零假设:对照和处理样本的基因集Gi中基因的平均表达向量相等
显著性评估:
当n(总样本数)>m(Gi基因集中基因数)+1时,服从F分布的统计量
m>n时,使用单值分解(Singular Value Decomposition,SVD)降维
但是多变量方法严格的基本要求(①数据正态性、②样本大小的充分性和③方差齐性)在测试每个基因集的差异富集时,几乎不可能完全被满足。因此,对这些假设不具有鲁棒性的方法往往会导致不可重复的结果。这是为什么与单变量方法相比,多元基因集分析方法没有被广泛使用的原因之一。
并不是通路中的所有基因在其活性中发挥同样重要的作用。通路拓扑结构的知识,如基因产物的相互作用,可以帮助量化基因对通路活性的重要性。拓扑信息可能会提高富集分析的准确性
这些方法也可以分为基于ORA的、单变量的和多变量的方法,以及类似于对应基因集分析方法的零假设
方法工具表现举例:
以上,我们介绍了三种进行GSA的基本方法,大家肯定想知道我们经常用的是什么方法,一般来说大家都是拿Y叔的clusterprofiler包进行GSA分析,我们也将简要介绍一下该包所使用的方法:
The clusterProfiler library was first published in 2012 and designed to perform over-representation analysis (ORA) using GO and KEGG for several model organisms and to compare functional profiles of various conditions on one level (e.g., different treatment groups). Since then, clusterProfiler has matured substantially and currently supports several ontology and pathway annotations, thousands of species with up-to-date gene annotation, users’ annotation data for novel species, and emerging new annotations. Both ORA and gene set enrichment analysis (GSEA) are supported.
可以发现ORA和GSEA在不同的函数方法中使用
在第一部分GSA分析中已经部分谈到,可以联系着看,在这里进行细致分类
在零假设下,通过接受一些简化假设,提出了基因集统计量的参数分布。而后,利用参数分布来评估基因集统计量的意义。
参数化方法是建立基于一些知识或关于基因集分数的潜在分布的假设。例如,PAGE假设一个基因集合内的基因的平均倍数变化值遵循正态分布。SEA,另一种参数方法,假设它的基因集得分——即基因集中每个基因的t检验得分的加权平均值——遵循正态分布。(优点)尽管参数化方法对计算要求不高,但(缺点)它们被批评为过于简单,无法检测真正差异富集的基因集
非参数方法通常不会对基因集得分的基础分布做出任何强假设,而是采用经验分布
原理:在基因采样中,通过将给定基因集Gi的基因集得分S(Gi)与来自参考集U的随机组装的||Gi||基因集(即所有研究中的基因)的得分进行比较来评估其重要性。在基因抽样方法中,大量的随机基因集被组装起来,并计算它们的得分。然后,Gi的基因集得分的显著性值被计算为导致比Gi得分更强的得分的组装基因集的分数,其中,如果一个得分更倾向于拒绝感兴趣的零假设,则与另一个得分相比,该得分被认为更强。
优点:基因采样不取决于样本数量,它已被广泛用于小样本量数据集的基因集分析
缺点:
原理:表型排列,也称为样本排列,通过排列样本标签来评估给定基因集Gi的基因集得分的重要性。首先,计算Gi的基因集得分。SGi表示根据实际基因表达谱的Gi的基因集得分。然后,通过排列样本标签,来合成大量的表达谱。对于合成的表达谱,我们预计Gi中基因的表达模式与表型之间没有关联。接下来,对于每个合成的表达谱,计算Gi的基因集得分。最后,SGi的显著性被计算为导致比SGi更强的分数的合成表达谱的分数,其中,如果一个分数与另一个分数相比更倾向于拒绝感兴趣的零假设,则该分数被认为更强。
优点:表型排列不同于基因抽样,它并不依赖于不现实的基因独立假设
缺点:每个表型都需要大量的样本。这个条件通常并不被满足。
关于phenotype permutation,在我们上一期推文明明PCA区分非常好,但是差异基因数量很少?中ANOSIM部分也有提到,是比较常见的方法
这篇帖子使用例子很形象地介绍了Permutation test的原理,感兴趣的同学可以去看看:
聊一聊置换检验Permutation test的原理
https://zhuanlan.zhihu.com/p/328940140
原理:动态规划方法评估了来自 unweighted Kolmogorov–Smirnov统计量的基因集得分的显著性。对于一个包含n个基因的给定数组和一个给定的基因集Gi,首先,他们计算了基因集得分RSGi。然后,他们计算其p值为获得等于或大于RSGi的基因集得分的概率,假设Gi中的基因分布与表型之间没有关联
优点:比排列方法更有效,而且当排列的数量不够大时,他们的方法不会遭受排列方法产生的统计上不可靠的结果。
缺点:与排列方法不同,它不能扩展到其他基因集分数,如GSEA中的weighted Kolmogorov–Smirnov统计量。
在第一部分GSA分析中已经部分谈到,可以联系着看,在这里进行细致分类
零假设:与其他被研究的基因相比,Gi中的基因并没有不同的表达模式
显著性评估:在计算一个基因集Gi的基因集得分f(Gi)后,通过gene sampling方法以经验的方式评估f(Gi)的显著性
缺点:
零假设:Gi中的基因在不同的表型中没有不同的表达模式。
显著性评估:phenotype permutation
缺点:需要样本量足够大
关注基因相对表达模式的变化。基于hybrid null hypothesis的方法计算给定基因集的Gi的基因集得分,使用所有基因的表达测量,即Gi的基因和¯Gi的基因;然后,使用基因抽样或表型排列方法来评估这个分数的重要性。
GSEA及其基于Kolmogorov–Smirnov统计量的变体,使用的就是hybrid null hypothesis。例如,当前版本的GSEA(版本4.0.3)提供了基因抽样,用于竞争性杂交零假设的显著性评估,表型排列用于自包含杂交零假设的显著性评估。
self-contained null hypothesis根据基因在Gi中的表达值来定义一个基因集Gi的计算基因集得分f(Gi)。其余的基因,即¯Gi中的基因,对这个计算没有贡献。然而,在hybrid方法中,¯Gi中的基因也有助于f(Gi)的值。
可进一步分为:competitive hybrid null hypothesis和self-contained hybrid null hypothesis
通过这篇2020年的文献,我们对GSA的不同方法已经有了大致的了解(值得一提的是这篇文献附表1中提供了非常多进行GSA分析所使用的方法和工具)
但是这些问题好像都离我们比较远,因为我们绝大多数不是开发人员,而是想要利用好工具,下面这篇2022年的文章为我们进行通路富集分析(Pathway enrichment analysis, PEA)提供了9个建议,适合小白阅读,规范化分析流程,进行更好的PEA分析,并最终有助于更好地理解当前的生物学故事
这部分作者主要谈论了不同数据类型和不同GSA方法选择的不同,详细可以参考我们在上面2020年的这篇综述里提到了不同工具的区别,根据自己的科学问题和掌握的数据类型选择合适的分析方法。
需要注意的是作者还提到了一种类pathway topology-based methods
研究人员将染色体区域富集分析或基因组富集分析称为PEA工具,该工具将基因组区域列表作为输入,而不是基因列表
在开始功能分析之前,仔细检查基因或基因组区域的输入列表:
如果注意到输入列表是以一种模糊、奇怪、不合逻辑的方式生成的,那么就舍弃它,并将注意力集中在另一个基因列表上。
假设你想研究一个乳腺癌的诊断基因特征,来自微阵列基因表达。您阅读了与此相关的文章,并注意到作者使用了在三个不同的微阵列平台(例如Affymetrix、Illumina和安捷伦)上生成的3个数据集,而没有做任何批次效应校正。很明显,本研究包含了一个预处理错误,其结果应该被丢弃或至少要谨慎处理。
另一个危险信号是缺乏对外部数据队列的验证。如果在一项只涉及一个数据集的研究中提出了一个基因列表,那么它对于预后或诊断范围可能还不够可靠。
此外,gene identifiers/symbols也需要得到有效转换和确认。
建议执行功能富集分析阶段使用至少两种不同的PEA工具。获得来自不同来源和方法的结果是关键的:有些结果将是验证性的,有些将是互补的,有些甚至可能是不一致的。看到PEA分析的两面性肯定可以让用户有可能更多地了解与输入基因相关的途径。
比较不同工具富集结果的一个快速、直接的方法是验证它们是否包含同名的路径。
这种解决方案可能是不够的,因为属于各种数据库的路径可能有不同的名称,并且可能在其他一些数据库中以冗余的、部分重叠的方式进行结构化。由于缺乏一个独特的标准来表示和存储生物途径数据,这方面是PEA中一个众所周知的问题。
因此,许多可用的软件工具只能处理单个路径数据库。为了通过使用多个数据库来实现路径富集,用户可以使用cPEA,这是一种软件工具,能够使用BioPAX语言处理多个路径数据库来存储和表示路径。或者,他们可以通过选择“Whole PathwayCommon Data”选项来使用BiP ,该选项将使用用BioPAX编码的自动下载的本地路径公共数据库的整个集合来执行交叉富集。值得注意的是,评估通路之间的相似性可能有助于比较每个通路内的基因。
作者在附文1中详细讲述了如何对不同工具富集分析结果进行比较,并验证通路富集结果:
富集结果可以通过两种不同的途径来进一步验证和巩固
使用现有的文献来寻找证据,可以阐明富集的途径在正在调查的条件下的作用。这条路径适用于新手,如没有计算技能的学生或生物学家。
可用的文献可以手动探索通过使用公共知识库如PubMed搜索证据,有助于确认浓缩结果的有效性,甚至在其他软件的帮助下如PubTor,有助于简化和加速搜索的证据,使一个乏味和长的手动搜索过程更容易。事实上,PubTator中心(PTC)是一个基于web的系统,提供了生物医学概念的自动注释,如PubMed摘要和PMC全文文章中的基因、路径和突变。PTC是免费的,可以通过web浏览器交互式访问,可以通过RESTful API编程访问,也可以通过FTP批量下载。
使用统计方法来揭示隐藏的生物功能的细微差别,这条路径特别推荐给熟练的用户。用户必须实现一个自动或手动的分析工作流来处理丰富的结果。该工作流程的第一步是识别促进富集的途径的输入基因。接下来,计算出的基因可以手动进行评估,或者通过基因本体论(GO)中的脚本进行评估,以获得更多关于它们可能的功能角色的知识。此外,PTC还可以进一步提供有关相关基因及其参与通路的注释。
此外,值得一提的是,盖斯特林格和他的同事最近发布了GSEABenchmarkeR,一个用于基准基因集富集分析结果的R包。
对于使用的每个PEA软件,跟踪其版本、参数参数以及所有细节。将这些信息写在一个笔记本上,然后将其包含在PEA研究的文章的补充信息中。这一步对未来的分析比较和可重复性都很重要。
避免多重比较带来的假阳性,现在基本上都要考虑
PEA中的一种常见做法是获取来自实验或先前分析的所有基因,并将它们全部用作PEA工具中的输入。当用户不知道输入基因之间的任何层次或关系时,这肯定是一件好事,但它也会产生许多基因-通路关联,最终可能会变得无关紧要,甚至具有误导性。
此外,使用许多输入基因可能会在结果中产生大量的一般途径,例如KEGG和Reactome中的“信号通路”,这并不能提高我们对受影响的生物过程和功能的理解。一些PEA工具提供了从结果中排除这些通用术语的可能性,但不是全部。
因此,我们建议生物信息学从业者检测相关基因的亚组,并单独对这些亚组中的每一个进行PEA,而不是使用所有基因作为PEA的输入。
例如,可以通过蛋白质-蛋白质相互作用网络的工具,如IID、STRING、GeneMANIA或Reac-tome功能相互作用网络(Reactome FI),找到相关基因的亚组。这些软件程序能够将数据库中可能共享共同物理交互的基因组聚集在一起。Woodward及其同事最近发布了一个通过上位交互增强的GSEA工具,这可能有所帮助。
此外,最近发布的一些R包:pathfindR和netGO,可以利用蛋白质-蛋白质相互作用网络来产生更准确的PEA结果。
个人理解:以往,在ORA中我们使用差异表达分析后得到的差异基因进行通路富集分析,这样会导致一些细微变化但真实生物学途径中有效的基因被忽略,基于这个考虑我们使用GSEA这样的方法考虑所有基因的贡献,但这样也会带来真实无效基因的影响。以往,我们也常常在获取了差异表达基因后在进行PPI看看hub genes,这条tip则是建议我们先进行PPI再进行后续分析,既考虑到真实生物学途径中有效基因又避免无效基因的影响。
有时基因列表和途径列表很大,手动查找至少一篇关于它们的文章会花费太多时间。因此,作为一个经验法则,我们建议用户至少调查文献中的前20个基因-通路关联。或者,用户可以根据已知的重要性来过滤基因:他们可以研究输入的基因列表,识别一些他们已经在文献中看到的常见基因,并调查PEA发现的通路。
以上,就是本周我们根据两篇综述给大家带来的所有内容
参考文献&资料:
Gene Set Enrichment Analysis| GSEA algorithm
https://www.youtube.com/watch?v=Tm0LhciYxk8
聊一聊置换检验Permutation test的原理
https://zhuanlan.zhihu.com/p/328940140
使用clusterProfiler进行富集分析
https://www.jianshu.com/p/d484003dced5
Gene Set Analysis Challenges,Opportunities, and Future Research
https://www.frontiersin.org/articles/10.3389/fgene.2020.00654/full
Nine quick tips for pathway enrichment analysis
https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1010348
clusterProfiler 4.0: A universal enrichment tool for interpreting omics data
https://www.sciencedirect.com/science/article/pii/S2666675821000667
我们通过差异分析得到基因的FC和Pvalue后,基本上都会走GO/KEGG富集分析和GSEA基因集富集分析流程,这似乎已经成为了我们转录组分析中的固定流程,但实际上关于基因集的分析(GSA),科学家们经历了很长时间的探索,目前常用的GSA方法也都有自己的不足,新的方法和工具正在不断被开发,GSA的分析对于科学问题的阐述仍有很多缺陷并面临挑战。这周,我们通过两篇文献,一起来看看GSA的前世今生,目前有哪些主流的算法、方法,这些方法又是基于什么样的前提假设?我们常用的工具使用的又是什么方法,在解释科学问题时这些方法有哪些局限性和不足?我们在选择方法、工具进行GSA时需要注意哪些问题?
引言:
早期分析基因表达数据的方法是单基因分析,其中使用t检验或Wilcoxon秩和检验等统计检验对病例和对照样本的每个基因的表达量进行比较,并计算p值。然后,为了减少多重比较产生的假阳性数量,对多重比较进行了调整。接下来,调整后的p值小于给定阈值的基因被预测为差异表达。最后,我们尝试利用这些基因进行生物学解释。
这种方法有几个缺点:
①过分的多重检验矫正可能会导致假阴性,特别是像比较保守的方法,如Bonferroni
②主观上,研究人员采取任意的cut-off截止值来选择合理数量的基因来进行进一步的研究和解释(有cherry pick的嫌疑)。客观上,对阈值的不同选择可能会导致不同的生物学解释,保守阈值可能导致假阴性,放宽阈值可能导致假阳性。
③细胞过程通常与具有共同生物学功能或属性的基因组的表达模式的变化有关,这一组基因中有意义的变化比单个基因的变化在生物学上更可靠和可解释(关于这些基因集的先验知识可以通过公共在线数据库获得,如GO、KEGG和OMIM)
④高通量技术虽然使在单一实验中监测数千个基因的表达成为可能,但也引入了处理高维数据的挑战。为了处理高维数据,降维方法被用于下游分析和可视化中(潜在偏差)。在高通量基因表达研究中,依赖于生物学相关的基因集是最直观和生物学相关的降维方法(考验大家的生物学背景知识)。
⑤当不同处理中单基因的测量值差异细微时,单基因方法很难将基因表达的真正差异与样本的生物学差异区分开来。另一方面,基因集分析可能能够检测到一个基因集内的基因表达模式的这种微妙但一致的变化。
⑥多功能基因,即参与多种生物活动的基因,是很常见的。例如,Pritykin等人报道,果蝇、智人和酿酒酵母的多功能基因分别占注释基因的24、26和19%。如此多的多功能基因的存在意味着单基因分析可能会导致错误或不明确的结论。
⑦单基因方法可能报告几百到几千个基因的差异表达,解释一长串差异表达的基因是一项繁琐的任务,容易使研究者倾向于一个感兴趣的假设(先入为主)
基因集分析(GEA),也称为富集分析,试图解决这些缺点,并从基因表达数据中获得见解。基因集分析的主要目的是确定一组特定的感兴趣的基因的表达水平的富集或缺失,称为一个基因集。
基因集是基于各种标准定义的,例如作为某些生物途径的成员或在特定条件下共同表达。这些基因集被收集到称为基因集数据库的集合中,如MSigDB、GeneSigDB和GeneSetDB是三个专门为基因集分析开发的集合。
这些基因集的收集使研究人员能够对生物学相关基因而非单个基因进行分析,以确定基因中哪些与表型相关
目前已经有有大量的基因集可用的分析方法,这些方法的不同之处在于
本文提供了100多种基因集分析方法/工具的列表(推文中将对具有代表的工具使用方法对应列表截图在推文中进行展示,有兴趣的同学可以自己检索文章下载附表),但本综述的目的不是讨论所有可用于基因集分析的工具。相反,作者仅使用一组有代表性的方法,根据基因集分析方法的不同,提供基因集分析法的模块化概述,并强调了每一类方法的缺点及其面临的挑战。
为了更好的展现这些方法,我们制作了一个详细的思维导图,下面的内容(1-3)属于基于思维导图提纲挈领的介绍,我们过滤掉了大部分数理部分便于读者流畅阅读,对数理部分有兴趣的同学可以下载思维导图并阅读原文献,在公众号后台回复“GSA思维导图”即可获得完整清晰思维导图。
GSA方法可以大致分为三类:
ORA其实是单基因分析的自然延伸,ORA使用一个基因列表L,该列表包含由单基因分析方法预测为差异表达的基因。这些基因可以是在两个不同条件下的表达量差异显著的基因,或者是与某种生物学过程相关联的基因。比如我们常见的GO/KEGG富集分析。
其基本假设为:基因独立性和等效性。具体来说,ORA假设基因在生物过程中是相互独立的,并且对于生物过程的影响是相等的。
其零假设为:基因列表L中属于某个先验基因集(如来自GO、KEGG)中的基因集Gi在两个或多个表型之间没有差异表达
计算:在Gi中存在n'i个差异表达基因的概率通过超几何分布计算
显著性评估:
其优点在于:简单、完善的底层逻辑以及易于实现
其缺点在于:基本假设在生物学上并不总是成立的,事实上,已经证明基因、蛋白质和其他生物分子通常会协同作用;并且ORA只利用差异表达基因,而忽略了其余基因的所有定量测量。然而,即使那些p值略高于截止值的基因也可能对通路活动的检测有所贡献。
与ORA相比,FCS方法的主要目标是使用来自表达式矩阵的所有信息来解决富集问题,而不依赖于ORA在生物学上无效的假设
FCS方法常见步骤:
FCS可以根据是否计算基因分数进一步分为单变量和多变量方法
GSEA是使用最广泛的单变量FCS方法之一,以GSEA方法为代表对 univariate FCS进行阐述
计算:使用对照组和实验组样本中的基因表达测量值之间的信噪比(SNR)差异来计算基因得分;对基因根据其分数进行降序排序,累加求和计算基因集得分(又称富集得分,ES)
其零假设为:没有任何基因集与分组表型相关
显著性评估:ES逐步累计求和(random walk)的最大值为MES,使用permutation test对MES进行显著性评估
具体地说,GSEA会对样本标签进行1000次随机置换,并计算每次置换下的MES值,为ES生成一个"null distribution"。最后,GSEA会根据实际数据的MES值与这1000个随机置换下的MES值产生的零分布,计算观察到的ES的p值,以确定实际数据的MES值是否显著
发展:
多变量方法跳过计算基因分数的步骤,直接从表达矩阵中计算基因集分数。
方法:
该方法基于广义线性模型,旨在回答一个问题:给定基因集Gi中的基因的全局表达模式是否与感兴趣的生物学结果显著相关。
零假设:线性模型中(各基因表达量回归系数)β1 = β2 = · · · = βm = 0
由于样本数量通常少于变量数量(即基因集大小||Gi||),因此无法以传统的方式测试这个零假设。
针对问题提出基本假设:回归系数均来自相同的分布,均值为零,方差未知为τ^2。零假设:τ^2 = 0
该检验是用来检验两个分组的多元均值之间的差异的t检验的自然推广
零假设:对照和处理样本的基因集Gi中基因的平均表达向量相等
显著性评估:
当n(总样本数)>m(Gi基因集中基因数)+1时,服从F分布的统计量
m>n时,使用单值分解(Singular Value Decomposition,SVD)降维
但是多变量方法严格的基本要求(①数据正态性、②样本大小的充分性和③方差齐性)在测试每个基因集的差异富集时,几乎不可能完全被满足。因此,对这些假设不具有鲁棒性的方法往往会导致不可重复的结果。这是为什么与单变量方法相比,多元基因集分析方法没有被广泛使用的原因之一。
并不是通路中的所有基因在其活性中发挥同样重要的作用。通路拓扑结构的知识,如基因产物的相互作用,可以帮助量化基因对通路活性的重要性。拓扑信息可能会提高富集分析的准确性
这些方法也可以分为基于ORA的、单变量的和多变量的方法,以及类似于对应基因集分析方法的零假设
方法工具表现举例:
以上,我们介绍了三种进行GSA的基本方法,大家肯定想知道我们经常用的是什么方法,一般来说大家都是拿Y叔的clusterprofiler包进行GSA分析,我们也将简要介绍一下该包所使用的方法:
The clusterProfiler library was first published in 2012 and designed to perform over-representation analysis (ORA) using GO and KEGG for several model organisms and to compare functional profiles of various conditions on one level (e.g., different treatment groups). Since then, clusterProfiler has matured substantially and currently supports several ontology and pathway annotations, thousands of species with up-to-date gene annotation, users’ annotation data for novel species, and emerging new annotations. Both ORA and gene set enrichment analysis (GSEA) are supported.
可以发现ORA和GSEA在不同的函数方法中使用
在第一部分GSA分析中已经部分谈到,可以联系着看,在这里进行细致分类
在零假设下,通过接受一些简化假设,提出了基因集统计量的参数分布。而后,利用参数分布来评估基因集统计量的意义。
参数化方法是建立基于一些知识或关于基因集分数的潜在分布的假设。例如,PAGE假设一个基因集合内的基因的平均倍数变化值遵循正态分布。SEA,另一种参数方法,假设它的基因集得分——即基因集中每个基因的t检验得分的加权平均值——遵循正态分布。(优点)尽管参数化方法对计算要求不高,但(缺点)它们被批评为过于简单,无法检测真正差异富集的基因集
非参数方法通常不会对基因集得分的基础分布做出任何强假设,而是采用经验分布
原理:在基因采样中,通过将给定基因集Gi的基因集得分S(Gi)与来自参考集U的随机组装的||Gi||基因集(即所有研究中的基因)的得分进行比较来评估其重要性。在基因抽样方法中,大量的随机基因集被组装起来,并计算它们的得分。然后,Gi的基因集得分的显著性值被计算为导致比Gi得分更强的得分的组装基因集的分数,其中,如果一个得分更倾向于拒绝感兴趣的零假设,则与另一个得分相比,该得分被认为更强。
优点:基因采样不取决于样本数量,它已被广泛用于小样本量数据集的基因集分析
缺点:
原理:表型排列,也称为样本排列,通过排列样本标签来评估给定基因集Gi的基因集得分的重要性。首先,计算Gi的基因集得分。SGi表示根据实际基因表达谱的Gi的基因集得分。然后,通过排列样本标签,来合成大量的表达谱。对于合成的表达谱,我们预计Gi中基因的表达模式与表型之间没有关联。接下来,对于每个合成的表达谱,计算Gi的基因集得分。最后,SGi的显著性被计算为导致比SGi更强的分数的合成表达谱的分数,其中,如果一个分数与另一个分数相比更倾向于拒绝感兴趣的零假设,则该分数被认为更强。
优点:表型排列不同于基因抽样,它并不依赖于不现实的基因独立假设
缺点:每个表型都需要大量的样本。这个条件通常并不被满足。
关于phenotype permutation,在我们上一期推文明明PCA区分非常好,但是差异基因数量很少?中ANOSIM部分也有提到,是比较常见的方法
这篇帖子使用例子很形象地介绍了Permutation test的原理,感兴趣的同学可以去看看:
聊一聊置换检验Permutation test的原理
https://zhuanlan.zhihu.com/p/328940140
原理:动态规划方法评估了来自 unweighted Kolmogorov–Smirnov统计量的基因集得分的显著性。对于一个包含n个基因的给定数组和一个给定的基因集Gi,首先,他们计算了基因集得分RSGi。然后,他们计算其p值为获得等于或大于RSGi的基因集得分的概率,假设Gi中的基因分布与表型之间没有关联
优点:比排列方法更有效,而且当排列的数量不够大时,他们的方法不会遭受排列方法产生的统计上不可靠的结果。
缺点:与排列方法不同,它不能扩展到其他基因集分数,如GSEA中的weighted Kolmogorov–Smirnov统计量。
在第一部分GSA分析中已经部分谈到,可以联系着看,在这里进行细致分类
零假设:与其他被研究的基因相比,Gi中的基因并没有不同的表达模式
显著性评估:在计算一个基因集Gi的基因集得分f(Gi)后,通过gene sampling方法以经验的方式评估f(Gi)的显著性
缺点:
零假设:Gi中的基因在不同的表型中没有不同的表达模式。
显著性评估:phenotype permutation
缺点:需要样本量足够大
关注基因相对表达模式的变化。基于hybrid null hypothesis的方法计算给定基因集的Gi的基因集得分,使用所有基因的表达测量,即Gi的基因和¯Gi的基因;然后,使用基因抽样或表型排列方法来评估这个分数的重要性。
GSEA及其基于Kolmogorov–Smirnov统计量的变体,使用的就是hybrid null hypothesis。例如,当前版本的GSEA(版本4.0.3)提供了基因抽样,用于竞争性杂交零假设的显著性评估,表型排列用于自包含杂交零假设的显著性评估。
self-contained null hypothesis根据基因在Gi中的表达值来定义一个基因集Gi的计算基因集得分f(Gi)。其余的基因,即¯Gi中的基因,对这个计算没有贡献。然而,在hybrid方法中,¯Gi中的基因也有助于f(Gi)的值。
可进一步分为:competitive hybrid null hypothesis和self-contained hybrid null hypothesis
通过这篇2020年的文献,我们对GSA的不同方法已经有了大致的了解(值得一提的是这篇文献附表1中提供了非常多进行GSA分析所使用的方法和工具)
但是这些问题好像都离我们比较远,因为我们绝大多数不是开发人员,而是想要利用好工具,下面这篇2022年的文章为我们进行通路富集分析(Pathway enrichment analysis, PEA)提供了9个建议,适合小白阅读,规范化分析流程,进行更好的PEA分析,并最终有助于更好地理解当前的生物学故事
这部分作者主要谈论了不同数据类型和不同GSA方法选择的不同,详细可以参考我们在上面2020年的这篇综述里提到了不同工具的区别,根据自己的科学问题和掌握的数据类型选择合适的分析方法。
需要注意的是作者还提到了一种类pathway topology-based methods
研究人员将染色体区域富集分析或基因组富集分析称为PEA工具,该工具将基因组区域列表作为输入,而不是基因列表
在开始功能分析之前,仔细检查基因或基因组区域的输入列表:
如果注意到输入列表是以一种模糊、奇怪、不合逻辑的方式生成的,那么就舍弃它,并将注意力集中在另一个基因列表上。
假设你想研究一个乳腺癌的诊断基因特征,来自微阵列基因表达。您阅读了与此相关的文章,并注意到作者使用了在三个不同的微阵列平台(例如Affymetrix、Illumina和安捷伦)上生成的3个数据集,而没有做任何批次效应校正。很明显,本研究包含了一个预处理错误,其结果应该被丢弃或至少要谨慎处理。
另一个危险信号是缺乏对外部数据队列的验证。如果在一项只涉及一个数据集的研究中提出了一个基因列表,那么它对于预后或诊断范围可能还不够可靠。
此外,gene identifiers/symbols也需要得到有效转换和确认。
建议执行功能富集分析阶段使用至少两种不同的PEA工具。获得来自不同来源和方法的结果是关键的:有些结果将是验证性的,有些将是互补的,有些甚至可能是不一致的。看到PEA分析的两面性肯定可以让用户有可能更多地了解与输入基因相关的途径。
比较不同工具富集结果的一个快速、直接的方法是验证它们是否包含同名的路径。
这种解决方案可能是不够的,因为属于各种数据库的路径可能有不同的名称,并且可能在其他一些数据库中以冗余的、部分重叠的方式进行结构化。由于缺乏一个独特的标准来表示和存储生物途径数据,这方面是PEA中一个众所周知的问题。
因此,许多可用的软件工具只能处理单个路径数据库。为了通过使用多个数据库来实现路径富集,用户可以使用cPEA,这是一种软件工具,能够使用BioPAX语言处理多个路径数据库来存储和表示路径。或者,他们可以通过选择“Whole PathwayCommon Data”选项来使用BiP ,该选项将使用用BioPAX编码的自动下载的本地路径公共数据库的整个集合来执行交叉富集。值得注意的是,评估通路之间的相似性可能有助于比较每个通路内的基因。
作者在附文1中详细讲述了如何对不同工具富集分析结果进行比较,并验证通路富集结果:
富集结果可以通过两种不同的途径来进一步验证和巩固
使用现有的文献来寻找证据,可以阐明富集的途径在正在调查的条件下的作用。这条路径适用于新手,如没有计算技能的学生或生物学家。
可用的文献可以手动探索通过使用公共知识库如PubMed搜索证据,有助于确认浓缩结果的有效性,甚至在其他软件的帮助下如PubTor,有助于简化和加速搜索的证据,使一个乏味和长的手动搜索过程更容易。事实上,PubTator中心(PTC)是一个基于web的系统,提供了生物医学概念的自动注释,如PubMed摘要和PMC全文文章中的基因、路径和突变。PTC是免费的,可以通过web浏览器交互式访问,可以通过RESTful API编程访问,也可以通过FTP批量下载。
使用统计方法来揭示隐藏的生物功能的细微差别,这条路径特别推荐给熟练的用户。用户必须实现一个自动或手动的分析工作流来处理丰富的结果。该工作流程的第一步是识别促进富集的途径的输入基因。接下来,计算出的基因可以手动进行评估,或者通过基因本体论(GO)中的脚本进行评估,以获得更多关于它们可能的功能角色的知识。此外,PTC还可以进一步提供有关相关基因及其参与通路的注释。
此外,值得一提的是,盖斯特林格和他的同事最近发布了GSEABenchmarkeR,一个用于基准基因集富集分析结果的R包。
对于使用的每个PEA软件,跟踪其版本、参数参数以及所有细节。将这些信息写在一个笔记本上,然后将其包含在PEA研究的文章的补充信息中。这一步对未来的分析比较和可重复性都很重要。
避免多重比较带来的假阳性,现在基本上都要考虑
PEA中的一种常见做法是获取来自实验或先前分析的所有基因,并将它们全部用作PEA工具中的输入。当用户不知道输入基因之间的任何层次或关系时,这肯定是一件好事,但它也会产生许多基因-通路关联,最终可能会变得无关紧要,甚至具有误导性。
此外,使用许多输入基因可能会在结果中产生大量的一般途径,例如KEGG和Reactome中的“信号通路”,这并不能提高我们对受影响的生物过程和功能的理解。一些PEA工具提供了从结果中排除这些通用术语的可能性,但不是全部。
因此,我们建议生物信息学从业者检测相关基因的亚组,并单独对这些亚组中的每一个进行PEA,而不是使用所有基因作为PEA的输入。
例如,可以通过蛋白质-蛋白质相互作用网络的工具,如IID、STRING、GeneMANIA或Reac-tome功能相互作用网络(Reactome FI),找到相关基因的亚组。这些软件程序能够将数据库中可能共享共同物理交互的基因组聚集在一起。Woodward及其同事最近发布了一个通过上位交互增强的GSEA工具,这可能有所帮助。
此外,最近发布的一些R包:pathfindR和netGO,可以利用蛋白质-蛋白质相互作用网络来产生更准确的PEA结果。
个人理解:以往,在ORA中我们使用差异表达分析后得到的差异基因进行通路富集分析,这样会导致一些细微变化但真实生物学途径中有效的基因被忽略,基于这个考虑我们使用GSEA这样的方法考虑所有基因的贡献,但这样也会带来真实无效基因的影响。以往,我们也常常在获取了差异表达基因后在进行PPI看看hub genes,这条tip则是建议我们先进行PPI再进行后续分析,既考虑到真实生物学途径中有效基因又避免无效基因的影响。
有时基因列表和途径列表很大,手动查找至少一篇关于它们的文章会花费太多时间。因此,作为一个经验法则,我们建议用户至少调查文献中的前20个基因-通路关联。或者,用户可以根据已知的重要性来过滤基因:他们可以研究输入的基因列表,识别一些他们已经在文献中看到的常见基因,并调查PEA发现的通路。
以上,就是本周我们根据两篇综述给大家带来的所有内容
参考文献&资料:
Gene Set Enrichment Analysis| GSEA algorithm
https://www.youtube.com/watch?v=Tm0LhciYxk8
聊一聊置换检验Permutation test的原理
https://zhuanlan.zhihu.com/p/328940140
使用clusterProfiler进行富集分析
https://www.jianshu.com/p/d484003dced5
Gene Set Analysis Challenges,Opportunities, and Future Research
https://www.frontiersin.org/articles/10.3389/fgene.2020.00654/full
Nine quick tips for pathway enrichment analysis
https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1010348
clusterProfiler 4.0: A universal enrichment tool for interpreting omics data
https://www.sciencedirect.com/science/article/pii/S2666675821000667
https://mp.weixin.qq.com/s/iwG3Gor6f9s400LamBQ8Rw