有参转录组实战9-差异基因GO富集分析

#这里需要对非模式物种制作ORG.DB包,如果是模式物种,“https://bioconductor.org/packages/release/BiocViews.html#___OrgDb”该网站有自带的成熟的包,自行下载使用就行。

#对上一个教程中得到的out.emapper.annotations文件,对表头修整下:

#windows上的R运行

library(dplyr)
library(stringr)
library(clusterProfiler)
library(AnnotationForge)
library(tidyr)
options(stringsAsFactors = F)#keep character but not factor conversion
emapper <- read.delim("out.emapper.annotations")
emapper[emapper=="-"] <- NA#change "-" to "NA"
emapper <- emapper[-(49584:49586),]#remove the final 3 rows
gene_info <- dplyr::select(emapper, GID=query, Gene_Name=seed_ortholog)%>%
  dplyr::filter(!is.na(Gene_Name))

#gene_info表格

#提取GO信息

gene2go <- dplyr::select(emapper,GID=query, GO=GOs)%>%
  filter(!is.na(GO))%>%
  mutate(EVIDENCE='IEA')%>%
  separate_rows(GO, sep = ',', convert = F)

#gene2go表格,其实和实战8中,TBTOOLS做出来的是一样的。

#构建orgdb包

AnnotationForge::makeOrgPackage(gene_info=gene_info,
                                go=gene2go,
                                maintainer = 'LJH',
                                author = 'LJH',
                                outputDir = "./",
                                tax_id = 0000,
                                genus = 'P',
                                species = 'tri',
                                goTable = "go",
                                version = "1.0")
#对新生成的org.Ptri.eg.db包中的DESCRIPTION,进行修改,Maintainer: LJH <abc@cba.com>,

#打包

pkgbuild::build('./org.Ptri.eg.db', dest_path = './')
#生成org.Ptri.eg.db_1.0.tar.gz将这个R包放到平时R包安装的路径中,本地安装

install.packages('your_path', repos = NULL)
library(org.Ptri.eg.db)
#将实战5中的差异基因自行excel修改下基因名,使其与gene_info中的GID相对应

#差异分析
DE <- read.delim("DE_genes_filter.txt")
ego <- enrichGO(gene = DE$GID,
                OrgDb = org.Ptri.eg.db,
                keyType = 'GID',
                ont = 'ALL',
                pvalueCutoff = 0.05,
                qvalueCutoff = 0.05)
#以下是自带的clusterprofiler的画图函数
dotplot(ego)
barplot(ego)
cnetplot(ego)

#这个富集文件要自己用EXCEL修改,我自己选了15条BP-4条CC-15条MF。GeneRatio自己做成百分比。#以下是用GGPLOT2画条形图了,各种函数,自己调节参数即可。write.table(ego, file = "Ptri_GO_test",sep = '\t',quote = F)ego2 <- read.delim("Ptri_GO_test")
library(ggplot2)
library(GOplot)
ggplot(ego2, aes(Description, -log10(p.adjust))) +
  geom_col(aes(fill = ONTOLOGY), width = 0.5, show.legend = FALSE) +
  scale_fill_manual(values = c('#D06660', '#5AAD36', '#6C85F5')) +
  facet_grid(ONTOLOGY~., scale = 'free_y', space = 'free_y') +
  theme(panel.grid = element_blank(), panel.background = element_rect(color = 'black', fill = 'transparent')) +
  scale_y_continuous(expand = expansion(mult = c(0, 0.1))) +
  coord_flip() +
  labs(x = '', y = '-log10(p.adjust)')

#GGPLOT2画气泡图
pp <- ggplot(ego2, aes(GeneRatio, Description))
pp + geom_point() +
  geom_point(aes(size = Count)) +
  geom_point(aes(size = Count, color = -1 * log10(qvalue))) +
  scale_colour_gradient(low = "green", high = "red") +
  labs(color = expression(-log[10](Qvalue)), size = "Gene Number", x = "Rich Factor", y = "Pathway Name", title = "Top 30 of Pathway Enrichment") +
  theme_bw()
##########图片自己微调吧#######

#小林家的龙女仆

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊辉的科研

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值