根据自己构建的orgDb进行GO分析
2019-07-18 本文已影响159人
多啦A梦的时光机_648d
1. 在Rstiduo中安装自己的orgDb包
$install.packages("org.Sindicum.eg.db", repos = NULL,type = "source") 指不从网上下载 type指定安装包类型
安装好的orgDb包
2. 载入R包并大致查看一下R包的内容
R包的内容可用keys()命令查看一下这个包大致有哪些genes。
包含的部分genes
可用select()命令查一下某个基因对应的GO和Pathway信息
SIN_1003180基因对应的GO与Pathway
3. 进行GO分析
- 安装R包
library(readr)
library(clusterProfiler)
library(DOSE)
library(org.Sindicum.eg.db) 自己创建的orgDb
columns(org.Sindicum.eg.db)
- 准备一个gene_list
gene_list <- read_csv("input/gene.list", col_names = FALSE)
gene_list <- as.character(gene_list$X1)
3.GO分析
ego <- enrichGO(gene = gene_list, #差异基因 vector
keyType = "GID", #差异基因的 ID 类型,需要是 OrgDb 支持的
OrgDb = org.Sindicum.eg.db, #对应的OrgDb
ont = "CC", #GO 分类名称,CC BP MF
pvalueCutoff = 1, #Pvalue 阈值 (pvalue=1指输出所有结果,pvalue=0.05指输出符合要求的结果)
qvalueCutoff = 1, #qvalue 阈值
pAdjustMethod = "BH", #Pvalue 矫正方法
readable = FALSE) #TRUE 则展示SYMBOL,FALSE 则展示原来的ID(选false是因为不是所有gene都有symbol的)
生成的ego文件转换成data.frame格式即可。
ego_results<-as.data.frame(ego)
部分ego文件
- 保存结果
write.table(ego_results, file = "ego_results.txt", quote = F) 让保存的字符串不用“”引起来
4. GO作图
- barplot
pdf(file = "ego_barplot.pdf") ##打开一个PDF文件
barplot(ego, showCategory=20, x = "GeneRatio") 把图画到这个PDF文件里
dev.off() ##关闭PDF
barplot
- dotplot
dotplot(ego)
dotplot
- emapplot
emapplot(ego)
emapplot
- plotGOgraph
安装topGO包
if("topGO" %in% rownames(installed.packages()) == FALSE) {source("http://bioconductor.org/biocLite.R");biocLite("topGO")}
suppressMessages(library(topGO))
ls("package:topGO")
安装Rgraphviz包
source("http://bioconductor.org/biocLite.R")
biocLite("c")
plotGOgraph(ego)
plotGOgraph(ego)