点图
GOinfo <- read_tsv("go.tb")emapper <- read_tsv("pep.diamond.emapper.annotations", comment = "##") %>% rename(query = "#query")# 读取时去掉`##`开头的行,而`#query`开头的行作为表头GOannotation <- emapper %>% dplyr::select(GID = query, GO = GOs) %>% dplyr::filter(GO != "-") %>% separate_rows(GO, sep = ",") %>% left_join(GOinfo, by = "GO") %>% dplyr::select(-Description)# genelist 赋值自己的基因集向量enrich <- enricher(genelist, TERM2GENE = GOannotation[c(2,1)], TERM2NAME = GOinfo[1:2])enrich2 <- as_tibble(enrich) %>% left_join(distinct(select(GOannotation, GO, level)), by = c("ID" = "GO")) %>% mutate(GeneRatio = as.numeric(str_replace(GeneRatio, "/.*", "")) / as.numeric(str_replace(GeneRatio, ".*/", ""))) %>% filter(!is.na(level)) %>% mutate(DescriptionLevel = str_c(Description, " | ", level))DescriptionOrder <- enrich2 %>% arrange(desc(level), GeneRatio) %>% .$DescriptionLevel# 排序enrich2$DescriptionLevel <- factor(enrich2$DescriptionLevel, levels = DescriptionOrder)p <- enrich2 %>% filter(GeneRatio > 0.03) %>% ggplot() + geom_point(aes(GeneRatio, DescriptionLevel, color = pvalue, size = -pvalue)) + scale_color_gradient(low = "red", high = "blue") + theme_bw()pdf(gofile, width = 8, height = 9)print(p)dev.off()