R数据处理转录组学

帮别人做一段富集分析的代码

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)
}
上一篇下一篇

猜你喜欢

热点阅读