帮别人做一段富集分析的代码
2020-02-04 本文已影响0人
医科研
### Functional enrichment analysis
library(clusterProfiler)
library(org.Hs.eg.db)
library(tidyverse)
### load data
geneset<-read.csv(file="genelist_DEGs.csv",header=T)
head(geneset)
### PD1 group
genelist<- geneset[["aPD1"]] %>% bitr(fromType = "SYMBOL",
toType = c("ENSEMBL", "ENTREZID"),
OrgDb = org.Hs.eg.db)
head(genelist)
dim(genelist)
### DEG-GO
ego <- enrichGO(gene = genelist$ENSEMBL,
OrgDb = org.Hs.eg.db,
keyType = 'ENSEMBL',##指定gene id的类型
ont = "all",##GO分类
pAdjustMethod = "BH",
pvalueCutoff = 0.05,##设置阈值
qvalueCutoff = 0.05,
readable=TRUE)
write.csv(ego,file = "result/DEG_ego.csv")
ego[1:5,1:5]
go_dot<-dotplot(ego,split="ONTOLOGY",showCategory=5)+
facet_grid(ONTOLOGY~.,scale="free")
go_dot
ggsave(go_dot,filename = "result_DEG_GO.pdf",width = 8,height = 6)
### DEG-KEGG
kk <- enrichKEGG(gene = genelist$ENTREZID,
organism = 'hsa',
pvalueCutoff = 0.05
)
head(kk)
dotplot(kk)
ggsave(kk,file=paste(group,))
write.csv(kk,file="DEG_KEGG.csv")
ggsave("result/DEG_KEGG.pdf")
### clusterfunction
clusterfun<-function(group="aPD1"){
### group
genelist<- geneset[[group]] %>% bitr(fromType = "SYMBOL",
toType = c("ENSEMBL", "ENTREZID"),
OrgDb = org.Hs.eg.db)
head(genelist)
dim(genelist)
### DEG-GO
ego <- enrichGO(gene = genelist$ENSEMBL,
OrgDb = org.Hs.eg.db,
keyType = 'ENSEMBL',##指定gene id的类型
ont = "all",##GO分类
pAdjustMethod = "BH",
pvalueCutoff = 0.05,##设置阈值
qvalueCutoff = 0.05,
readable=TRUE)
write.csv(ego,file = paste(group,"_DEG_ego.csv",sep="_"))
ego[1:5,1:5]
go_dot<-dotplot(ego,split="ONTOLOGY",showCategory=5)+
facet_grid(ONTOLOGY~.,scale="free")
go_dot
ggsave(go_dot,filename = paste(group,"_DEG_ego.pdf",sep="_"),width = 13,height = 13)
### DEG-KEGG
kk <- enrichKEGG(gene = genelist$ENTREZID,
organism = 'hsa',
pvalueCutoff = 0.05
)
head(kk)
dotplot(kk)
ggsave(kk,file=paste(group,"_DEG_KEGG.pdf",sep = "_"),width=13,height=13)
write.csv(kk,file=paste(group,"_DEG_KEGG.csv",sep = "_"))
}
### function enrich
clusterfun(group = "aPD1")
### for circulation
for (i in colnames(geneset)){
clusterfun(group = i)
}