(全文约6600字)

1. 富集剖析

1.1. 富集剖析概念

  1. 富集剖析

富集剖析,本质上是对数据的散布查验,假如散布集中在某个区域,则以为富集。

常用的散布查验办法有卡方查验、Fisher精确查验以及KS查验等办法。

  1. 生物信息学范畴的富集剖析

布景基因集(N) 下取得 一组特定基因集(S) ,S或许是基因列表,表达图谱,基因芯片等方式。在预先构建好基因注释数据库(例如GO,KEGG等)已对布景基因集(N)依据生物功用或进程进行分类的前提下,经过核算学算法找出有那些明显差异于布景基因集(N)的类别(生物组成/功用/进程),或许找出这组特定基因集间在生物组成/功用/进程的共性,经过聚类后去除冗余得到基因富集成果的进程,即为富集剖析。

  1. 常用数据
  • 其间,布景基因集(N) 常常是一个物种的基因组注释基因总和。
  • 一组特定基因集(S) 常常是差异表达基因集(differentially expressed genes, DEGs)。
  • 预先构建好基因注释数据库常用GO或KEGG数据库。
  • 常见的核算学算法包含ORA,FCS,PT,NT四种。
  1. 实际运用

通常会运用其他剖析的成果作为特定基因集(S),做基因富集剖析来检查这些基因集是否首要集中在某些类别,这些类别代表的功用是否与表型或许进化事情有关联。比方:

  • 比较转录组剖析得到的差异表达基因集;
  • 比较基因组剖析中得到的某物种特有的基因集;
  • 基因家族缩短扩张剖析得到的基因组中明显扩张/缩短的基因集;
  • 基因组共线性剖析中在全基因组仿制事情邻近的Ks值的基因集等各种剖析得到的基因集;

1.2. 富集剖析的算法

富集剖析算法经过发展,常见的有四类:

Figure 1. 富集剖析四类算法
图片来历:paper:Progress in Gene Functional Enrichment Analysis

1.2.1. 过表达剖析(Over Representation Analysis, ORA)

  1. 过表达剖析(ORA)概念

过表达剖析(ORA)是对布景基因集(N)和特定基因集(S)按照已知的基因功用或通路等分组,并鉴定特定基因集(S)在哪些组包含比布景基因集(N)份额更多的基因(过度表达,over-represented,即富集enriched)或更少的基因(表达缺乏,under-represented)的一种核算学办法。

ORA是出现最早,最常用,有完善的核算学理论基础的办法。ORA重点在于经过基因集组成的份额来判断富集程度。

  1. 过表达剖析的散布查验

ORA类办法用的是离散散布的查验(Fisher精确查验,依据超几何散布的原理)。

超几何散布有很多资料可参阅,比方:www.jianshu.com/p/13f46bebe…

  1. 过表达剖析(ORA)的局限性
  • ORA运用的核算办法(例如超几何散布,二项散布,卡方散布)只考虑差异基因数量,疏忽了差异程度(不同表达水平),,需求人为设置阈值,没有一个设置规则,阈值设置有主观性。
  • 经过一刀切的人为规则的阈值,找出差异最明显的单个基因,而疏忽其他基因,比方差异小但改变方向共同的基因集,往往后者比前者更重要。
  • 运用的核算学假定每个基因彼此独立,可是就生物体自身而言,疏忽了基因间内部的杂乱的彼此作用,而且每个基因在不同的生物学进程中发挥的作用大小不一样,同等看待成果或许会不精确。
  • 假定每条通路都独立其他通路。
  1. 过表达剖析(ORA)的实际操作
    需求四组数据:
  • 布景基因集(N):常常是一个物种的基因组注释基因总和
  • 特定基因集(S):常常是差异表达基因集(differentially expressed genes, DEGs)
  • 布景基因集的分类信息:常常经过注释数据库(GO,KEGG等)和布景基因集取得
  • 特定基因集的分类信息:常常经过注释数据库(GO,KEGG等)和特定基因集取得

经过四组数据取得基因数量的2×2列联表,再运用fisher精确查验或超几何散布得到p值。以为设置一个明显性阈值,高于阈值的即为富集基因。

1.2.2. 功用分类打分(Functional Class Scoring,FCS)

1.2.2.1. 功用分类打分(FCS)

  1. 功用分类打分(FCS)概念和改进

功用分类打分(FCS)与ORA相比进行了基本假定的改动,除了考虑单个基因的明显改变外,还考虑微效基因的叠加效果。

