2026/2/19 15:41:19
网站建设
项目流程
长清做网站,站长工具ip地址查询域名,用php做网站视频,西安做网站公司云速. 富集分析基础知识1.1 什么是富集分析#xff1f;为什么要做富集分析#xff1f;富集分析#xff08;Enrichment Analysis#xff09;是生物信息学中一种重要的分析方法#xff0c;主要用于识别在特定生物样本#xff08;如基因集、代谢物集或其他分子集合#xff09;中…. 富集分析基础知识1.1 什么是富集分析为什么要做富集分析富集分析Enrichment Analysis是生物信息学中一种重要的分析方法主要用于识别在特定生物样本如基因集、代谢物集或其他分子集合中是否存在某种功能类别或通路的显著性聚集现象。该方法广泛应用于基因表达分析、蛋白质组学、代谢组学等领域有助于解析复杂的生物学过程、疾病发生机制以及基因功能注释等问题。富集分析的核心目的是评估一组预先定义的生物分子如差异表达基因是否在某个功能集或通路中显著聚集。例如在分析某种疾病状态下的转录组数据时富集分析能够揭示哪些生物学通路或功能模块在差异表达基因中显著富集从而提示其潜在生物学意义或与疾病相关的调控机制。1.2 富集分析有几种类型目前常用的富集分析方法主要包括以下几种1GO富集分析GOGene Ontology富集分析从三个维度系统描述基因的潜在功能分别为分子功能Molecular Function, MF描述基因在分子层面的活性如结合活性或催化作用细胞组分Cellular Component, CC反映基因产物在细胞中的定位生物过程Biological Process, BP揭示基因参与的生物学过程或通路。例如若差异基因显著富集于GO:0006954炎症反应Inflammatory Response则提示所研究基因可能参与机体免疫与炎症相关的生物学过程。2KEGG富集分析KEGGKyoto Encyclopedia of Genes and Genomes是一个系统性地整合基因功能及通路信息的数据库。KEGG富集分析基于该数据库对目标基因集中所涉及的主要代谢通路、信号转导途径等进行注释和统计评估从而识别出显著影响的生物学通路。3GSEA富集分析4GSVA富集分析在本节中我们将重点介绍GO富集分析与KEGG富集分析的基本原理与应用。GSEA和GSVA等方法将在后续分析点中详细展开。1.3 富集分析结果解读1GO富集分析结果图片11ONTOLOGY指示该通路所属的GO类别即生物过程Biological Process, BP、分子功能Molecular Function, MF还是细胞组分Cellular Component, CC。IDGO通路的唯一标识符用于在GO数据库中唯一地标识一个通路类似于“身份证号码”。Description对通路的简单描述通常通过这一列可以快速了解该通路的主要功能和作用。GeneRatio富集到该通路上的基因数量与所有输入到富集分析中的基因数量的比值。它反映了在特定基因集合中与该通路相关的基因所占的比例。BgRatio在整个背景数据集通常是整个基因组或某个参考数据集中与该通路相关的基因数量与背景数据集中所有基因数量的比值。它反映了在整个基因组中与该通路相关的基因所占的比例。Pvalue常规p值用于衡量富集的显著性。p值越小富集越显著。通常p值0.05被认为是显著的。p.adjust校正后的p值通常使用Benjamini-Hochberg方法进行多重比较校正以控制假阳性率。校正后的p值更严格地衡量富集的显著性。Qvalueq值表示校正后的p值用于控制假发现率False Discovery Rate, FDR。q值越小富集越显著。geneID富集到该通路上的基因ID列表以斜杠分隔。这些基因ID可以用于进一步的分析和验证。Count富集到该通路上的基因数目表示有多少个基因参与了该通路。2KEGG富集分析结果图片12Category通路所属的大类例如“Human Diseases”人类疾病、“Metabolism”代谢等用于对通路进行宏观分类。Subcategory通路所属的子类别进一步细化通路的分类例如在“Human Diseases”下有“Neurodegenerative disease”神经退行性疾病等。IDKEGG 通路的唯一标识符用于在 KEGG 数据库中唯一地标识一个通路类似于“身份证号码”。Description对通路的简单描述通常通过这一列可以快速了解该通路的主要功能和作用。GeneRatio富集到该通路上的基因数量与所有输入到富集分析中的基因数量的比值。它反映了在特定基因集合中与该通路相关的基因所占的比例。BgRatio在整个背景数据集通常是整个基因组或某个参考数据集中与该通路相关的基因数量与背景数据集中所有基因数量的比值。它反映了在整个基因组中与该通路相关的基因所占的比例。Pvalue常规 p 值用于衡量富集的显著性。p 值越小富集越显著。通常 p 值 0.05 被认为是显著的。p.adjust校正后的 p 值通常使用 Benjamini-Hochberg 方法进行多重比较校正以控制假阳性率。校正后的 p 值更严格地衡量富集的显著性。Qvalueq 值表示校正后的 p 值用于控制假发现率False Discovery Rate, FDR。q 值越小富集越显著。geneID富集到该通路上的基因 ID 列表以斜杠分隔。这些基因 ID 可以用于进一步的分析和验证。Count富集到该通路上的基因数目表示有多少个基因参与了该通路。2. GOKEGG富集分析2.1. GO富集分析我们将使用《转录组基因表达差异分析全流程以GSE65682为例》一文中得到的差异分析结果进行演示。复制代码library(clusterProfiler)library(org.Hs.eg.db)导入要富集分析的基因# 读取基因数据文件文件中包含基因符号gene symbolsgene_data - read.csv(D:\\Users\\Desktop\\转录组\\DEGhc_Sepsis.csv)# 提取基因符号列并将其转换为字符向量gene_vector - as.character(gene_data[[1]]) # 将第一列基因符号列转换为字符向量将基因符号转换为Entrez ID# 使用bitr函数将基因符号转换为Entrez ID# fromType SYMBOL 表示输入的基因标识符是基因符号# toType ENTREZID 表示目标标识符是Entrez ID# OrgDb org.Hs.eg.db 指定使用人类基因注释数据库entrez_ids - bitr(gene_vector, fromType SYMBOL, toType ENTREZID, OrgDb org.Hs.eg.db)复制代码entrez_ids如下图所示第一列就是基因名symbol而第二列就是ENTREZID注用bitr做转换的时候很有可能会出现基因没有对应的ENTREZID编号这是一个正常现象图片13执行GO富集分析复制代码# 使用enrichGO函数进行基因本体GO富集分析# gene entrez_ids$ENTREZID指定输入的基因列表这里使用之前转换得到的Entrez ID# OrgDb org.Hs.eg.db指定使用人类基因注释数据库# keyType ENTREZID指定输入基因标识符的类型为Entrez ID# ont ALL指定分析所有三种GO本体生物过程BP、细胞组分CC、分子功能MF# pAdjustMethod BH指定使用Benjamini-Hochberg方法进行多重比较校正# qvalueCutoff 0.05指定校正后的p值q值的阈值为0.05只有q值小于该阈值的GO项才会被保留# readable TRUE将输出结果中的ENTREZID转换为基因符号SYMBOLgo_enrichment - enrichGO(gene entrez_ids$ENTREZID,OrgDb org.Hs.eg.db,keyType ENTREZID,ont ALL,pAdjustMethod BH,qvalueCutoff 0.05,readable TRUE)# 查看富集分析结果# 使用print函数和summary方法打印GO富集分析的摘要结果print(summary(go_enrichment))# 将富集分析结果保存为CSV文件# 使用write.csv函数将富集分析结果保存到指定路径的CSV文件中write.csv(go_enrichment, file go_enrichment_results.csv, row.names FALSE)# 可视化 GO 富集分析结果# 使用 dotplot 函数生成 GO 富集分析的点图p - dotplot(go_enrichment) # 生成点图对象# 生成按本体ONTOLOGY分类的点图并使用 facet_grid 分面显示dotplot(go_enrichment, split ONTOLOGY) facet_grid(ONTOLOGY ~ ., scale free)# 使用 barplot 函数生成 GO 富集分析的柱状图barplot(go_enrichment)复制代码KEGG 富集分析复制代码# 使用 enrichKEGG 函数进行 KEGG 通路富集分析# gene entrez_ids$ENTREZID指定输入的基因列表Entrez ID# organism hsa指定分析的生物物种为人类hsa# keyType kegg指定输入基因标识符的类型为 KEGG ID# pAdjustMethod BH指定使用 Benjamini-Hochberg 方法进行多重比较校正# qvalueCutoff 0.05指定校正后的 p 值q 值的阈值为 0.05kegg_enrichment - enrichKEGG(gene entrez_ids$ENTREZID,organism hsa,keyType kegg,pAdjustMethod BH,qvalueCutoff 0.05)# 将输出结果中的ENTREZID转换为基因符号SYMBOLkegg_enrichmentDOSE::setReadable(kegg_enrichment, OrgDborg.Hs.eg.db,keyTypeENTREZID)# 查看 KEGG 富集分析结果print(summary(kegg_enrichment))# 将 KEGG 富集分析结果保存为 CSV 文件write.csv(kegg_enrichment, file D:\\Users\\Desktop\\call-task_KEGG_enrichment\\kegg_enrichment_results.csv, row.names FALSE)# 可视化 KEGG 富集分析结果p1 - dotplot(kegg_enrichment)# 使用 barplot 函数生成 KEGG 富集分析的柱状图barplot(kegg_enrichment)