%separate(col = GO_term,into = paste("new_col",1:50,sep = "_"),sep = ",")%>% melt(id.vars="gene_id",value.name = "GO_term")%>%arrange(gene_id)%>%select(c("gene_id","GO_term")) %>% na.omit() %>% write.table(file = "D:/go.csv",quote = F,row.names = F,sep = "/t") ##go富集 go_anno <- read.table("D:/白千层系列/转录组注释/EGG-GO.txt",header = F)##GO注释文件 names(go_anno) <- c('gene_id', 'ID') library(GO.db)##GO数据库 k <- keys(GO.db,keytype = "GOID") go_class <- select(GO.db, keys = k, columns = c("TERM","ONTOLOGY"), keytype="GOID") names(go_class) <- c("ID","Description","Ontology") go_anno1 <- merge(go_anno,go_class,by = "ID",all.x ="> %separate(col = GO_term,into = paste("new_col",1:50,sep = "_"),sep = ",")%>% melt(id.vars="gene_id",value.name = "GO_term")%>%arrange(gene_id)%>%select(c("gene_id","GO_term")) %>% na.omit() %>% write.table(file = "D:/go.csv",quote = F,row.names = F,sep = "/t") ##go富集 go_anno <- read.table("D:/白千层系列/转录组注释/EGG-GO.txt",header = F)##GO注释文件 names(go_anno) <- c('gene_id', 'ID') library(GO.db)##GO数据库 k <- keys(GO.db,keytype = "GOID") go_class <- select(GO.db, keys = k, columns = c("TERM","ONTOLOGY"), keytype="GOID") names(go_class) <- c("ID","Description","Ontology") go_anno1 <- merge(go_anno,go_class,by = "ID",all.x ="> %separate(col = GO_term,into = paste("new_col",1:50,sep = "_"),sep = ",")%>% melt(id.vars="gene_id",value.name = "GO_term")%>%arrange(gene_id)%>%select(c("gene_id","GO_term")) %>% na.omit() %>% write.table(file = "D:/go.csv",quote = F,row.names = F,sep = "/t") ##go富集 go_anno <- read.table("D:/白千层系列/转录组注释/EGG-GO.txt",header = F)##GO注释文件 names(go_anno) <- c('gene_id', 'ID') library(GO.db)##GO数据库 k <- keys(GO.db,keytype = "GOID") go_class <- select(GO.db, keys = k, columns = c("TERM","ONTOLOGY"), keytype="GOID") names(go_class) <- c("ID","Description","Ontology") go_anno1 <- merge(go_anno,go_class,by = "ID",all.x =">
library(AnnotationHub)
library(clusterProfiler)
hub <- AnnotationHub()
display(hub)
##查找物种hub号
orgdb <- hub[["AH96879"]]
install.packages('org.HS.eg.db')
##go注释格式改写
library(dplyr)
library(tidyr)
library(reshape2)
library(stringr)
go <- read.csv("D:/go.csv",header = F,sep = ",",na.strings = "--")
View(go)
names(go) <- c("gene_id","GO_term")
go1 <- go%>%separate(col = GO_term,into = paste("new_col",1:50,sep = "_"),sep = ",")%>%
melt(id.vars="gene_id",value.name = "GO_term")%>%arrange(gene_id)%>%select(c("gene_id","GO_term")) %>% na.omit() %>%
write.table(file = "D:/go.csv",quote = F,row.names = F,sep = "/t")
##go富集
go_anno <- read.table("D:/白千层系列/转录组注释/EGG-GO.txt",header = F)##GO注释文件
names(go_anno) <- c('gene_id', 'ID')
library(GO.db)##GO数据库
k <- keys(GO.db,keytype = "GOID")
go_class <- select(GO.db,
keys = k,
columns = c("TERM","ONTOLOGY"),
keytype="GOID")
names(go_class) <- c("ID","Description","Ontology")
go_anno1 <- merge(go_anno,go_class,by = "ID",all.x = T)
go_rich <- enricher(gene = df,
TERM2GENE = go_anno1[c('ID', 'gene_id')],
TERM2NAME = go_anno1[c('ID', 'Description')],
pvalueCutoff = 0.05,
pAdjustMethod = 'BH',
qvalueCutoff = 0.2,
maxGSSize = 500)
p <- dotplot(go_rich)
p + scale_color_continuous(low='#f9766d', high='#00bfc4')##改变气泡颜色
cnetplot(egoall,showCategory=10,foldChange=FClist,circular=TRUE,colorEdge=TRUE)write.csv(go_rich,"34_down.csv")
df <- go_rich@result
##GOplot
library(GOplot)
df <- go_rich@result
GO <- df[1:9,c(1,2,8,6)]
GO$geneID <- str_replace_all(GO$geneID,"/",",") ### 修改geneID这一列的分隔符号
names(GO)=c("ID","Term","Genes","adj_pval")
GO$Category = "BP"
genedata = data.frame(ID=union_all,logFC=rnorm(length(union_all),mean = 0,sd=2))
circ <- circle_dat(GO,genedata)
##kegg富集
test1 <- read.table("clipboard",header = F,check.names = F,fill=TRUE)
go_rich <- enricher(gene = df,
TERM2GENE = kegg2[c('ID', 'gene_id')],
TERM2NAME = kegg2[c('ID', 'Description')],
pvalueCutoff = 0.05,
pAdjustMethod = 'BH',
qvalueCutoff = 0.2,
maxGSSize = 500)
##解析json文件
library(rjson)
library(jsonlite)
library(tidyverse)
KO <- fromJSON("<https://www.kegg.jp/kegg-bin/download_htext?htext=ko00001&format=json&filedir=>")#下载并解析JSON文件
KO$name <- NULL
KO <- as.data.frame(KO) %>%
unnest(cols = c("children.name","children.children"),names_repair = tidyr_legacy) %>%#重要函数
unnest(cols = c("children.name","name","children"),names_repair = tidyr_legacy) %>%
unnest(cols = c("children.name","name","name1","children"),names_repair = tidyr_legacy)
colnames(KO) <- c("L1","L2","L3","KO")
emapplot(ora_pt
,showCategory=30
,color="p.adjust"#映射给条目颜色’pvalue’,’p.adjust’or’qvalue’
,shadowtext=TRUE#显示标签阴影
,repel=FALSE#解决标签重叠问题
,node_label="category"#显示谁的标签’category’,’group’,’all',’none’
#形状控制参数
,layout.params=list(layout=NULL#和cnetplot的形状参数一样,后面也是,就不多说了
,coords=NULL#控制位置,需要含2列的data.frame,x是x轴坐标,y是y轴坐标
)
#控制连线
,edge.params=list(show=TRUE#是否显示连线
,min=0.2)#判断两个节点是否相似的阈值
#大小控制参数
,cex.params=list(category_node=1#节点大小
,category_label=1#节点标签大小
,line=1#线的粗细
#,pie2axis#饼图大小
#,label_group#分组标签大小
)
#控制高亮,和cnetplot同,不再多说
,hilight.params=list(category=NULL
,alpha_hilight=1
,alpha_no_hilight=0.3)
#控制聚类
,cluster.params=list(cluster=FALSE#对条目聚类
,method=stats::kmeans#聚类方法
,n=NULL#聚类个数
,legend=FALSE#显示聚类图例
,label_style="shadowtext"
,label_words_n=4#聚类标签个数
,label_format=30#最长的字符数,控制折叠
)
)