代表是基因集富集剖析(Gene Set Enrichment Analysis, GSEA)

  1. FCS剖析的三个进程
  • 核算单个基因表达水平的核算值,采用如衡量差异基因的ANOVA、Q-statistic、t查验、Z-score、信噪比,进行打分或排序,或许直接运用排序好的基因表达谱
  • 同一通路上一切基因的表达水平核算值进行整合,汇集成单个通路水平的分数或核算值,采用基因水平核算的和、均值或中位数,Wilcoxon rank sum, Maxmean statistic, Kolmogorov-Smirnov statistic
  • 对通路水平的明显性进行评价:运用重抽样(bootstrap)的核算学办法
  1. 功用分类打分(FCS)的优势(与ORA相比)
  • 不需求人为规则的阈值来一刀切明显性
  • FCS考虑同一通路中基因表达的和谐改变,即考虑微效基因的叠加效果。
  • 经过考虑基因表达的和谐改变,FCS 办法解说了通路中基因之间的依赖性
  1. 功用分类打分(FCS)的约束
  • 与 ORA 相似,FCS 独立剖析每个通路。一个基因能够在多个通路中发挥作用,这意味着这些通路能够交叉和堆叠。
  • 许多 FCS 办法运用基因表达的改变来对给定通路中的基因进行排序,并丢掉进一步剖析的改变。例如,假定通路中的两个基因 A 和 B 别离发生 2 倍和 20 倍的改变。只需它们与通路中的其他基因相比具有相同的各自等级,大多数 FCS 办法都会平等地对待它们。

1.2.2.2. 基因富集剖析(gene set enrichment analysis, GSEA)

基因富集剖析(GSEA)是FCS算法中最常用的一种。

  1. 基因富集剖析(GSEA)的原理
  • 基因排序

首要,依据各基因与表型间相关性r或两组间t查验核算量得分值对布景基因集(N)进行降序摆放,比方把一切基因在两个分组(或表型)中的差异度从大到小排序,构成排好序的基因列表。

  • 基因富集

检查基因注释数据库(GO/KEGG)中每个小组基因集(例如GO一个通路一个小组)里的基因是否在排序的布景基因集里均匀散布,或许首要散布在排序布景基因集的顶部/底部。均匀散布阐明不在这两个分组(或表型)中富集,集中散布在顶部/底部阐明这个小组基因集在两个分组(表型)之一富集。

  • 富集剖析

核算每一小组基因集的富集分数(enrichment score,ES)值,然后对ES值进行明显性查验和多重假定查验,核算得出明显富集的基因集。

  1. 基因富集剖析(GSEA)剖析进程
  • 核算富集分数(enrichment score,ES)

对每一个小组基因集,遍历排好序的布景基因集(N),当基因出现在特定基因集(S)就加分,反之减分,加减分值由基因与表型的相关性决定。

  • 估计ES的核算明显性

依据样品的置换查验能够核算P值。

  • 多重假定查验矫正

依据每一小组基因集的大小对每个基因的ES做标准化,得到标准化NES(normalized enrichment score ,NES)。为了查验每一小组基因集的NES是否明显,将排好序的布景基因集(N)随机打乱摆放必定次数,每次都核算每个基因集的NES(ES),得到每个基因集的NES在随机排序情况下的理论散布,然后核算其p值。若p<0.05,则阐明该基因集在有序布景基因集(N)中大都富集在顶部,为富集基因集。FDR则是对p值进行FDR校对之后的p值。

1.2.3. 通路拓扑(Pathway Topology,PT)

  1. 布景
  • 很多揭露可用的通路数据库供给的信息超出了每个通路的简略基因列表。与 GO 和分子特征数据库 (MSigDB) 不同,这些常识库还供给有关在给定途径中彼此作用的基因产品、它们怎么彼此作用(例如,激活、按捺等)以及它们在何处彼此作用(例如、细胞质、细胞核等)。这些常识库包含 KEGG、MetaCyc、Reactome、RegulonDB、STKE ( stke.sciencemag.org )、BioCarta ( www.biocarta.com )、和 PantherDB等。
  • ORA 和 FCS 办法仅考虑通路中的基因数量或基因共表达来识别重要通路,而疏忽这些常识库中可用的附加信息。因此,即便经过基因之间的新联系完全从头绘制了通路,只需它们包含相同的基因组,ORA 和 FCS 也会发生相同的成果。
  • 现已开发的通路拓扑 (PT) 的办规律运用这些通路数据库的附加信息。
  • 通路途径拓扑 (PT) 的办法本质上与 FCS 办法相同,由于它们履行与 FCS 办法相同的三个进程。两者之间的首要差异在于运用通路拓扑来核算基因水平的核算数据。
  1. 通路拓扑(PT)

