Simple, fast implementation of Fisher’s exact test. . For example, for the following table:

o Having the property Not having the property
Selected 12 5
Not selected 29 2

Perhaps we are interested in whether there is any difference of property in selected vs. non-selected groups, then we can do the Fisher’s exact test.

def fish_test(sample_hit, pop_hit, sample_count, root_count):
### sample_hit: 该样本中基因属于该term下面的个数
### pop_hit: 该物种的所有基因属于该term下面的个数
### sample_count: 样本中基因的个数
### root_count: 该物种在bp/cc/mf root 下基因的个数
sample_hit = int(sample_hit)
pop_hit = int(pop_hit)
sample_count = int(sample_count)
root_count = int(root_count)
sample_nhit = sample_count - sample_hit
pop_nhit = root_count - pop_hit
n1,n2,n3,n4 = (sample_hit, pop_hit - sample_hit,
sample_nhit, pop_nhit - sample_nhit)
p = abs(pvalue(n1,n2,n3,n4).right_tail)
return p

使用公式 phyper(k-1,M, N-M, n, lower.tail=FALSE)
     那么做为背景,总体基因为N,属于“化学刺激响应”这个分类的基因有M个。
     现在抽了n个基因,里面有k个基于这个分类,p值为
针对下面这个通路我做了计算, 和 用Python 包算的一致.
> phyper(16-1,45,7057-45,98,lower.tail=FALSE)
[1] 2.503033e-19
> phyper(11-1,48,7057-48,98,lower.tail=FALSE)
[1] 3.09068e-11
 
 
Index Pathway Name Pathway ID Pvalue Pvalue_adjusted Genes Count Pop Hit List_Total Background Genes Class
1 ABC transporters hsa02010 2.50e-19 4.71e-17                      
                       ABCA6|1.00                     
                       ABCC8|1.00                     
                       ABCG2|1.00                     
                       ABCG8|1.00                     
                       ABCB5|1.00                     
                       ABCB6|1.00                     
                       ABCC9|1.00                     
                       ABCC11|1.00                     
                       ABCA1|1.00                     
                       ABCA7|1.00                     
                       ABCA9|1.00                     
                       ABCA12|1.00                     
                       ABCB8|1.00                     
                       ABCB9|1.00                     
                       ABCG4|1.00                     
                       ABCG5|1.00                     
                   
16 45 98 7057 Environmental Information Processing
2 Fatty acid metabolism hsa01212 3.09e-11 2.91e-09                      
                       ACADSB|1.00                     
                       SCD|1.00                     
                       ACOX1|1.00                     
                       ACSL3|1.00                     
                       ACSL4|1.00                     
                       ACSL1|1.00                     
                       ACSL5|1.00                     
                       ACACA|1.00                     
                       ACADL|1.00                     
                       ACADM|1.00                     
                       ACSBG1|1.00                     
                   
11 48 98 7057 Metabolism

