生信编程直播第七题:写超几何分布检验!
下载数据
切换到工作目录: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数据库()的各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题)-人类基因组的外显子区域到底有多长
生物信息学技能面试题(第4题)-多个同样的行列式文件合并起来
生物信息学技能面试题(第5题)-根据GTF画基因的多个转录本结构
生物信息学技能面试题(第6题)-下载最新版的KEGG信息,并且解析好
用GenePred注释文件进行数据分析 (这个是前5题的答案)
这些题目都是有配套的python和perl视频讲解的,部分还有R和shell的视频讲解,不过,我觉得这些题目本身才是最重要的!