python下实现fisher富集分析方法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python下实现Fisher富集分析方法 Fishers精确概率方法利用超几何分布的原理推断每个基因集中的目标基因(ADR基因)的比例是否与整个基因组中目标基因(ADR基因)的比例相同。包括2个原假设:①基因是否目标基因(ADR基因);②基因是否属于的功能基因集(如GO Term),如表: ADR基因 非ADR基因 合计 功能基因集 M 非功能基因集 N-M 合计 K N-K N 注示:N表示全基因组中基因总数;M表示功能基因集中的基因个数,K表示ADR基因数目.。Fishers得分表示k个ADR基因中至少有x个被功能基因集注释的概率: 例如我们要研究药物相关基因和功能term之间的相关性,可以利用下面两种情况 Drug显著基因 非drug显著基因 合计 功能基因集 M 非功能基因集 N-M 合计 K N-K N(全基因组个数) miRNA靶基因 非miRNA靶基因 合计 功能基因集 M 非功能基因集 N-M 合计 K N-K N(所有miRNA靶基因个数) 接下来我们介绍下如何通过Python语言利用FISHER精确检验实现功能富集分析。 在Python语言中,Fisher精确检验主要依赖于scipy.stats包以及numpy包,安装和调用命令如下: 假设我们有一个待查基因集,命名为interest,我们想知道这个基因集和通路path之间的相关性,即这个interest基因集是否可以显著富集到通路path中,通路path中包含基因个数为num_sp,另外还有一个背景基因集,即全部的基因个数,命名为num_allgene。接下来就是如何计算四格表, path nonpath interest a b num_interestgene non interest c d num_allgene-num_interestgene num_sp num_allgene-num_sp 这里a为待查基因集和通路基因集的交集,b为不在通路path的待查基因个数,c为不属于interest待查基因的通路基因个数。计算过程如下 a,b,c,d分别为四个表的四个得分值,红圈内的函数即为利用四格表计算的显著性得分。函数fisher_exact()返回的是一个列表,列表第二个值就是我们要的P值了。 最后我们以P小于0.05作为显著性阈值,通过下面命令进行筛选 if pvalue0.05: print (sp[0]+\t+`pvalue`) 以上过程是对于一个通路path而言的,如果对于所有的KEGG通路,或者是GO term,通过一个迭代循环,就可以实现批处理的富集分析。 最后一步就是FDR校正,由于经过对所有KEGG通路或GOterm进行富集分析,fisher精确检验会输出一列P值,往往存在假阳性,因此需要经过FDR校正。这里采用的FDR校正方法为BH校正法。命令如下

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8010045112000002

1亿VIP精品文档

相关文档