R语言实现GO分析

news/2024/7/7 19:14:24

链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。
在这里插入图片描述

我们上一期介绍了如何实现GO分析的可视化,运行了GOplot包自带的数据并且很畅通。然而我们如何才能获取那些可以直接输入的数据表格或者说前期的工作是怎么实现的。今天就跟大家介绍下如何利用R语言实现GO的流程化分析。

我们需要以下三个包:GO.db是GO分析的数据基础它包含了GO的基本分层信息;topGO是基因的功能富集分析包;GOProfiles利用GO谱进行富集分析。接下来我们逐个介绍如何使用以上三个R包。所有包的安装我们就不赘述了,都是通过bioconductor进行安装的。

GO.db的使用:

首先,我们看下GO.db数据包的构成:

以上都是GO.db中的数据包,首先我们看下GO.db中包含的列

其他的数据是以工程文件的形式存在,在此需要进行转化转化函数as.list(GOTERM)可将其转化为list 的可检索文件。

接下来我们介绍下其主要的检索函数select(),首先看下它的函数构成:

Select(data,keys,columns,keytypes)

Keys检索的关键词,keytypes指的关键词的类型,columns指的那些列被列出来。

当然还有其他一些有用的函数:

Keys()列出数据的主键列,或者加keytypes参数获取对应的列

MapIds进行数据库的批量匹配。

以上在GO.db中适用的所有函数在其他.db的数据包中都可以适用。如下:

GO的基础数据已经准备好,接下来是如何做功能富集分析并输出我们想要的结果,那么就用到了下面的包topGO,为了方便我们举例我们还载入了ALL数据包。还是那句话安装啥的直接略过。

首先我们的数据包括ALL,还有topGO自带的geneList。

这样我们就可以构建我们的检索数据。其中用到一个函数topDiffGenes()其主要功能是获取P小于0.01的基因列表。数据构建如下

affyLib

library(package = affyLib, character.only =TRUE) #这里其实就是需要载入hgu95av2.db包

sampleGOdata

运行后的结果如下:

至此我们的GO和gene匹配的过程结束了,接下来就是我们的核心部分富集分析了。富集分析有很多方法,在此包中的方法我们列出如下:

我们在此指提供fisher的检验方法,如果你需要更多方法可以自行去尝试。

resultFisher

相信聪明的你指导如何扩展,运行结果如下:

接下来就是整理结果了,整理成我们可以用的数据从而导入GOplot实现完美展示。不多说,请看下面的代码:

allRes

运行结果如下:

这个结构很熟悉了吧,接下来就是GOplot上场的时刻了。在此省略。。。。。。。。。。一万字。自行去实验吧。

我们继续降格topGO可视化的功能,那就是绘制GO层级图。

showSigOfNodes(sampleGOdata, score(resultFisher),firstSigNodes = 5, useInfo = ‘all’)#其中useInfo选项很多可以根据自己的需求显示对应的东西。


http://lihuaxi.xjx100.cn/news/237018.html

相关文章

grep命令

1.grep命令grep命令的名称是来自于全局搜索正则表达式并打印文本行(Global Search Regular Expression and Print out the line)的缩写。语法如下grep [options] pattern [file…]options:表示选项。pattern:要匹配的模式。file:表…

以太坊,EOS和其他DApps的总数达到2,432,但没有大规模采用

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 根据分散应用监测网站StateOfTheDApps,每月创建的新DApps数量的最高水平是2018年12月。去年最后一个月共有179个新的DApps上线。 以太…

03-Java的基础语法

一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有&…

Spring Boot 教程(三): Spring Boot 整合Mybatis

教程简介 本项目内容为Spring Boot教程样例。目的是通过学习本系列教程,读者可以从0到1掌握spring boot的知识,并且可以运用到项目中。如您觉得该项目对您有用,欢迎点击收藏和点赞按钮,给予支持!!教程连载中…

以太坊和EOS DApp数量上升

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 目前,在最受欢迎的智能合约平台以太坊和EOS上,每月大约有180个新的去中心化应用程序(DApps),该数量处于历史最高…

深度有趣 | 27 服饰关键点定位

简介 介绍如何使用CPM(Convolutional Pose Machines)实现服饰关键点定位 原理 关键点定位是一类常见而有用的任务,某种意义上可以理解为一种特征工程 人脸关键点定位,可用于人脸识别、表情识别人体骨骼关键点定位,可用…

对标以太坊的EOS再火,也拼不过InterValue的区块链4.0

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 2017年6月26日上线的数字货币EOS,仅用5天时间,就融了1.85亿美元,一举打破ICO的融资记录。 至2018年4月12日&a…

Python中处理时间 —— time模块

time模块 逝去的秒数 逝去的秒数表示从某个时间(Python中是“Thu Jan 1 07:00:00 1970”)开始到现在所经过的秒数。 使用 time.time() 函数可以获得逝去的秒数: >>time.time() 1388330058.8643time.time()返回一个浮点数,可…