在通路的富集剖析中,一般上游基因的表达水平改动要明显大于下流基因对整个通路的影响。PT办法便是把基因在通路中的方位,和其他基因的互作和调控联系结合在一起,评价每个基因对通路的贡献并算出权重,然后把权重整合到富集剖析。

代表是SPIA,由于可用数据库的约束,运用还很少。

1.2.4. 网络拓扑结构(Network Topology,NT)

运用现有的全基因组规模的生物网络,提取数据库的基因彼此作用联系(如:基因连接度、基因在网络中的间隔),把基因的生物学特点整合到功用剖析。运用网络拓扑结构来核算基因对特定生物通路的重要性并给予相应的权重,再运用传统的ORA 或 FCS 办法来评价特定生物通路的富集程度,如GANPA 和 LEGO。缺陷便是算法太杂乱,核算速度慢。

2. 富集剖析常用基因集

2.1. Gene Ontology(GO)

2.1.1. GO

  • GO是一个世界标准化的基因功用分类体系,由基因本体联合会(Gene Ontology Consortium,GOC) 担任。它供给了一套动态并可控的词汇表(controlled vocabulary)来全面描绘生物体中基因和基因产品的特点,它由一组预先定义好的GO术语(GO term)组成,这组术语对基因产品的功用进行限定和描绘。
  • 可在GO官网)运用的AmiGO2网站查询GO ID和GO term信息。之前常用的WEGO 2.0也能够查询。

GO由三个ontology(本体)组成,是由独立的术语表明的,别离描绘基因的细胞组分(cellular component,CC)、分子功用(molecular function,MF)、参加的生物进程(biological process,BP)。

GO这三个本体的含义:

  1. 细胞组成(cellular component,CC)

描绘基因产品履行功用的细胞结构相关的方位,比方一个蛋白或许定位在细胞核中,也或许定位在核糖体中。

  1. 分子功用(Molecular Function,MF)

描绘基因产品发生在分子水平上的活动,例如催化或运送。通常对应于单个基因产品(即蛋白质或RNA)能够进行的活动。常见的广泛的分子功用描绘是催化活性(catalytic activity)和转运活动(transporter activity)。为了避免与基因产品名称混淆,通常分子功用描绘后加上”activity”一词。

  1. 生物进程(biological process,BP)

描绘的是指基因产品所关联的一个大的生物功用,或许说是多个分子活动完成的一个大的生物程序。例如有丝分裂或嘌呤代谢。

2.1.2. GO terms

GO terms,它供给生物进程的逻辑结构与相关联系,不同GO terms之间的联系能够经过一个有向无环图来表明。

此处需求注意的是,GO terms是对基因产品,而不是基因自身进行描绘,由于基因自身的产品有时候不止一种。GO数据库中的GO分类相关信息会得到不断地更新与增加,这个特点要记住,由于不同的GO剖析东西运用的数据库版本有或许不一样,形成GO剖析成果出现不同。

2.1.3. GO annotations

GO注释(GO annotations)是关于特定基因功用的声明,它首要是将GO terms和基因或基因产品相关联来供给注释,也便是描绘这个GO terms关联的基因产品是什么(蛋白质,还是非编码RNA,还是大分子等),有什么功用,怎么在分子水平发挥作用,在细胞中的哪个方位发挥作用,以及它有助于履行哪些生物进程(途径、程序)。

2.2. Kyoto Encyclopedia of Genes and Genomes(KEGG)

2.2.1. KEGG

  • KEGG是处理基因组,生物通路,疾病,药物,化学物质的数据库调集,于1995年由京都大学化学研究所教授Minoru Kanehisa在当时正在进行的日本人类基因组计划下发起。
  • KEGG 是一种数据库资源,用于从基因组和分子级信息了解生物体系(例如细胞、生物体和生态体系)的高级功用和效用。它是生物体系的核算机表明,由基因和蛋白质(基因组信息)和化学物质(化学信息)的分子构建块组成,它们与彼此作用、反应和联系网络(体系信息)的分子接线图常识相结合。它还包含疾病和药物信息(健康信息)作为对生物体系的扰动。

KEGG网站供给了KEGG信息查询进口,包含KEGG Pathway中查询KEGG Pathway ID(ko00000)的详细信息。

