p值还是 FDR ?

如何筛选显著性差异基因,p value, FDR 如何选

经常有同学询问如何筛选差异的基因(蛋白)。已经计算了表达量和p value值,差异的基因(蛋白)太多了,如何筛选。其中最为关键的是需要对p value进行校正。

基本概念:

  1. 零假设:在随机条件下的分布。

  2. p值:在零假设下,观测到某一特定实验结果的概率称为p值。

  3. 假阳性:得到了阳性结果,但这个阳性结果是假的。

  4. 假阴性:得到了阴性结果,但这个阴性结果是假的。

单次检验:

针对单个基因(蛋白),采用统计检验,假设采用的p值为小于0.05,我们通常认为这个基因在两个(组)样本中的表达是有显著差异的,但是仍旧有5%的概率,这个基因并不是差异基因。

单多次检验:

当两个(组)样本中有10000个基因采用同样的检验方式进行统计检验时,这个时候就有一个问题,单次犯错的概率为0.05, 进行10000次检验的话,那么就有0.05*10000=500 个基因的差异被错误估计了。

多重检验矫正:

为了解决多次检验带来的问题,我们需要对多次检验进行校正。那如何校正呢?在此介绍两种方法:

  1. Bonferroni 校正法  
    Bonferroni校正法:如果进行N次检验,那么p值的筛选的阈值设定为p/N。 比如,进行10000次检验的话,如果p值选择为0.05, 那么校正的p值筛选为0.000005。 p值低于此的基因才是显著性差异基因。  
    该方法虽然简单,但是过于严格,导致最后找的差异基因很少,甚至找不到差异的基因。

  2. FDR(False Discovery Rate) 校正法  
    FDR错误控制法是Benjamini于1995年提出的一种方法,基本原理是通过控制FDR值来决定p值的值域。相对Bonferroni来说,FDR用比较温和的方法对p值进行了校正。其试图在假阳性和假阴性间达到平衡,将假/真阳性比例控制到一定范围之内。  
    那么怎么从p值来估算FDR呢,人们设计了几种不同的估算模型。其中使用最多的是Benjamini and Hochberg方法,简称BH法。该方法分两步完成,具体如下:  
    2.1  假设总共有m个候选基因,每个基因对应的p值从小到大排列分别是p(1),p(2),…,p(m)  
    2.2  若想控制FDR不能超过q,则只需找到最大的正整数i,使得 p(i)<= (i*q)/m . 然后,挑选对应p(1),p(2),…,p(i)的基因做为差异表达基因,这样就能从统计学上保证FDR不超过q。

如何实现多重检验:

  1. 如果你了解R语言的话,那么采用p.adjust方法就可以了。

p值还是 FDR ?的更多相关文章

  1. Population-based metagenomics analysis reveals markers for gut microbiome composition and diversity

    读paper的时候觉得自己就是个24K纯学渣(=.=)一大堆问题等着我去解决...所以在这里写一个Q&A好了,先列问题,逐步填充答案- ××××××××××××××××××我是分割线么么哒×× ...

  2. ONCOCNV软件思路分析之tumor处理

    前期处理 perl脚本统计RC(RC(read counts)) 读入control baseline 和 sigma(最后baseline 预测的mad值) 将gc < 0.28或gc > ...

  3. 生信基础知识【04】GO和pathway分析

    非原创 参考资料: 一文掌握GO和pathway分析 - 生物信息学讨论版 -丁香园论坛http://www.dxy.cn/bbs/thread/34904124#34904124 GO富集 GO是G ...

  4. 【R方差分析】蛋白质表达量多组比较

    初始数据类似: 蛋白质组数据虽不是严格的正态分布,但目前最常用的检验方法还是T检验(两组比较)和方差分析(多组比较).这个话题值得深究,这里不展开. 主要是求多个蛋白的Pvalue值或FDR,用于差异 ...

  5. FDR错误发现率-P值校正学习[转载]

    转自:https://baike.baidu.com/item/FDR/16312044?fr=aladdin  https://blog.csdn.net/taojiea1014/article/d ...

  6. MongoDB学习笔记~MongoDB实体中的值对象

    回到目录 注意,这里说的值对象是指在MongoDB实体类中的,并不是DDD中的值对象,不过,两者也是联系,就是它是对类的补充,自己本身没有存在的价值,而在值对象中,也是不需要有主键Id的,这与DDD也 ...

  7. matlab FDR校正

    http://home.52brain.com/forum.php?mod=viewthread&tid=27066&page=1#pid170857 http://www.mathw ...

  8. SPM FDR校正

    来源: http://blog.sciencenet.cn/blog-479412-572049.html,http://52brain.com/thread-15512-1-1.html SPM8允 ...

  9. 假设检验:p-value,FDR,q-value

    来源:http://blog.sina.com.cn/s/blog_6b1c9ed50101l02a.html,http://wenku.baidu.com/link?url=3mRTbARl0uPH ...

随机推荐

  1. Bad owner or permissions on .ssh/config的解决

    出处:http://blog.csdn.net/notzuonotdied/article/details/69668519 在.ssh目录,执行以下命令行: sudo chmod 600 confi ...

  2. Gimbal Lock

    [Gimbal Lock] 万向锁源于欧拉角的是有序处理的.U3D中的序列为: y->x->z.当旋转y时,local坐标系与世界坐标系重合,所以y等于永远按惯性坐标旋转.当x旋转+/-9 ...

  3. CircleImageView of Android

    [CircleImageView of Android] github上有一个开源的圆角图片项目.地址:https://github.com/hdodenhof/CircleImageView 使用分 ...

  4. java基本数据间转换

    string=====>int int x = Integer.parseInt(“1111”); string=====>char char x = request.getParamet ...

  5. 解题7(FindFirstOnlyOne)

    题目描述 找出字符串中第一个只出现一次的字符 输入描述: 输入一个非空字符串 输出描述: 输出第一个只出现一次的字符,如果不存在输出-1 示例1 输入 asdfasdfo 输出 o 代码如下: pac ...

  6. django 导入数据库

    python manage .py makemigrations appname python manage.py migrate

  7. python写机器人玩僵尸骰子

    python写机器人玩僵尸骰子由Al Sweigart用python发布注意:我正在为我的僵尸骰子模拟器寻找反馈,以及这一套指令.如果你觉得有什么地方可以改进,请发邮件到al@inventwithpy ...

  8. 设置input标签的placeholder的样式

    设置input样式代码: input::-webkit-input-placeholder{ /*WebKit browsers*/ color: red; } input::-moz-input-p ...

  9. Tensorflow函数——tf.variable_scope()

    Tensorflow函数——tf.variable_scope()详解 https://blog.csdn.net/yuan0061/article/details/80576703 2018年06月 ...

  10. PlayerPrefs Elite v1.4.3

    PlayerPrefs EliteProtect your game from cheating and modification for items, levels, highscores or s ...