|
发表于 2022-10-10 10:54:36
|
查看: 7562 |
回复: 0
一、注释相关包介绍
clusterProfiler 是南方医科大学余光创(微信公众号 biobabble)写的一个 R包,可以用来做各种富集分析,如 GO、KEGG、DO(Disease Ontology
analysis)、Reactome pathway analysis 以及 GSEA 富集分析等。而除了富集分析,还可以非常方便的对富集分析结果进行可视化。只需要输入一个基因 ID的列表,就可以完成的分析,非常方便。
网址:
- http://www.bioconductor.org/packages/release/bioc/html/clusterProfiler.html
复制代码 使用说明:
- http://www.bioconductor.org/packages/release/bioc/vignettes/clusterProfiler/inst/doc/clusterProfiler.html
复制代码- http://yulab-smu.top/clusterProfiler-book/
复制代码 安装和使用:
- library(dplyr)
- library(tidyr)
- library(DOSE)
- library(GO.db)
- library(org.Hs.eg.db)
- library(GSEABase)
- library(clusterProfiler)
复制代码
二、基因 ID 转换
对于具有注释信息的物种,基因注释的过程就是各种 ID 转换的过程,在转换过程中,需要注意 ID 的类型,以及一对多和多对多的情况。
- #前面差异分析得到的res005文件
- dta <- read.csv("res005.csv",header = T,row.names = 1,stringsAsFactors = F)
- ## ------------------------------------------------------------------------
- x <- rownames(dta)
- length(x)
- keytypes(org.Hs.eg.db)
- eg <- bitr(x, fromType="ENSEMBL", toType="ENTREZID", OrgDb="org.Hs.eg.db")
- head(eg)
- ids <- bitr(x, fromType="ENSEMBL", toType=c( "SYMBOL"), OrgDb="org.Hs.eg.db")
- head(ids)
- go <- bitr(x,fromType = "ENSEMBL",toType = c("SYMBOL","GO","ONTOLOGY"),OrgDb = "org.Hs.eg.db")
- head(go)
复制代码
三、GO 功能注释与富集
Gene Ontology(简称 GO)是一个国际标准化的基因功能分类体系,提供了一套动态更新的标准词汇表(controlled vocabulary)来全面描述生物体中基因和基因产物的属性。GO 总共有三个 ontology(本体),分别描述基因的分子功能(molecular function)、细胞组分(cellular component)、参与的生物过程(biological process)。GO 的基本单位是 term(词条、节点),每个term 都对应一个属性。
基因 GO/KEGG 富集分析
- gene <- eg$ENTREZID
- gene.df <- bitr(gene, fromType = "ENTREZID",
- toType = c("ENSEMBL", "SYMBOL"),
- OrgDb = org.Hs.eg.db)
- head(gene.df)
- ggo <- groupGO(gene = gene,
- OrgDb = org.Hs.eg.db,
- ont = "MF",
- level = 3,
- readable = TRUE)
- head(ggo)
- View(as.data.frame(ggo))
- ego <- enrichGO(gene = gene,
- OrgDb = org.Hs.eg.db,
- ont = "CC",
- pAdjustMethod = "BH",
- readable = TRUE)
- head(ego)
- View(as.data.frame(ego))
复制代码
四、GO功能注释可视化
- barplot(ggo, drop=TRUE, showCategory=12)
- ## ----fig.height=5, fig.width=8-------------------------------------------
- barplot(ego, showCategory=15)
- dotplot(ego)
- goplot(ego)
复制代码
五、KEGG 功能注释与富集
KEGG(Kyoto Encyclopedia of Genes and Genomes,京都基因与基因组百科全书)是一个关于基因组、酶促途径以及生物化学物质的在线数据库。虽然决定生物体基因分类的基因组测序工程有了飞速的发展,但对单个基因功能的研究仍然相差甚远。同时活细胞的生物学功能是许多分子相互作用的结果,不能仅仅归功于单个基因或单个分子。
KEGG 官网:http://www.genome.jp/kegg/
- search_kegg_organism('ece', by='kegg_code')
- search_kegg_organism('hsa', by='kegg_code')
- ecoli <- search_kegg_organism('Escherichia coli', by='scientific_name')
- dim(ecoli)
- head(ecoli)
- kk <- enrichKEGG(gene = gene,
- organism = 'hsa',
- pvalueCutoff = 0.05)
- View(kk@result)
- browseKEGG(kk, 'hsa04750')
复制代码
六、KEGG 功能注释可视化
- barplot(kk)
- dotplot(kk)
- #自定义画图
- y <- kk@result #保留kk结果
- head(y)
- par('mar')
- par(mar=c(5.1,15.1,4.1,2.1))
- barplot(height = y$Count[1:10],names.arg = y$Description[1:10],horiz = T,las=2)
复制代码
七、单独绘制 kegg 条目图
- library(ggplot2)
- pathway <- read.csv("kegg.csv",header=T)
- head(pathway)
- colnames(pathway)
- p <- ggplot(data=pathway,mapping = aes(x=richFactor,y=Pathway))
- p
- p + geom_point()
- p + geom_point(aes(size=AvsB))
- p + geom_point(aes(size=AvsB,color=Qvalue))
- p + geom_point(aes(size=AvsB,color=Qvalue)) + scale_colour_gradient(low="green",high="red")
- p + geom_point(aes(size=AvsB,color=Qvalue)) + scale_colour_gradient(low="green",high="red")+labs(title="Top20 of pathway enrichment",x="Rich factor",y="Pathway Name",color="-log10(Qvalue)",size="Gene Numbers")
- p + geom_point(aes(size=AvsB,color=Qvalue)) + scale_colour_gradient(low="green",high="red")+labs(title="Top20 of pathway enrichment",x="Rich factor",y="Pathway Name",color="-log10(Qvalue)",size="Gene Numbers")+theme_bw()
复制代码
示例结果的ggplot2可视化
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|