GO分析

基因本体论(Gene Ontology, GO)是一个用于描述基因和基因产品属性的标准术语体系。它提供了一个有组织的方式来表示基因在生物体内的各种角色。基因本体论通常从三个层面对基因进行描述:细胞成分(Cellular ComponentCC)、生物学过程(Biological ProcessBP)和分子功能(Molecular FunctionMF)。

示例:

 

细胞成分(Cellular ComponentCC:这个层面描述了基因产物(如蛋白质)在细胞内的定位。例如,它们可能位于细胞核、细胞质、线粒体膜或其他细胞器上。这有助于了解基因产物在细胞内的作用和功能。

生物学过程(Biological ProcessBP:这个层面描述了基因参与的生物学过程。这些过程可能包括细胞生长、信号传导、基因表达调控、代谢途径等。通过了解基因参与的生物学过程,我们可以更好地理解生物体的生理功能和疾病发生机制。

分子功能(Molecular FunctionMF:这个层面描述了基因产物在分子层面的功能,通常涉及到与其他分子的相互作用或催化生化反应。例如,某个基因产物可能是一个酶,它能够催化某个特定的生化反应;或者它可能是一个结构蛋白,参与细胞骨架的组装和维持。

本期将介绍使用R clusterProfiler包对基因进行GO功能富集分析、OrgDb包制作以及结果可视化。使用R clusterProfiler包对基因进行富集,需要导入目的基因(前景基因)相对应物种的参考基因组(背景基因),现阶段“Bioconductor”已有十几种常见动物,如人类、小鼠等物种的OrgDb。但仍然有许多物种不在Bioconductor的OrgDb列表里,但存在参考基因组,如山羊,绵羊等,因此大家可以选择性使用。

上篇文章我们已经用Perl脚本将蛋白名批量转化为了基因名,下面首先用R语言将基因名找到基因ID,以作后续分析。

1.在上篇文章转换的结果targetSymbol文件中提取基因名,如图所示,建立“基因.txt”文件

2.导入文件,运行代码,得到id.txt文件

 

library("org.Hs.eg.db")    ##载入物种包
##id转换
rt=read.table("基因.txt",sep="\t",check.names=F,header=F) ##读取数据
genes=as.vector(rt[,1])
entrezIDs <- mget(genes, org.Hs.egSYMBOL2EG, ifnotfound=NA)
entrezIDs <- as.character(entrezIDs)
out=cbind(rt,1,entrezID=entrezIDs)
colnames(out)=c("symbol","logFC","entrezID")
write.table(out,file="id.txt",sep="\t",quote=F,row.names=F)

3.GO分析,将上述分析得到的id.txt文件导入,运行以下代码以做GO分析

4.得到GO文件,绘制气泡图和柱状图

下篇笔记将会展示如何应用R语言作KEGG分析,敬请关注与期待。整理不易用你们发正刊(CNS)的金手指为本篇内容点赞支持,本文代码与文件在以下链接。

链接:https://pan.baidu.com/s/1CW6Trynp9DNPhyCncFBLfA

提取码:0jsj

文章转载自公众号:皮蛋笔记,欢迎关注,随时获取第一手文章内容。

如何基于R包做GO分析?实现秒出图的更多相关文章

  1. 基于Keil C的覆盖分析,总结出编程中可能出现的几种不可预知的BUG

    基于Keil C的覆盖分析,总结出编程中可能出现的几种不可预知的BUG,供各位网友参考 1.编译时出现递归警告,我看到很多网友都采用再入属性解决,对于再入函数,Keil C不对它进行覆盖分析,采用模拟 ...

  2. R语言做相关性分析

    衡量随机变量相关性的方法主要有三种:pearson相关系数,spearman相关系数,kendall相关系数: 1.       pearson相关系数,亦即皮尔逊相关系数 pearson相关系数用来 ...

  3. R包 survival 生存分析

    https://cran.r-project.org/web/packages/survival/index.html

  4. Android网络开发实例(基于抓包实现的网络模拟登录,登出和强制登出)

    学习Android有几个月了,最近喜欢上了网络编程,于是想通过Android写一些一个小程序用于连接外网.在这里非常感谢雪夜圣诞的支持,非常感谢,给我打开新的一扇门. 1.声明,本程序只能用于西南大学 ...

  5. 多组学分析及可视化R包

    最近打算开始写一个多组学(包括宏基因组/16S/转录组/蛋白组/代谢组)关联分析的R包,避免重复造轮子,在开始之前随便在网上调研了下目前已有的R包工具,部分罗列如下: 1. mixOmics 应该是在 ...

  6. R语言爬虫初尝试-基于RVEST包学习

    注意:这文章是2月份写的,拉勾网早改版了,代码已经失效了,大家意思意思就好,主要看代码的使用方法吧.. 最近一直在用且有维护的另一个爬虫是KINDLE 特价书爬虫,blog地址见此: http://w ...

  7. 重磅︱R+NLP:text2vec包——New 文本分析生态系统 No.1(一,简介)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 词向量的表示主流的有两种方式,一种当然是耳熟能 ...

  8. 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包)

    目录 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包) 导论 rugarch 简介 指定一个 \(\text{GARCH}(1, 1)\) 模型 模拟一个 GARCH 过程 拟合 ...

  9. R语言网络爬虫学习 基于rvest包

    R语言网络爬虫学习 基于rvest包 龙君蛋君:2015年3月26日 1.背景介绍: 前几天看到有人写了一篇用R爬虫的文章,感兴趣,于是自己学习了.好吧,其实我和那篇文章R语言爬虫初尝试-基于RVES ...

  10. R语言做文本挖掘 Part5情感分析

    Part5情感分析 这是本系列的最后一篇文章,该.事实上这种单一文本挖掘的每一个部分进行全部值获取水落石出细致的研究,0基础研究阶段.用R里面现成的算法,来实现自己的需求,当然还參考了众多网友的智慧结 ...

随机推荐

  1. 各位 PHPer,Serverless 正当时

    ​简介:PHP 作为一个开发群体的很大的语言其应用范围相当广泛,Serverless 的理念和 PHP 语言的理念都是让开发者最大精力集中在自己的业务价值.那么 PHP 遇见 Serverless 会 ...

  2. 埃森哲携手阿里云,采用K8s容器云服务为客户提供无限弹性

    简介: 埃森哲作为全球领先的专业服务公司,在数字化.云计算等领域拥有全球领先的能力,我们在多年的实际客户项目中,找到并沉淀出了适合企业数字化转型的方法论,积累了丰富的落地经验. 作者:姚迪.周警伟 随 ...

  3. 双11特刊|十年磨一剑,云原生多模数据库Lindorm 2021双11总结

    ​前言 2021 年,转眼 Lindorm 已经在阿里发展了十年的时间,从基于 HBase 深度改造的 Lindorm 1.0 版本,到全面重构,架构大幅升级的 Lindorm 2.0 版本:从单一的 ...

  4. Dubbo3.0|阿里巴巴服务框架三位一体的选择与实践

    ​简介: 服务框架就像铁路的铁轨一样,是互通的基础,只有解决了服务框架的互通,才有可能完成更高层的业务互通,所以用相同的标准统一,合二为一并共建新一代的服务框架是必然趋势.Dubbo3.0 是 Dub ...

  5. WPF 一千个矩形做动画测试性能

    在很多性能测试开始之前,都需要测试一下自己的期望优化的设备的性能上限是多少.我每次都是重新写一个测试应用,因为每次需要优化的方向都不相同.本文将记录一个我写的一个简单的测试应用,这里面包含了一千个半透 ...

  6. dotnet 6 HttpClientHandler 和 SocketsHttpHandler 有什么差别

    本文来告诉大家在 dotnet 6 的 HttpClientHandler 和 SocketsHttpHandler 两个类型有什么不同 在创建 HttpClient 时,可以在 HttpClient ...

  7. 都2024年了,你还不知道git worktree么?

    三年前 python 大佬吉多·范罗苏姆(为 Python 程序设计语言的最初设计者及主要架构师)才知道 git worktree ,我现在才知道,我觉得没啥丢人的. 应用场景 如果你正在 featu ...

  8. 大模型高效微调详解-从Adpter、PrefixTuning到LoRA

    一.背景 目前NLP主流范式是在大量通用数据上进行预训练语言模型训练,然后再针对特定下游任务进行微调,达到领域适应(迁移学习)的目的. 指令微调是预训练语言模型微调的主流范式 其目的是尽量让下游任务的 ...

  9. 回顾复习x学习笔记

    从头回顾(截至搜索) #define fo(x,y,z) for(int (x)=(y);(x)<=(z);(x)++) #define foo(x,y,z) for(int (x)=(y);( ...

  10. 关于URP14绘制全屏Blit后处理的改动

    最近用回URP,发现RendererFeature这部分改动很大,启用了之前HDRP的RTHandle,RTHandle的设计类似于优化版本的RenderTexture, 可以统一控制缩放或者并非一对 ...