pvalue for go kegg enrichment的更多相关文章

  1. clusterProfiler包

    1)enrichGO:(GO富集分析) 描述:GO Enrichment Analysis of a gene set. Given a vector of genes, this function ...

  2. 32、Differential Gene Expression using RNA-Seq (Workflow)

    转载: https://github.com/twbattaglia/RNAseq-workflow Introduction RNAseq is becoming the one of the mo ...

  3. R包对植物进行GO,KEGG注释

    1.安装,加载所用到到R包 用BiocManager安装,可同时加载依赖包 source("https://bioconductor.org/biocLite.R") BiocMa ...

  4. (转)基因芯片数据GO和KEGG功能分析

    随着人类基因组计划(Human Genome Project)即全部核苷酸测序的即将完成,人类基因组研究的重心逐渐进入后基因组时代(Postgenome Era),向基因的功能及基因的多样性倾斜.通过 ...

  5. GSEA - Gene set enrichment analysis 基因集富集 | ORA - Over-Representation Analysis 分析原理与应用

    RNA-seq是利器,大部分做实验的老板手下都有大量转录组数据,所以RNA-seq的分析需求应该是很大的(大部分的生信从业人员应该都差不多要沾边吧). 普通的转录组套路并不多,差异表达基因.富集分析. ...

  6. GO 和 KEGG 的区别 | GO KEGG数据库用法 | 基因集功能注释 | 代谢通路富集

    一直都搞不清楚这两者的具体区别. 其实初学者搞不清楚很正常,因为它们的本质是相通的,都是对基因进行归类注释的数据库. 建议初学者自己使用一下这两个数据库,应该很快就能明白其中的区别. (抱歉之前没讲清 ...

  7. 手把手教你看KEGG通路图!

    手把手教你看KEGG通路图! 亲爱的小伙伴们,是不是正关注代谢通路研究?或者你正面对数据,绞尽脑汁?小编当然不能让亲们这么辛苦,今天就跟大家分享KEGG代谢通路图的正确解读方法,还在迷糊中的小伙伴赶紧 ...

  8. DAVID 进行 GO/KEGG 功能富集分析

    何为功能富集分析? 功能富集分析是将基因或者蛋白列表分成多个部分,即将一堆基因进行分类,而这里的分类标准往往是按照基因的功能来限定的.换句话说,就是把一个基因列表中,具有相似功能的基因放到一起,并和生 ...

  9. KEGG富集分析散点图.md

    输入数据格式 pathway = read.table("kegg.result",header=T,sep="\t") pp = ggplot(pathway ...

随机推荐

  1. SQL基础三(例子)

    -----------聚合函数使用------------------------ --1.查询student表中所有学生人数 select count(stuno) from student --2 ...

  2. 【集成学习】lightgbm使用案例

    github地址 #!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Created on Sat Mar 31 21: ...

  3. 分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

    本篇导读: 上篇介绍了一款Windows环境下的Git服务器工具GitStack ,搭建了最简单的Windows下的Git服务器,需要再次提醒的是GitStack是打包了相对较稳定的Git原生版本的, ...

  4. nginx初步尝试

    导师要我学习下nginx,弄个简单的负载均衡出来,具体就是请求发送到nginx上,然后nginx将请求转发到后面的两个jetty应用上,这两个应用的代码是一样的,只是监听的端口不同,由于是简单尝试,因 ...

  5. Android学习问题记录之open failed EACCES (Permission denied)

    1.问题描述 Android调用相机拍照保存,然后读取保存好的照片,在读取照片时出现异常(该异常是因为没有SD卡的读取权限所致): 11-08 11:07:46.421 8539-8539/com.c ...

  6. HDU - 5887:Herbs Gathering (map优化超大背包)

    Collecting one's own plants for use as herbal medicines is perhaps one of the most self-empowering t ...

  7. Codeforces 559C Gerald and Giant Chess【组合数学】【DP】

    LINK 题目大意 有一个wxh的网格,上面有n个黑点,问你从(1,1)走到(w,h)不经过任何黑点的方案数 思路 考虑容斥 先把所有黑点按照x值进行排序方便计算 \(dp_{i}\)表示从起点走到第 ...

  8. RUAL1519 Formula 1 【插头DP】

    RUAL1519 Formula 1 Background Regardless of the fact, that Vologda could not get rights to hold the ...

  9. python笔记-13 mysql与sqlalchemy

    一.RDBMS relational database management system 关系型数据库引入 1.数据库的意义 更有效和合理的存储读取数据的一种方式 关系模型基础上的数据库 -> ...

  10. 关于rs编码的理解

    1,rs编码首先是线性循环编码,所谓线性循环编码就是说编码后的码组T(x)左移或右移都必然还是有限组码组中的一组,并且T(X)码组能够被g(x)整除,g(x)为生成多项式. 2,由信息码m(x)得到T ...