2022-03-11 go分析 ID转化

测序公司返回来的分析数据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
  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) 根据列名就可以获取所需要的列
或者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

参考:
https://www.jianshu.com/p/27c0c97b5dd6

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容