生信编程直播第七题:写超几何分布检验!

下载数据

切换到工作目录:cd d/生信技能树-视频直播/第七讲

  • kegg2gene(第六讲kegg数据解析结果)

    暂时不用新的kegg注释数据为了能够统一答案

  • 差异基因list和背景基因list


关于背景基因

  • 收集一 
    凡是富集分析,都要有背景和选择集 
    有参的,那就找参考对应的注释信息,作为背景 
    无参的,那就自己注释,得到背景

  • 收集二 
    其实pathway富集分析本身也只是提供一些参考,并非非要富集不可。因为某些pathway的调控,基因直接并非相互调控,而是共同参与某个产物合成过程中的不同步骤。例如,某代谢性物X的合成,需要合成酶 A、B、C、D 四个合成步骤。那么A表达的变化,并不会直接影响B、C、D基因的表达,只是影响代谢物X的合成量。如果没有富集到,你就当这个是基因注释了,讨论这些落在你感兴趣的pathway中的基因,也是一种策略。


题目要求

利用超几何分布检验自己写代码来完成主流的GO/KEGG的富集分析,得到与以下一致的结果:


超几何分布

超几何分布是统计学上一种离散概率分布。它描述了由有限个物件中抽出n个物件,成功抽出指定种类的物件的次数(不归还)。称为超几何分布,是因为其形式与“超几何函数”的级数展式的系数有关。


基因Pathway和GO富集分析

