測序公司返回來的分析數(shù)據(jù)EntrezID 有的時候不完全,需要根據(jù)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) 根據(jù)列名就可以獲取所需要的列
或者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