打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
clusterProfiler——GO和KEGG分析之R代码

KEGG相关包-clusterProfiler,Pathview的学习

 

在分析出差异基因后,需对差异基因进行GO和KEGG富集分析,可用clusterProfiler,Pathview包完成,相关学习代码如下。。。

能举一反三即可!!!

 

相关代码如下:

setwd("c:/Users/Administrator/Desktop/kegg) 
rm(list=ls())

source("https://bioconductor.org/biocLite.R")
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
biocLite("DOSE")
biocLite("topGO")
biocLite("clusterProfiler")
biocLite("pathview")

## 
library(DOSE)
library(GO.db)
library(org.Hs.eg.db)
library(topGO)
library(GSEABase)
library(clusterProfiler)


hsa_kegg<-download_KEGG("hsa")
str(hsa_kegg)
length(unique(hsa_kegg$KEGGPATHID2EXTID$from)) ###信号通路个数
length(unique(hsa_kegg$KEGGPATHID2EXTID$to))  ###所有信号通路中的基因数
length(unique(hsa_kegg$KEGGPATHID2NAME$from)) ###信号通路对应的名字 为啥与1个length不等;
length(unique(hsa_kegg$KEGGPATHID2NAME$to)) ###信号通路对应的名字,部分信号通路无基因??

x<-data.frame(hsa_kegg$KEGGPATHID2EXTID)  ###两列为pathwayid,基因id extid 扩增标识符
#xxx#一个信号通路含有多个基因,一个基因在多个信号通路

y<-data.frame(hsa_kegg$KEGGPATHID2NAME)  ###信号通路个数  
### 一个信号通路一个名字,部分信号通路无基因???


###
hsa_go<-org.Hs.egGO   ###GO分析
str(hsa_go)
head(hsa_go@L2Rchain)

mapped_Go_genes<-mappedkeys(hsa_go)
length(mapped_Go_genes)  #GO(BP,CC,MF三个基因个数为18622个gene)

hsa_kegg2<-org.Hs.egPATH
str(hsa_kegg2)
mapped_Kegg_genes<-mappedkeys(hsa_kegg2)
length(mapped_Kegg_genes)
length(unique(mapped_Kegg_genes))  
###KEGG里面PATH 的Gene数 unique的基因数为5869个基因


###
data(geneList, package="DOSE")
str(geneList)
# a<-as.data.frame(data(geneList, package="DOSE")) ##错误
# b<-data(geneList, package="DOSE") 
# ##错误
c<-as.data.frame(geneList)  ##可以,基因为entrez gene id,后面为对应差异基因倍数。

gene <- names(geneList)[abs(geneList) > 2]

d<-as.data.frame(gene)


kk <- enrichKEGG(gene = gene,
                 organism     = 'hsa',
                 pvalueCutoff = 0.05)
head(kk)
length(kk$ID)


barplot(kk, drop=TRUE, showCategory=12)  ##x轴为基因counts数,y为信号通路,颜色为p值
dotplot(kk, showCategory=12)  ##x为geneRatio数
enrichMap(kk)
cnetplot(kk, categorySize="pvalue", foldChange=geneList)
MM <- setReadable(kk, OrgDb = org.Hs.eg.db,keytype = "ENTREZID")
cnetplot(MM, categorySize="pvalue", foldChange=geneList)

 

##
library(pathview)
gene.with.fc<-geneList[abs(geneList)>2]

e<-as.data.frame(geneList)

hsa04110 <- pathview(gene.data = gene.with.fc,
                     pathway.id = "hsa04110",
                     species = "hsa", 
                     out.suffix = "fc",
                     kegg.native=T)

hsa04110.21layer<-pathview(gene.data = gene.with.fc,
                           pathway.id = "hsa04110",
                           species = "hsa", 
                           out.suffix = "fc.21layer",
                           limit=list(gene=max(abs(gene.with.fc)),cpd=1),
                           kegg.native=TRUE,same.layer=F)  ###将部分基因ID转换成gene name;

hsa04110.graphviz<-pathview(gene.data = gene.with.fc,
                            pathway.id = "hsa04110",
                            species = "hsa", 
                            out.suffix = "fc.graphviz",
                            limit=list(gene=max(abs(gene.with.fc)),cpd=1),
                            kegg.native=F,sign.pos="bottomleft")  ###改变基因与基因之间的线条

 

 

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
得到差异分析之后进行功能富集分析
RNA-seq入门实战(六):GO、KEGG富集分析与enrichplot超全可视化攻略
clusterProfiler|GSEA富集分析及可视化
Chapter 12 Visualization of Functional Enrichment Result | clusterProfiler: universal enrichment too
GEO数据挖掘小尝试:(三)利用clusterProfiler进行富集分析输入标题
Pathview包:整合表达谱数据可视化KEGG通路
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服