测序公司返回来的分析数据EntrezID 有的时候不完全,需要根据ensemble_gene_id进行转换

image.png
ID转化
做GO分析是不能直接用基因名的,必须得先转化成entre id
diff_gene<-read.csv("cm.csv")
head(diff_gene)
ensembl_gene_id = diff_gene[,2]
head(ensembl_gene_id)
id <-bitr(ensembl_gene_id, fromType = "ENSEMBL",
toType = c("ENTREZID"),
OrgDb = org.Dr.eg.db,drop = FALSE )
head(id)
ENTREZID=id$ENTREZID
ENTREZID

image.png
- 安装R包
library(clusterProfiler) #用来做富集分析
library(topGO)#画GO图用的
library(pathview) #看KEGG pathway的
library(org.Hs.eg.db)#这个包里存有人的注释文件
library(org.Dr.eg.db)#这个包里存有斑马鱼的注释文件
library(ggplot2)
BiocManager::install("ggnewscale")
library(ggnewscale)
准备一个gene_list
setwd("I:/trit1/revised_8d_16d")
diff_gene<-read.csv("cm.csv")
head(diff_gene)

image.png
获取基因名或者enseble_gene_id
gene_list <- as.character(diff_gene$stat) 根据列名就可以获取所需要的列
或者gene_list =gene_list[,6]
GO富集分析
方法一:用差异基因的ensembl_gene_id(身份证号)进行分析的------
' BP层面上的富集分析:
go_bp<-enrichGO(gene = diff_geneensembl_gene_id,OrgDb = org.Hs.eg.db,keyType = 'ENSEMBL', ont = "CC", pAdjustMethod = "BH",pvalueCutoff = 0.01, qvalueCutoff = 0.05)
----------方法二:如果不想用差异基因的ensembl_gene_id(身份证号)进行分析,想通过基因的名字进行功能分析,请看以下代码------
先进行id到名字转换'
ensembl_gene_id = diff_gene[,2]
gene_list=diff_gene[,9]
head(gene_list)
head(ensembl_gene_id)

image.png
gene.name <-bitr(ensembl_gene_id, fromType = "ENSEMBL",
toType = c("SYMBOL","ENTREZID"),
OrgDb = org.Dr.eg.db,drop = FALSE )
head(gene.name)

image.png

image.png
BP层面上的富集分析:
go_bp<-enrichGO(gene = gene.name$SYMBOL,OrgDb = org.Dr.eg.db,keyType = 'SYMBOL', ont = "BP", pAdjustMethod = "BH",pvalueCutoff = 0.01, qvalueCutoff = 0.05)
把结果导出保存
write.csv(go_bp@result,"go_bp.csv")
CC层面上的富集分析:
go_cc<-enrichGO(gene = gene.name$SYMBOL,OrgDb = org.Dr.eg.db,keyType = 'SYMBOL', ont = "CC", pAdjustMethod = "BH",pvalueCutoff = 0.01, qvalueCutoff = 0.05)
把结果导出保存
write.csv(go_bp@result,"go_bp.csv")
CC层面上的富集分析:
把结果导出保存
write.csv(go_bp@result,"go_bp.csv")
go_MF <- enrichGO(gene =gene.name$SYMBOL, OrgDb= org.Dr.eg.db, keyType = 'SYMBOL', ont = "MF",pAdjustMethod = "BH",pvalueCutoff = 0.01,qvalueCutoff = 0.05)
可视化
分析完成后,
做成气泡图形式
dotplot(go_bp,showCategory=20)
dotplot(go_cc)
dotplot(go_MF)
做成条形图形式
barplot(go_bp,showCategory = 12,title="The GO_BP enrichment analysis of all DEGs ", drop=TRUE)

image.png

image.png

image.png
前五条通路的共同基因的circle图
geneList=diff_gene$log2FoldChange
names(geneList)=diff_gene$external_gene_name
geneList=sort(geneList,decreasing = T)
#(3)展示top5通路的共同基因,要放大看。
#Gene-Concept Network
cnetplot(go_cc, categorySize="pvalue", foldChange=geneList,colorEdge = TRUE)
cnetplot(go_cc, foldChange=geneList, circular = TRUE, colorEdge = TRUE)

image.png
基因富集结果可视化
emapplot(go_cc)
通路之间的关系
goplot(go_cc)

image.png
基因展示的heatmap
heatplot(go_cc,foldChange = geneList)
#太多基因就会糊。可通过调整比例或者减少基因来控制。
pdf("heatplot.pdf",width = 14,height = 5)
heatplot(ego_cc,foldChange = geneList)
dev.off()

image.png