2022-03-11 go分析 ID轉化

測序公司返回來的分析數(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
  1. 安裝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 = "BP", pAdjustMethod = "BH",pvalueCutoff = 0.01, qvalueCutoff = 0.05) CC層面上的富集分析: go_cc<-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

參考:
http://www.itdecent.cn/p/27c0c97b5dd6

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容