基因富集分析是分析基因表达信息的一种方法,富集是指将基因按照先验知识,也就是基因组注释信息进行分类。 通过差异基因的Pathway富集分析,可以找到富集的差异基因的Pathway,寻找不同样品的差异基因可能与哪些细胞通路的改变相关。 
通过对差异基因的GO富集分析,可以找到富集的差异基因GO项,寻找不同样品的差异基因可能与哪些基因功能的改变相关。 对差异基因进行GO和Pathway富集分析后,再进行Network构建,定位基因的功能和其参与的信号通路,并进行清晰直观的展示。

  • GO富集分析: 
    Gene Ontology(简称GO)是一个国际标准化的基因功能分类体系,提供了一套动态更新的标准词汇表(controlled vocabulary)来全面描述生物体中基因和基因产物的属性。GO总共有三个ontology(本体),分别描述基因的分子功能(molecular function)、细胞组分(cellular component)、参与的生物过程(biological process)。GO的基本单位是term(词条、节点),每个term都对应一个属性。 GO功能分析一方面给出差异表达基因的GO功能分类注释;另一方面给出差异表达基因的GO功能显著性富集分析。 首先,我们将差异表达基因向GO数据库(http://www.geneontology.org/)的各term映射,并计算每个term的基因数,从而得到具有某个GO功能的基因列表及基因数目统计。然后应用超几何检验,找出与整个基因组背景相比,在差异表达基因中显著富集的GO条目。

  • 其中,N为所有Unigene中具有GO注释的基因数目;n为N中差异表达基因的数目;M为所有Unigene中注释为某特定GO term的基因数目;m为注释为某特定GO term的差异表达基因数目。计算得到的pvalue通过FDR校正之后,以corrected-pvalue≤0.05为阈值,满足此条件的GO term定义为在差异表达基因中显著富集的GO term。

  • KEGG富集分析: 
    Pathway显著性富集分析以KEGG Pathway为单位,应用超几何检验,找出与整个基因组背景相比,在差异表达基因中显著性富集的Pathway。 
    该假设检验的p-value计算公式同GO功能显著性富集分析的相同,在这里N为所有Unigene中具有Pathway注释的基因数目;n为N中差异表达基因的数目;M为所有Unigene中注释为某特定Pathway的基因数目;m为注释为某特定Pathway的差异表达基因数目。


超几何分布检验的富集分析

一般做完超几何概率分布,对得到的p值进行校正;

也可以查看历史题目:

生物信息学技能面试题(第1题)-人类基因组的外显子区域到底有多长

生物信息学技能面试题(第2题)-探索人类基因组序列

生物信息学技能面试题(第3题)-探索人类基因组注释文件

生物信息学技能面试题(第4题)-多个同样的行列式文件合并起来

生物信息学技能面试题(第5题)-根据GTF画基因的多个转录本结构

生物信息学技能面试题(第6题)-下载最新版的KEGG信息,并且解析好

用GenePred注释文件进行数据分析 (这个是前5题的答案)

这些题目都是有配套的python和perl视频讲解的,部分还有R和shell的视频讲解,不过,我觉得这些题目本身才是最重要的!

(0)

相关推荐

  • 关于功能富集分析的基础知识

    富集分析基因富集分析(gene set enrichment analysis)是在一组基因或蛋白中找到一类过表达的基因或蛋白.研究方法可分为三种:Over-Repressentation Analy ...

  • 转录组学习八(功能富集分析)

    任务 选择p<0.05而且abs(log2FC)大于1的基因为显著差异表达基因集,对这个基因集用R包做KEGG/GO超几何分布检验分析. 把表达矩阵和分组信息分别作出cls和gct文件,导入到G ...

  • 不用编程,三分钟KEGG/GO富集分析火热出炉!

    据不完全统计,今年来基迪奥OmicShare云工具平台的KEGG和GO富集分析工具使用次数已经突破30,000+啦!KEGG和GO富集分析作为平台使用频率最高的工具之一,一直陪伴大家.听许多对生信还不 ...

  • 生信分析中GSEA分析(GO/KEGG富集分析)的重要性

    各位医学方的朋友,大家好.我是Flyman! 做过下游分析的小伙伴都知道富集分析的重要性,生信类文章大家总会在最后一步针对我们前面筛选出来的差异基因做一下GO/KEGG富集分析,研究一下他们参与到什么 ...

  • GO分析和KEGG分析都是啥?

    前几天和大家介绍了一下GEO数据库以及使用GEO2R进行差异表达分析GEO2R差异表达分析软件.几乎现在的套路性文章在做完差异表达分析后,都会去做GO和KEGG富集分析.那么GO和KEGG都是什么?富 ...

  • 生信编程直播第11题:把文件内容按照染色体分开写出

    问题描述这个需求很常见,因为一般生物信息学数据比较大,比如sam,vcf,或者gtf,bed都是把所有染色体综合在一起的文件.如果想根据染色体把大文件拆分成小的文件呢?比如:ftp://ftp.ncb ...

  • 生信编程直播第0题-生信编程很简单!

    貌似顺序有点怪异,我们都把1~8题给讲解完了,现在才开始第0题,很明显,这个是临时加入的,因为有很多没有编程基础的朋友也开始跟着我们学习了. 还不知道怎么回事的先查看历史题目: 生物信息学技能面试题( ...

  • 生信编程直播第9题-根据指定染色体及坐标得到参考碱基

    还不知道怎么回事的先查看历史题目: 生信编程直播第0题-生信编程很简单! 生物信息学技能面试题(第1题)-人类基因组的外显子区域到底有多长 生物信息学技能面试题(第2题)-探索人类基因组序列 生物信息 ...

  • 生信编程直播第12题:json格式数据的格式化

    json数据大家统一用我给的测试数据,自己在浏览器打开下载:http://biotrainee.com/jbrowse/JBrowse-1.12.1/sample_data/json/modencod ...

  • 生信编程直播课程优秀学员作业展示1

    题目 人类基因组外显子区域长度 学员:x2yline 具体题目详情请参考生信技能树论坛 题目数据来源为:ftp://ftp.ncbi.nlm.nih.gov/pub/CCDS/current_huma ...

  • 生信编程直播课程优秀学员学习心得及作业展示3

    学习感悟 首先说明一下,我不算是完全从0开始学习,因为生物的知识和python的语言之前都知道一点,但说实话,我的python距离真正的实践还差的很远,也没有常用所以基本忘完. 真的很感谢群主和老师们 ...

  • 生信编程直播课程优秀学员作业展示2

    题目:hg19基因组序列的一些探究 学员:x2yline 具体题目详情请参考生信技能树论坛 数据来源:http://hgdownload.cse.ucsc.edu/goldenPath/hg19/bi ...

  • (awk命令在mac和Ubuntu下面表现不一样)生信编程200题邀请优秀本科生加入一起攻克

    最近在带领学徒,重现当初的 »生信技能树›互动作业›脚本能力实践›生信人必练的200个数据处理任务 其中第11题,很有趣:把文件内容按照染色体分开写出 学徒问我为什么标准答案是错的,然后我验证后的确发 ...

  • 生信编程18.把文件内容按照染色体分开写出

    有一些五六年前的学生们都成长为了各个生物信息学相关公司的小领导,而且他们都有了自己的公众号,知乎号,也算是一番人物.最近他们跟我反馈面试找不到或者说很难直接考核筛选到认真干活的生信工程师,挺有意思的. ...