Skip to main content
 首页 » 编程设计

python之通过超几何分析对 p 值进行 Bonferroni 校正

2025年05月04日14tuyile006

我进行了超几何分析(使用 Python 脚本)来研究 GO-terms 在基因子集中的富集。我的输出示例如下:

GO00001 1500    300 200 150 5.39198144708e-77 
GO00002 1500    500 400 350 1.18917839281e-160 
GO00003 1500    400 350 320 9.48402847878e-209 
GO00004 1500    100 100 75  3.82935778527e-82 
GO00005 1500    100 80  80  2.67977253966e-114 

在哪里

Column1 = GO ID 
Column2 = Total sum of all terms in the original dataset 
Column3 = Total sum of [Column 1] IDs in the original dataset 
Column4 = Sum of all terms in the subset 
Column5 = Sum of [Column 1] IDs in subset 
Column6 = pvalue derived from hypergeometric test 

我知道我必须将实验次数乘以 pvalue,但我不确定如何使用我拥有的数据执行此操作。我是从子集计算还是从原始数据集和子集的组合计算?例如,它会是:

Column2 * Column5 * pvalue 
Column3 * Column5 * pvalue 
Column4 * Column5 * pvalue 

如果这看起来像是一个愚蠢的问题,我深表歉意,但我似乎无法理解它。非常感谢!

请您参考如下方法:

from statsmodels.sandbox.stats.multicomp import multipletests 
p_adjusted = multipletests(Column6, method='bonferroni') 

还是我遗漏了什么?..