target_gene_id <- unique(read.delim("miRNA-gene interactions.txt")$EntrezID)
# BiocInstaller::biocLite("clusterProfiler")
# BiocInstaller::biocLite("org.Hs.eg.db") display_number = c(, , )
## GO enrichment with clusterProfiler
library(clusterProfiler)
ego_MF <- enrichGO(OrgDb="org.Hs.eg.db",
gene = target_gene_id,
pvalueCutoff = 0.05,
ont = "MF",
readable=TRUE)
ego_result_MF <- as.data.frame(ego_MF)[:display_number[], ]
# ego_result_MF <- ego_result_MF[order(ego_result_MF$Count),] ego_CC <- enrichGO(OrgDb="org.Hs.eg.db",
gene = target_gene_id,
pvalueCutoff = 0.05,
ont = "CC",
readable=TRUE)
ego_result_CC <- as.data.frame(ego_CC)[:display_number[], ]
# ego_result_CC <- ego_result_CC[order(ego_result_CC$Count),] ego_BP <- enrichGO(OrgDb="org.Hs.eg.db",
gene = target_gene_id,
pvalueCutoff = 0.05,
ont = "BP",
readable=TRUE)
ego_result_BP <- na.omit(as.data.frame(ego_BP)[:display_number[], ])
# ego_result_BP <- ego_result_BP[order(ego_result_BP$Count),] go_enrich_df <- data.frame(ID=c(ego_result_BP$ID, ego_result_CC$ID, ego_result_MF$ID),
Description=c(ego_result_BP$Description, ego_result_CC$Description, ego_result_MF$Description),
GeneNumber=c(ego_result_BP$Count, ego_result_CC$Count, ego_result_MF$Count),
type=factor(c(rep("biological process", display_number[]), rep("cellular component", display_number[]),
rep("molecular function", display_number[])), levels=c("molecular function", "cellular component", "biological process"))) ## numbers as data on x axis
go_enrich_df$number <- factor(rev(:nrow(go_enrich_df)))
## shorten the names of GO terms
shorten_names <- function(x, n_word=, n_char=){
if (length(strsplit(x, " ")[[]]) > n_word || (nchar(x) > ))
{
if (nchar(x) > ) x <- substr(x, , )
x <- paste(paste(strsplit(x, " ")[[]][:min(length(strsplit(x," ")[[]]), n_word)],
collapse=" "), "...", sep="")
return(x)
}
else
{
return(x)
}
} labels=(sapply(
levels(go_enrich_df$Description)[as.numeric(go_enrich_df$Description)],
shorten_names))
names(labels) = rev(:nrow(go_enrich_df)) ## colors for bar // green, blue, orange
CPCOLS <- c("#8DA1CB", "#FD8D62", "#66C3A5")
library(ggplot2)
p <- ggplot(data=go_enrich_df, aes(x=number, y=GeneNumber, fill=type)) +
geom_bar(stat="identity", width=0.8) + coord_flip() +
scale_fill_manual(values = CPCOLS) + theme_bw() +
scale_x_discrete(labels=labels) +
xlab("GO term") +
theme(axis.text=element_text(face = "bold", color="gray50")) +
labs(title = "The Most Enriched GO Terms") p pdf("go_enrichment_of_miRNA_targets.pdf")
p
dev.off() svg("go_enrichment_of_miRNA_targets.svg")
p
dev.off()

