热门标签 | 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,因为我的表格里是斜杠分割的,所以我做了一下数据的提取,大家如果只有一列的,直接用就好了。

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

参考资料



推荐阅读
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • This document outlines the recommended naming conventions for HTML attributes in Fast Components, focusing on readability and consistency with existing standards. ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
  • 基因组浏览器中的Wig格式解析
    本文详细介绍了Wiggle(Wig)格式及其在基因组浏览器中的应用,涵盖variableStep和fixedStep两种主要格式的特点、适用场景及具体使用方法。同时,还提供了关于数据值和自定义参数的补充信息。 ... [详细]
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社区 版权所有