library("clusterProfiler")
library("org.Hs.eg.db")

GO分析与KEGG分析

GO分析需要一个基因 symbol列表,列表中为差异表达基因。

一、读入数据

result<- read.csv(file = "Results/gleason high vs low_DESeq2差异分析/gleason high vs low_result.csv", header=T, row.names=1,check.names=FALSE)t_index=result$Change %in% c('up','down')
DEG_symbol=rownames(result)[t_index]

这里以gleason high vs low_result.csv为例,得到的DEG_symbol即为所需要的 symbol列表

View(result)

二、symbol转换为entrezid

1 转换 

DEG_entrezid = mapIds(x = org.Hs.eg.db,keys = DEG_symbol,keytype = "SYMBOL",column = "ENTREZID") #存在NA

转换后的DEG_entrezid是character vector,其中有NA值

2 去除DEG_entrezid中的NA值 

DEG_entrezid=na.omit(DEG_entrezid) 

na.omit()函数能去除所有含有NA的行

三、GO分析与KEGG分析

GO_BP = enrichGO(gene = DEG_entrezid,OrgDb = org.Hs.eg.db,keyType = "ENTREZID",ont = "BP",     #'BP','CC','MF'pvalueCutoff = 0.5,qvalueCutoff = 0.5)KEGG <- enrichKEGG(DEG_entrezid, organism = 'hsa',  ## hsa为人的简写keyType = 'kegg', pvalueCutoff = 0.05,pAdjustMethod = 'BH', minGSSize = 3,maxGSSize = 500,qvalueCutoff = 0.5,use_internal_data = FALSE)

四、可视化

dotplot(GO_BP,showCategory=5, #展示5个通路title="EnrichmentGO_BP") 

barplot(GO_BP,showCategory=5,title="EnrichmentGO_BP")

GSEA分析

clusterProfiler|GSEA富集分析及可视化 - 云+社区 - 腾讯云

GSEA分析需要一个 gene_list vector,为foldchange(或logFC)的降序排列,同时标注ENTREZID

在Rstudio中显示如下:

library(clusterProfiler)
library(org.Hs.eg.db)
library(enrichplot)

一、读入数据

result<- read.csv(file = "Results/gleason high vs low_DESeq2差异分析/gleason high vs low_result.csv", header=T, row.names=1,check.names=FALSE)DEG_fc=data.frame('Symbol'=rownames(result),'LogFC'=result[,2],stringsAsFactors=F) #合并rownames和log2Foldchange列

View(DEG_fc)

二、转换ENTREZID,获取gene_list vector

DEG_fc[,'ENTREZID'] = mapIds(x = org.Hs.eg.db,keys = DEG_fc$Symbol,keytype = "SYMBOL",column = "ENTREZID") #存在NA
DEG_fc=na.omit(DEG_fc) #去除NA值

 View(DEG_fc)

gene_list=DEG_fc$LogFC                       #提取logFC列
names(gene_list)=DEG_fc$ENTREZID             #加上ENTREZID
gene_list = sort(gene_list, decreasing = T)  #降序排列

三、GSEA分析

gsea_KEGG <- gseKEGG(gene_list,organism = "hsa",keyType = "kegg")

若将gsea_KEGG转化为dataframe格式,如下图:

四、可视化

1  path 为需要展示的pathway id,这里展示的是enrichment score最高的4条通路

t_index=order(gsea_KEGG_d$enrichmentScore,decreasing = T)
path=rownames(gsea_KEGG[t_index,])[1:4] #选择展示的pathway

2 作图

gseaplot2(gsea_KEGG,path, subplots = 1:2, #展示前2个图(共3个)pvalue_table = T, #显示p值title = "Olfactory transduction",  #设置titlebase_size = 10, #字体大小#color="red") #线条颜色可选

GO分析

1 GO分析分3个层面

  • Cellular component,CC 细胞成分
  • Biological process, BP 生物学过程
  • Molecular function,MF 分子功能
  • Cellular component解释的是基因存在在哪里,在细胞质还是在细胞核?如果存在细胞质那在哪个细胞器上?如果是在线粒体中那是存在线粒体膜上还是在线粒体的基质当中?这些信息都叫Cellular component。
  • Biological process是在说明该基因参与了哪些生物学过程,比如,它参与了rRNA的加工或参与了DNA的复制,这些信息都叫Biological process
  • Molecular function在讲该基因在分子层面的功能是什么?它是催化什么反应的?
    So, we will have a gene annotation infarmation.
    立足于这三个方面,我们将得到基因的注释信息。

2 结果解读

气泡图(dotplot)

  • 横坐标是GeneRatio,意思是说输入进去的基因,它每个term(纵坐标)占整体基因的百分之多少;
  • 圆圈的大小代表gene count的多少,图中给出了最大的圆圈代表11个基因;
  • 圆圈的颜色代表P-value;

总体来说,P-value越小gene count圈越大,富集就越可信

柱形图(barplot)

  • 柱子长度代表gene count的多少,图中给出了最长柱子代表11个基因;
  • 柱子的颜色代表P-value;

总体来说,P-value越小gene count越大,富集就越可信

KEGG分析

1 KEGG富集分析,即Pathway富集分析

除了对基因本身功能的注释,我们也知道基因会参与人体的各个通路,基于人体通路而形成的数据库就是通路相关的数据库。而KEGG就是通路相关的数据库的一种。

2 结果解读

和GO分析的dotplot、barplot相同

GSEA分析

传统的基因功能富集分析的时候肯定遇到这样的情况,一条富集到的通路中,既有上调的差异表达基因,也有下调的差异表达基因,那么这条通路总体是被抑制还是被激活呢?那么这条通路中的基因表达水平在实验组相比于对照组究竟是上升了呢,还是下降了呢?

GSEA富集分析解决的就是 pathways 被上调或者下调的问题。

KEGG数据库

数据库|最全的KEGG使用教程在这里!

认识 KEGG PATHWAY 数据库_QFIUNE的博客-CSDN博客_pathway数据库

1 简介

KEGG是一个综合数据库,它们大致分为系统信息、基因组信息、化学信息和健康信息四大类。进一步可细分为15个主要的数据库。

2  查询 hsa pathways id 和 description

方法1 

http://rest.kegg.jp/list/pathway/hsa

path:hsa00010 Glycolysis / Gluconeogenesis - Homo sapiens (human)
path:hsa00020   Citrate cycle (TCA cycle) - Homo sapiens (human)
path:hsa00030   Pentose phosphate pathway - Homo sapiens (human)
path:hsa00040   Pentose and glucuronate interconversions - Homo sapiens (human)
path:hsa00051   Fructose and mannose metabolism - Homo sapiens (human)
path:hsa00052   Galactose metabolism - Homo sapiens (human)
... ... 

方法2

KEGG PATHWAY Database

物种选择hsa,keywords输入description

富集分析(GO、KEGG、GSEA)相关推荐

  1. R语言|clusterprofile超几何分布富集分析 GO,KEGG富集分析,循环Fisher‘s test

    超几何分布富集分析 GO,KEGG富集分析,循环Fisher's test ID转换 GO KEGG 把KEGG里的geneid转回名称(readable table) 超几何分布以及生成data f ...

  2. 一文掌握GSEA通路富集分析,超详细教程!

    生信宝典之前总结了一篇关于GSEA富集分析的推文--GSEA富集分析:从概念理解到界面实操,介绍了GSEA的定义.GSEA原理.GSEA分析.Leading-edge分析等,是全网最流行的原理+操作兼 ...

  3. 富集分析原理和clusterProfiler包进行GO、KEGG富集分析详细说明

    概念: 基因富集分析是指对于给定一组基因根据基因组注释信息(GO.KEGG)对基因进行聚类分析,即给定的基因是不是GO中的一个功能(或KEGG中的一个通路). 基因的功能富集的目的是说明给定的基因集对 ...

  4. GO和KEGG富集分析详细步骤

    GO和KEGG富集分析 文章目录 GO和KEGG富集分析 @[toc] 1. 将差异表达结果的基因名称转化为id 2. GO富集分析 3. GO圈图绘制 4. KEGG富集分析 5. KEGG圈图绘制 ...

  5. 单个基因集富集分析泡泡图绘制

    富集分析是生物信息分析中快速了解目标基因或目标区域功能倾向性的最重要方法之一.其中代表性的计算方式有两种: 一是基于筛选的差异基因,采用超几何检验判断上调或下调基因在哪些GO或KEGG或其它定义的通路 ...

  6. 富集分析,看完这篇就够

    在我们做完组学项目看报告时经常遇到的词儿就有"富集分析",那到底什么是富集分析,它又是用来做什么的,以及富集分析的结果要怎么查看.今天小编就通过自问自答的方式给大家一起科普一下. ...

  7. 在线花店系统需求分析_在线富集分析工具,5秒打包您所有的富集分析需求

    ?点击上方蓝字把我们设为星标吧✴ 老师们筛选到自己感兴趣的基因之后是否会有如下需求和疑问: 1.这些基因主要的生物功能是什么? 2.这些基因主要涉及什么信号通路? 3.怎么绘制精美的富集统计图? 4. ...

  8. 浅谈富集分析的Pvalue

    浅谈富集分析的Pvalue 引言 超几何分布 Python计算超几何分布 引言 今天给大家带来一个关于"撒币"的问题,说起"撒币",最经典就是二项分布,也就是你 ...

  9. GO/KEGG富集分析与GSEA区别

      概念: GO是基因本体联合会所建立的数据库,旨在建立一个适用于各种物种的,对基因和蛋白质功能进行限定和描述的,并能随着研究不断深入而更新的语义词汇标准.GO 提供了一系列的语义用于描述基因功能的概 ...

  10. gsea富集分析结果怎么看_简单的GSEA分析

    对于差异表达基因,除了使用GO和KEGG进行富集分析外,还可以进行GSEA富集分析.在之前课程中:GSEA分析,有讲如何使用GSEA桌面化软件进行分析,操作十分简答,虽然偶尔会出现内存溢出或者数据格式 ...

最新文章

  1. (四)Asp.net web api中的坑-【api的返回值】
  2. 使用PowerDesigner 设计SQL Server 数据库
  3. redhat安装wine教程_可能是最漂亮的国产Linux,U盘安装DeepinLinux 深度操作系统
  4. C# 中对象与JSON字符串相互转换的三种方法
  5. EFCore 5 新特性 Savepoints
  6. linux 打开php服务器文件夹,Linux下如何查看文件和文件夹大小
  7. 与女儿谈商业模式 (4):戴尔的成功秘诀
  8. hashmap 允许key重复吗_HashTable和HashMap的区别详解
  9. linux外接NetApp存储,netapp linux iscsi 实现
  10. CANape CAN工程的创建
  11. rust 案例_深入浅出rust.pdf 高清版
  12. 【前端】JS 计算贷款月付
  13. python泰坦尼克号数据分析_Python实战—泰坦尼克号生还者数据分析
  14. 从html到pug模板,html 模板 pug
  15. 设置linux睡眠时间,Linux 睡眠时间函数如何使用?延迟指定时间sleep命令了解一下...
  16. js网页进度条等待特效
  17. JetBrains全系列破解
  18. 商业模式新生代_免费商业模式——《商业模式新生代》读书笔记之五
  19. Vue 设置图片不转为base64
  20. unity 回车_Unity InputField空格引起排版错误和回车换行

热门文章

  1. Pytorch:VGG16
  2. FileBrowser文件浏览器部署
  3. 基于vue的nuxt框架cnode社区服务端渲染 1
  4. Dao接口返回数组_在内存只有10M的空间中申请一块5M的数组空间,会导致OOM吗?...
  5. 适合糖友增强饱腹感的一些主食
  6. php下载MP4视频
  7. 抖音小程序怎么注册?一文看懂抖音小程序注册开发流程
  8. android中实现图片圆形效果
  9. knife4j文档-个人笔记
  10. 阿里巴巴、腾讯投资Barefoot,助力C轮融资8000万美元