GO富集分析柱状图的更多相关文章

  1. 基因探针富集分析(GSEA)& GO & pathway

    http://blog.sina.com.cn/s/blog_4c1f21000100utyx.html GO是Gene Ontology的简称,是生物学家为了衡量基因的功能而而发起的一个项目,从分子 ...

  2. GO富集分析示例【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  3. DAVID 进行 GO/KEGG 功能富集分析

    何为功能富集分析? 功能富集分析是将基因或者蛋白列表分成多个部分,即将一堆基因进行分类,而这里的分类标准往往是按照基因的功能来限定的.换句话说,就是把一个基因列表中,具有相似功能的基因放到一起,并和生 ...

  4. 利用GSEA对基因表达数据做富集分析

      image Gene Set Enrichment Analysis (GSEA) is a computational method that determines whether an a p ...

  5. R: 修改镜像、bioconductor安装及go基因富集分析

    1.安装bioconductor及go分析涉及的相关包 source("http://bioconductor.org/biocLite.R") options(BioC_mirr ...

  6. GO富集分析

    GO的主要用途之一是对基因组进行富集分析.例如,给定一组在特定条件下上调的基因,富集分析将使用该基因组的注释发现哪些GO术语被过度表示(或未充分表示). 富集分析工具    用户可以直接从GOC网站的 ...

  7. OS Tools-GO富集分析工具的使用与解读详细教程

    我们的云平台上的GO富集分析工具,需要输入的文件表格和参数很简单,但很多同学都不明白其中的原理与结果解读,这个帖子就跟大家详细解释~ 一.GO富集介绍:       Gene Ontology(简称G ...

  8. webgestalt 通路富集分析

    http://www.webgestalt.org/ 通路富集分析 参考 http://www.sci666.com.cn/9596.html

  9. GSEA 基因集富集分析

    http://software.broadinstitute.org/gsea/index.jsp GSEA(Gene Set Enrichment Analysis)是一种生物信息学的计算方法,用于 ...

随机推荐

  1. 【Alpha】总结 - (待更)

    Alpha总结 1. 个人总结 PM & BackEnd - 胡武成 BackEnd - 吴松青 Web - 孙浩楷 Web - 练斐弘 App - 胡冰 App - 黄世辉 UI - 张旗 ...

  2. D3——Updates, Transitions, and Motion

    <script type="text/javascript"> ; ; ; , , , , , , , , , ,, , , , , , , , , ]; //crea ...

  3. POJ-3662 Telephone Lines---二分+最短路+最小化第k+1大

    题目链接: https://cn.vjudge.net/problem/POJ-3662 题目大意: 求一条路径从1到n使第k+1大的边最小. 解题思路: 二分答案mid,当原边权小于等于mid新边权 ...

  4. spring的权限控制,过滤器

    spring的过滤器可以实现登录状态问题 1.创建一个AccessFilter类,基础代码 package com.ujia.util.access; import javax.servlet.htt ...

  5. python中基于descriptor的一些概念(下)

    @python中基于descriptor的一些概念(下) 3. Descriptor介绍 3.1 Descriptor代码示例 3.2 定义 3.3 Descriptor Protocol(协议) 3 ...

  6. codeforces A. Supercentral Point 题解

    版权声明:本文作者靖心,靖空间地址:http://blog.csdn.net/kenden23/,未经本作者同意不得转载. https://blog.csdn.net/kenden23/article ...

  7. Guava包学习--Table

    Table,顾名思义,就好像HTML中的Table元素一样,其实就是行+列去确定的值,更准确的比喻其实就是一个二维矩阵. 其实它就是通过行+列两个key去找到一个value,然后它又containsv ...

  8. Redis命令、数据结构场景、配置文件总结

    本文大纲 一.常用数据类型简介二.redis操作命令三.redis配置文件详解四.redis数据类型使用场景 一.常用数据类型简介 redis常用五种数据类型:string,hash,list,set ...

  9. java project如何连接数据库

    1,首先从mysql的官网上下载mysql-connector-java-5.1.44.zip 2,选择downloads下的community 3,在Community下选择MySql Connec ...

  10. Redhat7.2 ----team网卡绑定

    我先声明一下,team和bonding是一样的作用,只不过team多了几项功能bonding没有, 做team我们要最少准备两个网卡,我们这里主要显示主备模式. 首先我们先把网卡配置文件删除 nmcl ...