2.2.2. KEGG Database

KEGG 是一个集成的数据库资源,由如下所示的 16 个数据库组成。它们大致分为体系信息、基因组信息、化学信息和健康信息,它们经过网页的色彩编码来区分。

KEGG Database

Category Database Content Color
Systems information KEGG PATHWAY KEGG pathway maps kegg3
green
KEGG BRITE BRITE hierarchies and tables
KEGG MODULE KEGG modules and reaction modules
Genomic information KEGG ORTHOLOGY (KO) Functional orthologs kegg4 yellow
KEGG GENES Genes and proteins kegg1
red
KEGG GENOME KEGG organisms and viruses
Chemical information KEGG COMPOUND Metabolites and other chemical substances kegg2
blue
KEGG GLYCAN Glycans
KEGG REACTION
KEGG RCLASS
Biochemical reactions
Reaction class
KEGG ENZYME Enzyme nomenclature
Health information KEGG NETWORK Disease-related network variations kegg5
purle
KEGG VARIANT Human gene variants
KEGG DISEASE Human diseases
KEGG DRUG
KEGG DGROUP
Drugs
Drug groups

2.2.3. KEGG PATHWAY Database

KEGG PATHWAY Database是KEGG资源的中心,是一组手工绘制的KEGG通路图,代表细胞和生物体的新陈代谢和各种其他功用的试验常识。每个通路图都包含一个分子彼此作用和反应网络,旨在将基因组中的基因与通路中的基因产品(首要是蛋白质)联系起来。

3. 富集剖析程序

现在有许多程序能够用于富集剖析。包含NASQAR,PlantRegMap,MSigDB,Broad Institute,WebGestalt,Enrichr,GeneSCF,DAVID,Metascape,AmiGO 2,GREAT,FunRich,FuncAssociate,InterMine,ToppGene Suite,QuSAGE,Blast2GO,g:Profiler。

能够依据需求剖析的物种类别和数据库更新挑选剖析平台,依据需求挑选先验基因集。

大部分富集剖析程序都只支撑已有数据库的物种的富集剖析,假如是不在支撑物种列表里的物种,能够用富集剖析的R包做富集剖析。

下面介绍几种常见的。

3.1. NASQAR

NASQAR (Nucleic Acid SeQuence Analysis Resource)是一个开源的网页平台,能够用R包clusterProfiler做GSEA剖析,支撑Org.Db数据库的一切物种的GO Term和KEGG Pathway富集剖析。

3.2. PlantRegMap

PlantRegMap,支撑165种植物的GO注释和GO富集剖析。

3.3. Enrichr

Enrichr是针对哺乳动物的基因富集剖析东西。能够经过API运用,并供给可视化成果。

3.4. GeneSCF

GeneSCF支撑多个物种,实时的功用富集剖析东西。不需求额外更新数据库,GeneSCF是实时最新的数据库,而且支撑多物种富集剖析。成果以文本出现。

3.5. DAVID

DAVID是做注释,富集和可视化的整合的数据库。但注释数据库自从2016年10月就没有更新。

3.6. Blast2GO

Blast2GO能够做组学数据的功用注释和GSEA剖析。

3.7. KOBAS-i

3.7.1. KOBAS-i简介

  1. KOBAS是中科院和北大联合开发的做功用注释和GSEA剖析的东西。
  2. 现在现已发表了第三个版本,KOBAS-intelligence(KOBAS-i),KOBAS-i引入了之前发布的依据机器学习的新办法CGPS,并扩展了可视化功用,支撑的物种增加到5944个。
  3. KOBAS包含注释模块和富集模块。
  • 注释模块承受基因列表作为输入,包含 ID 或序列,并依据通路、疾病和GO信息等多个数据库为每个基因生成注释。
  • 富集模块给出了关于哪些通路和 GO 术语与输入基因列表或表达在核算上显着相关的成果。有两种不同的富集剖析可用,命名为基因列表富集和 exp-data 富集。
  1. KOBAS-i有网页版,也有本地版。

3.7.2. KOBAS-i网页版【引荐】

给了两个可用的网址:kobas.cbi.pku.edu.cn/,http://bio…
KOBAS-i。

3.7.2.1. 注释(annotation)和富集(Enrichment)的进程

  1. 输入
    注释只要三个输入项:
  • 挑选物种。

现在支撑5944个物种。

  • 挑选输入基因集数据类型。

支撑核苷酸或许蛋白质的fasta序列,blast的Tabular输出成果,Ensembl Gene ID,Entrez Gene ID,UniProtKB AC,Gene Symbol。

  • 输入基因集。

