生信相关R生信程序员

根据自己构建的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分析

  1. 安装R包
library(readr)
library(clusterProfiler)
library(DOSE)
library(org.Sindicum.eg.db)   自己创建的orgDb
columns(org.Sindicum.eg.db)   
  1. 准备一个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文件
  1. 保存结果
write.table(ego_results, file = "ego_results.txt", quote = F)  让保存的字符串不用“”引起来

4. GO作图

  1. barplot
pdf(file = "ego_barplot.pdf") ##打开一个PDF文件
barplot(ego, showCategory=20, x = "GeneRatio")  把图画到这个PDF文件里
dev.off() ##关闭PDF
barplot
  1. dotplot
dotplot(ego)
dotplot
  1. emapplot
emapplot(ego)
emapplot
  1. 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)
上一篇下一篇

猜你喜欢

热点阅读