R语言:GO和KEGG分析

> library("clusterProfiler")
> library("org.Hs.eg.db")
> library("enrichplot")
> library("ggplot2")
> library("org.Hs.eg.db")
#install.packages("GOplot")
> library(GOplot)


> rt=read.table("input.txt",sep="\t",check.names=F,header=T)
> genes=as.vector(rt[,1])
> entrezIDs <- mget(genes, org.Hs.egSYMBOL2EG, ifnotfound=NA)    
> entrezIDs <- as.character(entrezIDs)
> out=cbind(rt,entrezID=entrezIDs)
> write.table(out,file="GO-id.txt",sep="\t",quote=F,row.names=F)    


> rt=read.table("GO-id.txt",sep="\t",header=T,check.names=F)           
> rt=rt[is.na(rt[,"entrezID"])==F,]                                
> gene=rt$entrezID

> kk <- enrichGO(gene = gene,OrgDb = org.Hs.eg.db, pvalueCutoff =0.05, qvalueCutoff = 0.05,ont="all",readable =T)
> write.table(kk,file="GO.txt",sep="\t",quote=F,row.names = F) 

> pdf(file="GO-barplot.pdf",width = 10,height = 15)
> barplot(kk, drop = TRUE, showCategory =10,label_format=100,split="ONTOLOGY") + facet_grid(ONTOLOGY~., scale='free')
> dev.off()

> pdf(file="GO-bubble.pdf",width = 10,height = 15)
> dotplot(kk,showCategory = 10,label_format=100,split="ONTOLOGY") + facet_grid(ONTOLOGY~., scale='free')
> dev.off()

ego<-read.table("GO.txt",sep="\t",check.names=F,header=T)
go=data.frame(Category ="ALL",ID = ego$ID,Term = ego$Description, Genes = gsub("/", ", ", ego$geneID), adj_pval = ego$pvalue)
id.fc=rt
genelist <- data.frame(ID = id.fc$gene, logFC = id.fc$logFC)
row.names(genelist)=genelist[,1]

circ <- circle_dat(go, genelist)
termNum = 5                                   
geneNum = nrow(genelist)                        

chord <- chord_dat(circ, genelist[1:geneNum,], go$Term[1:termNum])
pdf(file="GO_circ.pdf",width = 12,height = 11)
GOChord(chord, 
        space = 0.001,          
        gene.order = 'logFC',    
        gene.space = 0.25,       
        gene.size = 5,           
        border.size = 0.1,      
        process.label = 9)       
dev.off()

> rt=read.table("input.txt",sep="\t",check.names=F,header=T)    
> genes=as.vector(rt[,1])
> entrezIDs <- mget(genes, org.Hs.egSYMBOL2EG, ifnotfound=NA)    
> entrezIDs <- as.character(entrezIDs)
> out=cbind(rt,entrezID=entrezIDs)
> write.table(out,file="KEGG-id.txt",sep="\t",quote=F,row.names=F)    


> rt=read.table("KEGG-id.txt",sep="\t",header=T,check.names=F)       
> rt=rt[is.na(rt[,"entrezID"])==F,]                             
> gene=rt$entrezID

> kk <- enrichKEGG(gene = gene,keyType = "kegg",organism = "hsa", pvalueCutoff =0.05, qvalueCutoff =0.05, pAdjustMethod = "fdr")   
> write.table(kk,file="KEGG.txt",sep="\t",quote=F,row.names = F)                         


> pdf(file="KEGG-barplot.pdf",width = 10,height = 13)
> barplot(kk, drop = TRUE, showCategory = 15,label_format=100)
> dev.off()

> pdf(file="KEGG-bubble.pdf",width = 10,height = 13)
> dotplot(kk, showCategory = 15,label_format=100)
> dev.off()

> ego<-read.table("KEGG.txt",sep="\t",check.names=F,header=T)
> go=data.frame(Category ="ALL",ID = ego$ID,Term = ego$Description, Genes = gsub("/", ", ", ego$geneID), adj_pval = ego$p.adjust)
> id.fc=rt
> genelist <- data.frame(ID = id.fc$entrezID, logFC = id.fc$logFC)
> row.names(genelist)=genelist[,1]
> row.names(rt)=rt[,3]

> circ <- circle_dat(go, genelist)
> termNum = 5                                    
> geneNum = nrow(genelist)                        

> chord <- chord_dat(circ, genelist[1:geneNum,], go$Term[1:termNum])
> sameSample=intersect(row.names(chord), row.names(rt))
> rt=rt[sameSample,,drop=F]
> geneIDs=rt$gene
> row.names(chord)=geneIDs
> pdf(file="KEGG_circ.pdf",width = 12,height = 11)
> GOChord(chord, 
        space = 0.001,           
        gene.order = 'logFC',    
        gene.space = 0.25,      
        gene.size = 5,           
        border.size = 0.1,      
        process.label = 9)       
> dev.off()

学习交流一下

相关推荐

  1. R语言GSEA分析

    2024-05-16 09:58:12       34 阅读
  2. R语言数据分析(四)

    2024-05-16 09:58:12       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-16 09:58:12       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-16 09:58:12       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-16 09:58:12       82 阅读
  4. Python语言-面向对象

    2024-05-16 09:58:12       91 阅读

热门阅读

  1. C# WinForm —— 20 RichTextBox 介绍

    2024-05-16 09:58:12       36 阅读
  2. C++ QT设计模式总结

    2024-05-16 09:58:12       34 阅读
  3. 初级银行从业资格证知识点(十二)

    2024-05-16 09:58:12       28 阅读
  4. 定向传递函数(DTF)算法

    2024-05-16 09:58:12       33 阅读
  5. Golang中HTTP包的内存泄漏

    2024-05-16 09:58:12       30 阅读
  6. Spring Batch 是什么?主要用于什么场景?

    2024-05-16 09:58:12       30 阅读
  7. Gateway基本配置的参数以及yml示例

    2024-05-16 09:58:12       35 阅读
  8. error in ./src/assets/css/element-variables.scss

    2024-05-16 09:58:12       32 阅读
  9. matlab实现马尔科夫链

    2024-05-16 09:58:12       37 阅读
  10. SpringBoot自定义Starter

    2024-05-16 09:58:12       33 阅读