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

gokegg_差异基因的GO与KEGG注释

写在前面这个其实很简单啦!三个R包可以搞定的事情。三个包分是:clusterProfiler,pathview,org.Hs

写在前面

这个其实很简单啦!三个R包可以搞定的事情。

三个包分是:clusterProfiler,pathview,org.Hs.eg.db。

clusterProfiler,pathview两个包用于绘图,org.Hs.eg.db是用于clusterProfiler注释的人类的数据库。

先说安装,我这里是R-3.4.4的版本,用如下的安装方式,3.5+版本的请见官网哦:

source("https://bioconductor.org/biocLite.R")

biocLite("pathview")

library(pathview)

这里拿一个包举例子,其它请大家自己举一反三。要碎碎念一句,biocLite安装的时候包名是必须要有双引号的哦,执行library的时候就很随意啦,单引号,双引号,不加都OK。

开始分析

做差异基因的注释,只需要差异基因的entrez_ID。这一步用到的包是clusterProfiler和org.Hs.eg.db。

我的输入表格格式如图所示(数据都是随便编的,毕竟不能泄露真实数据):

>head(data)

Gene ABCDEF

ENSG00000067082.14100115108300303290

ENSG00000134852.1499101100700710690

ENSG00000125538.11300032003100100012001100

ENSG00000006831.920151510010595

ENSG00000285441.199101100700710690

ENSG00000141905.18300032003100100012001100

分析的命令如下:

library(clusterProfiler)

library(org.Hs.eg.db)

#Ensembl ID的后缀是版本号,分析的时候不需要,所以这里把后缀去掉,用包内的bitr函数将Ensembl ID转换为ENTREZIDdata[,1]

eg

genelist

#GO annotationgo

pvalueCutoff = 0.05, qvalueCutoff = 0.2,keyType = 'ENTREZID')

write.csv(go,"GO-All-enrich.csv",row.names =FALSE)

#KEGG annotationkegg

pAdjustMethod = 'BH', minGSSize = 10,maxGSSize = 500,

qvalueCutoff = 0.2,use_internal_data = FALSE)

write.csv(kegg,"KEGG-enrich.csv",row.names =FALSE)

脚本中enrichGO和enrichKEGG两个函数来完成GO和KEGG的富集分析。

enrichGO中的关注一下参数"ont",这个可以设置为"ALL", "CC", "BP", "MF"四者中的一种。因为GO的注释包含后三个种类。其它参数更改的话,请大家自己看包内的参数。这个主语句很简单啦请大家不要偷懒啦。

图形化展示

富集结果的图形化展示命令如下:

barplot(go,showCategory=20,drop=T,title = "EnrichmentGO",font.size = 10 )

dotplot(go,showCategory=20,title="EnrichmentGO_dot")

dotplot(kegg, showCategory=20,title="EnrichmentKEGG")

前两行是展示GO注释的结果,第三行展示KEGG的注释结果:

如果你们看到了黄色的区域,不要惊慌,不是系统的bug,是我出于自身考虑遮掉了哦。

题图展示的图片,是我自己根据结果加工过的(虽然也没有好看到哪里去)。如果只用于自己了解注释信息的话,直接用上面简单粗暴的语句生成图就好啦,我觉得也蛮好看的呢。柱状图展示GO富集结果点图展示KEGG富集结果

KEGG会富集到很多通路上,我们可以根据KEGG的注释结果导出每一个通路的图哦,图片大概长这样:

这是官网的图啦,我自己的只捕捉到了一两个基因,完全没有这么好看,还是给大家放标准结果。

这个时候需要导入包pathview啦,命令在这里:

上文中KEGG-enrich.csv的格式如下图,我们需要用到ID和geneID两列信息。

library(pathview)

pathview(gene.data = as.numeric(strsplit(as.character(test$geneID[1]),"/")[[1]]),

pathway.id = "04657", species = "hsa", kegg.native = T)

gene.data就是富集到这个通路中的geneID,因为我的表格里是斜杠分割的,所以我做了一下数据的提取,大家如果只有一列的,直接用就好了。

所有的命令行都是固定的,主要是把自己的数据转换为函数所需的格式。说到这里,就要结束啦。

参考资料



推荐阅读
  • vue使用
    关键词: ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • Python的参数解析argparse模块的学习
    本文介绍了Python中参数解析的重要模块argparse的学习内容。包括位置参数和可选参数的定义和使用方式,以及add_argument()函数的详细参数关键字解释。同时还介绍了命令行参数的操作和可接受数量的设置,其中包括整数类型的参数。通过学习本文内容,可以更好地理解和使用argparse模块进行参数解析。 ... [详细]
  • HashMap的扩容知识详解
    本文详细介绍了HashMap的扩容知识,包括扩容的概述、扩容条件以及1.7版本中的扩容方法。通过学习本文,读者可以全面了解HashMap的扩容机制,提升对HashMap的理解和应用能力。 ... [详细]
  • 颜色迁移(reinhard VS welsh)
    不要谈什么天分,运气,你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人,然后你就会被自己的才华吓到。------ ... [详细]
author-avatar
mobiledu2502852147
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有