当前位置: 首页 > news >正文

go分析和kegg分析_一些GO及KEGG分析的知识

什么是GO分析?

Gene Ontology(简称GO)是一个国际标准化的基因功能分类体系,提供了一套动态更新的标准词汇表(controlled vocabulary)来全面描述生物体中基因和基因产物的属性。GO总共有三个ontology(本体),分别描述基因的分子功能(molecular function)、细胞组分(cellular component)、参与的生物过程(biological process)。GO的基本单位是term(词条、节点),每个term都对应一个属性。

什么是KEGG分析?

KEGG(Kyoto Encyclopedia of Genes and Genomes)数据库是系统地分析基因功能、链接基因组信息和功能信息的数据库,包括代谢通路(pathway)数据库、分层分类数据库、基因数据库、基因组数据库等。KEGG的pathway数据库是应用最广泛的代谢通路公共数据库。

了解富集分析前,一些关于基因的概念。

每个基因都会对应一个或者多个GO term。而一般研究富集会涉及两个概念:前景基因和背景基因。1)前景基因指研究者关注的重点研究的基因集,而2)背景基因指所有的基因。比如通过实验比较实验组与对照组的转录组测序,前景基因就是对照组vs处理组的差异基因,背景基因就是这两个样本表达的全部基因。

什么是富集?

富集就是为了比较某个GO term在所关注的前景基因中的占比是否要显著高于在所有背景基因中占有的比例。而这个的证明就是通过显著性来评判。

这里作者举了一个生动的例子。

比较深圳市(前景基因)与整个广东省(背景基因)的大学生(某个GO term)的占比,即相比广东省,大学生的数量所占的比例,在深圳市是否更多。而最终求得的占比数值,则通过比较以证明显著性。

如何来计算显著性?

9e2146b0fe10

图片来自简书用户:井底蛙蛙呱呱呱

这个显著性其实就是根据这个超几何分布检验公式计算获得。

先用个形象的例子来理解超几何分布:在超市抽奖,要求从商品(N)中抽取奖品(n),不放回抽取,其中抽得的商品内有指定奖品(M),测定可以抽中指定奖品(k)的概率。

类似的,在GO分析中:

N为数据库中具有GO注释的所有基因数,n为N中具有差异表达的基因数;

M为数据库中注释为某GO term的基因数目,k为注释为某特定GO term 的差异基因数。

KEGG通路中对富集的计算也十分类似。

KEGG 通路富集与GO富集类似,分别指,差异基因(n)中注释到某个代谢通路(pathwayX)的基因数目(k)比例与所有背景基因(N)中注释到某个代谢通路(pathwayX)的基因数目(M)。

超几何分布的运算式:

ps:由于本人能力有限,不是特别理解超几何分布的数学意义与运算,但根据百度百科定义,可以按照古典概型的抽样来计算。只是在超几何分布下,M可以为任意实数。(不保证语言正确性,只是方便计算理解)

9e2146b0fe10

这里再补充组合的计算:

9e2146b0fe10

因此通过上述一顿操作猛如虎后的,即可得到基因n是否在M/k 类中富集(N)的概率(P)。

但这样,似乎还不够。即便得到P的数值很大,但还需要考虑随机情况引起的假阳性结果。

即若从N中提取得到了n,但由于随机概率,导致k在M中的概率很高的话,(按照之前大学生的例子可以理解为:由于随机概率,导致了刚好抽到了多数的大学生)

可以通过P-value 检验概率的显著性。即假设极端条件下的概率,若P值较小,则可以拒绝极端条件假设,认为极小概率事件可以等同于不能随机出现。

既然P-value 针对的是极端情况,那就让情况更极端一些好了。

9e2146b0fe10

图片来自简书用户:井底蛙蛙呱呱呱

即从总的基因N(背景基因)中抽取n个基因(前景基因),其中由i个基因落在符合条件的总的M个基因里。而之前的式子所讨论的概率运算,则正是i=k/m 时的情况下,求得的概率。

为了验证这一概率是否具备显著性,就索性计算 (k/m ~ M)这段更加极端的概率之和,最终得到的P越小,则检验结果越显著。(P<0.5, P<0.1……)

相关文章:

  • iPhone对OpenGL ES的支持程度!
  • XACT与X3DAudio整合的问题
  • mysql的分离搭建_MySQL 读写分离环境搭建
  • Thanksgiving!——2008博文视点的光荣归于支持我们的读者、专家们
  • ai文字变成路径_新手必备!AI常用快捷键和一些小技巧
  • 基于wince的网络音视频通信(简单易明版)
  • lvs dr 链接mysql_集群lvs-dr应用之wordpress(共享后台MySQL存储)
  • Nebula3绘制2D纹理
  • python 条件语句知识讲解_Python 知识要点:if 条件语句
  • 完成网络传真,网络扫描。
  • python做爬虫 怎么样效率最高_python如何提升爬虫效率
  • nodejs mysql 框架_nodejs使用Sequelize框架操作数据库
  • python 打包 .app 运行 控制台窗口_python打包exe
  • 获取class java_Java获取package下所有的class对象(普通文件包和Jar文件包)
  • 解密海底捞模式:难以复制的简单
  • “大数据应用场景”之隔壁老王(连载四)
  • css布局,左右固定中间自适应实现
  • Facebook AccountKit 接入的坑点
  • k8s如何管理Pod
  • node.js
  • npx命令介绍
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • SpringBoot几种定时任务的实现方式
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Vue ES6 Jade Scss Webpack Gulp
  • 当SetTimeout遇到了字符串
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 如何实现 font-size 的响应式
  • 思否第一天
  • 提醒我喝水chrome插件开发指南
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 消息队列系列二(IOT中消息队列的应用)
  • 硬币翻转问题,区间操作
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # include “ “ 和 # include < >两者的区别
  • # 数论-逆元
  • (06)Hive——正则表达式
  • (16)Reactor的测试——响应式Spring的道法术器
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (day 12)JavaScript学习笔记(数组3)
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (蓝桥杯每日一题)love
  • (排序详解之 堆排序)
  • (三十五)大数据实战——Superset可视化平台搭建
  • (五)网络优化与超参数选择--九五小庞
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET DataGridView数据绑定说明
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET多线程执行函数
  • .NET简谈设计模式之(单件模式)