能够张贴文本,也能够上传文件。

富集除了需求上面三个输入项外,还需求挑选用哪写先验基因集的数据库来做富集剖析。包含PATHWAY,DISEASE,GO。其间KEGG Pathway是一切物种都能够用,其他的只要部份物种能够选。

  • PATHWAY。有四个选项,KEGG Pathway(K),Reactome(R),BioCyc(B),PANTHER(p)。
  • DISEASE。
    有三个选项,OMIM(o),KEGG Disease(k),NHGRI GWAS Catalog(N)
  • GO(G)

此外还有高级选项,能够挑选核算学办法和纠错办法。

然后点击Run,就能够等待运转成果了。

  1. 成果
    运转结束后,点击右上角的Download total terms就能够下载到成果。
    富集剖析还能够点击Visualization得到成果的可视化图。

3.8. GOEAST

在线东西GOEAST

4. 富集剖析的R包

假如是模式物种,或许已有数据库的物种,引荐在线网站PlantRegMap和KOBAS-i做GO和KEGG的富集剖析。

常见的有topGO,clusterProfiler,有一些进行富集剖析的程序运用了这些包。

4.1. topGO

用topGO做富集剖析的详细教程能够检查博文blog_topGO。

topGO是一个R包,用于半自动的GO terms的富集剖析。topGO的成果能够展现为有向无环图。

DAG图

Figure 1. DAG图示例
from wikipedia:directed acyclic graph

注:对每个GO节点进行富集,在图中用方框表明明显度最高的10个节点,图中还包含其各层对应联系。每个方框(或椭圆)内给出了该GO节点的内容描绘和富集明显性值。不同色彩代表不同的富集明显性,色彩越深,明显性越高。

4.2. clusterProfiler

clusterProfiler包的详细运用参阅博文blog_clusterProfiler。

4.2.1. clusterProfiler

clusterProfiler是一个R包,是一个解说组学数据的通用富集东西,支撑Gene Ontology(GO), Kyoto Encyclopedia of Genes and Genomes(KEGG), Disease Ontology(DO), Disease Gene Network(DisGeNET), Molecular Signatures Database(MSigDb), wikiPathways和许多其他的基因集的功用注释和富集剖析,以及富集剖析成果的可视化。2021年07月发布了clusterProfiler 4.0版本。

4.2.2. clusterProfiler支撑的基因集(gene sets)

  1. Gene Ontology(GO)
  2. Kyoto Encyclopedia of Genes and Genomes(KEGG)
  3. Disease Ontology(DO)
  4. Disease Gene Network(DisGeNET)
  5. Molecular Signatures Database(MSigDb)
  6. wikiPathways

4.2.3. clusterProfiler功用 —— enrichment analysis

  1. Over Representation Analysis, ORA

ORA是用于判断已知的生物功用或进程在试验发生的基因列表(例如差异表达基因列表, differentially expressed genes, DEGs)中是否过表达(over-represented=enriched)的常用办法。

  1. Gene Set Enrichment Analysis, GSEA
  2. Leading edge analysis and core enriched genes

5. references

  1. GSEA wiki:en.wikipedia.org/wiki/Gene_s…
  2. paper-Ten Years of Pathway Analysis: Current Approaches and Outstanding Challenges:journals.plos.org/ploscompbio…
  3. paper-Progress in Gene Functional Enrichment Analysis:www.sciengine.com/SSV/article…
  4. enrichment analysis:www.jianshu.com/p/be8fe1318…
  5. enrichment analysis methods:www.jianshu.com/p/042b888d5…
  6. enrichment analysis methods:blog.csdn.net/fjsd155/art…
  7. GOEAST introduction:mp.weixin.qq.com/s?__biz=MzI…
  8. topGO tutorial:bioconductor.org/packages/re…
  9. topGO blog:datacatz.wordpress.com/2018/01/19/…
  10. R topGO:www.codenong.com/cs105162324…
  11. enrichment:www.jianshu.com/p/47b5ea646…
  12. GO explanation:www.jianshu.com/p/7177c3722…
  13. GO overview:geneontology.org/docs/ontolo…
  14. KEGG:en.wikipedia.org/wiki/KEGG
  15. clusterProfiler github:github.com/YuLab-SMU/c…
  16. universal enrichment analysis using clusterProfiler:yulab-smu.top/biomedical-…
  17. clusterProfiler paper:www.cell.com/the-innovat…