热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GO富集分析\KEGG

##Time:2017-10-8##Author:FengShengyu#—————————————————-#

##Time:2017-10-8

##Author:Feng Shengyu

#—————————————————-

#一、安装必须的R包(推荐使用的R版本3.2.2)

#必须要安装的包:

#  1、clusterprofilter

#  source(“http://bioconductor.org/biocLite.R”)

#  biocLite(“clusterprofilter”)

#  2、org.Mm.eg.db/org.Hs.eg.db(对应需要研究的物种-小鼠/人)

#  biocLite(“org.Mm.eg.db”)/biocLite(“org.Hs.eg.db”)

#  3、DOSE

#  biocLite(DOSE)

library(clusterProfiler)

library(DOSE)

library(org.Mm.eg.db)

#二 change the type of gene

#使用的上游数据是RNA-seq做完的差异表达的基因列表

#example:

# 15431

# 244091

# 15430

# 319158

# 13871

# 109663

# 735269

# 378431

# 21384

# 105247262

#读取gene list

gene <- read.table(&#8220;C:\\Users\\Feng\\Desktop\\up_regulate_symbolGene.txt&#8221;)

geneSymbol <- gene[,1]

geneSymbol

#转化基因类型,一般用cufflinks做的结果是symbol,此时需要转化为entrzid

geneEntrezID <- bitr(geneSymbol, fromType=&#8221;SYMBOL&#8221;, toType=&#8221;ENTREZID&#8221;, OrgDb=&#8221;org.Mm.eg.db&#8221;)

#可以同时转为多个类型的基因

#geneEntrezID <- bitr(geneSymbol, fromType=&#8221;SYMBOL&#8221;, toType=c(&#8220;ENTREZID&#8221;,&#8221;UNIPROT&#8221;), OrgDb=&#8221;org.Mm.eg.db&#8221;,)

#三、enrichment analysis

#GO富集分析

ego_cc <- enrichGO(gene = geneEntrezID[,2], #使用entrezID作为输入

OrgDb=org.Mm.eg.db,

Ont= &#8220;CC&#8221;,

pAdjustMethod = &#8220;BH&#8221;,

minGSSize = 1,

pvalueCutoff = 0.05,

qvalueCutoff = 0.05,

readable = TRUE

)

setwd(&#8220;F:\\生信工具大全\\R&#8221;)

write.table(as.data.frame(ego_cc@result),file=&#8221;test_CC.txt&#8221;,sep=&#8221;\t&#8221;)

#KEGG富集分析

kk <- enrichKEGG(gene = geneEntrezID[,2],

organism =&#8221;mouse&#8221;,

pvalueCutoff = 0.05,

qvalueCutoff = 0.01,

minGSSize = 1,

use_internal_data =FALSE

)

write.table(as.data.frame(kk@result), file=&#8221;test_kk.txt&#8221;,sep=&#8221;\t&#8221;)

#作图展示结果

barplot(ego_cc, showCategory=15, title=&#8221;EnrichmentGO_CC&#8221;) #条状图,按p从小到大排的

dotplot(ego_BP,title=&#8221;EnrichmentGO_CC_dot&#8221;) #点图,按富集的数从大到小的

#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;核心代码&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;

setwd(&#8220;F:\\硕士生\\GO和KEGG富集分析&#8221;)

library(clusterProfiler)

library(DOSE)

library(org.Mm.eg.db)

gene <- read.table(&#8220;C:\\Users\\Feng\\Desktop\\up_regulate.gene&#8221;)

geneSymbol <- gene[,1]

geneEntrezID <- bitr(geneSymbol, fromType=&#8221;SYMBOL&#8221;, toType=&#8221;ENTREZID&#8221;, OrgDb=&#8221;org.Mm.eg.db&#8221;)

ego_cc <- enrichGO(gene = geneEntrezID[,2], #使用entrezID作为输入

OrgDb=org.Mm.eg.db,

Ont= &#8220;CC&#8221;,

pAdjustMethod = &#8220;BH&#8221;,

minGSSize = 1,

pvalueCutoff = 0.01,

qvalueCutoff = 0.01,

readable = TRUE

)

write.table(as.data.frame(ego_cc@result),file=&#8221;haimati_M_up_enrich_GO.txt&#8221;,sep=&#8221;\t&#8221;)

barplot(ego_cc, showCategory=15, title=&#8221;GO_Enrichment&#8221;) #条状图,按p从小到大排的

ego_BP <- enrichKEGG(gene = geneEntrezID[,2],

organism =&#8221;mouse&#8221;,  #http://www.genome.jp/kegg/catalog/org_list.html(species names)

pvalueCutoff = 0.05,

qvalueCutoff = 0.01,

minGSSize = 1,

use_internal_data =FALSE

)

write.table(as.data.frame(ego_BP@result), file=&#8221;haimati_M_up_enrich_KEGG.txt&#8221;,sep=&#8221;\t&#8221;)

dotplot(ego_BP,title=&#8221;EnrichmentGO_CC_dot&#8221;) #点图,按富集的数从大到小的


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • This article discusses the efficiency of using char str[] and char *str and whether there is any reason to prefer one over the other. It explains the difference between the two and provides an example to illustrate their usage. ... [详细]
  • 本文介绍了使用Python编写购物程序的实现步骤和代码示例。程序启动后,用户需要输入工资,并打印商品列表。用户可以根据商品编号选择购买商品,程序会检测余额是否充足,如果充足则直接扣款,否则提醒用户。用户可以随时退出程序,在退出时打印已购买商品的数量和余额。附带了完整的代码示例。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
author-avatar
吖鸟集团总公司
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有