实验设计中,一般会做三个生物学重复来确保结果的准确性,尤其在下游分析中。但有时会遇到没有生物学重复,而又需要进行差异分析的情况,这时一般建议考虑foldchange即可,因为根本无法进行T-test等统计学方法嘛。但是如果必须要算一个P值(个人觉得没啥必要。。。),那么不同组学有各自处理的方法(虽然并不是靠谱),比如NGS的转录组的一些软件会预估一个离散度做校正,而质谱的蛋白组则是用Significance A/B算法,这篇文章主要讲下Significance A/B是怎么来的

一般在网上搜Significance A/B是很难搜到相关信息的,因为这个是特定用于蛋白组学的一种统计学方法,而且现在来说用的也比较少了;那当初为何提出这分析方法,个人觉得可能是因为那时蛋白组学成本过高。以前一直只知道有这一分析方法,但是不知其原理,最近在搜索中无意发现一个帖子What statistical methods for ITRAQ with two biological replication?,其中提到一篇文章中有对Significance A/B的介绍

Significance A/B最先是发表于2008年Nature Biotechnology期刊上,MaxQuant enables high peptide identification rates, individualized p.p.b.-range mass accuracies and proteome-wide protein quantification,这篇文章主要是介绍Maxquant这款用于蛋白组定量分析软件的,非常有名,而其附录中作者提到了如何通过protein ratio来计算显著性(P值)

代码实现

了解了上述的Significance A/B的计算过程,那么我们就可以用代码将其实现,下面我用R写了个函数来计算Significance A,而Significance B从上述可知,只要对protein分bin后再用Significance A计算即可(这里不重复展示了),输入为ratio向量

get_significance <- function(ratio){
ratio <- log2(as.numeric(ratio))
order_ratio <- ratio[order(ratio)]
quantiletmp <- quantile(order_ratio, c(0.1587,0.5,0.8413))
rl <- as.numeric(quantiletmp[1]) #对应公式中的r-1
rm <- as.numeric(quantiletmp[2]) #对应公式中的r0
rh <- as.numeric(quantiletmp[3]) #对应公式中的r1
p <- unlist(lapply(ratio, function(x){
if (x > rm){
z <- (x-rm)/(rh-rm)
pnorm(z,lower.tail = F)
}else{
z <- (rm-x)/(rm-rl)
pnorm(z,lower.tail = F)
}
}))
}
p <- get_significance(data)

http://www.bioinfo-scrounger.com

最新文章

  1. 2.mongoDB add user in v3.0 问题的解决(Property &#39;addUser&#39; of object admin is not a func)
  2. gulp详细入门教程-gulp demo download
  3. Java基础理论知识
  4. WPF:带复选框CheckBox的树TreeView
  5. JavaScript中的String对象
  6. iostart命令
  7. cisco nat
  8. linux下ssh/scp无密钥登陆方法
  9. 关于apache的重启
  10. php环境下ckeditor和ckfinder的配置详解
  11. Redhat修改本地yum源
  12. 手游与App测试如何快速转型? —— 过来人科普手游与App测试四大区别
  13. c++对文件操作的支持(一)
  14. mongodb 系列 ~ mongo的两种引擎介绍对比
  15. WIN7 启动屏幕键盘
  16. sql - 递归update
  17. 微信小程序基础
  18. java四种访问权限符
  19. 深入理解webpack
  20. 在ubuntu下安装使用latex

热门文章

  1. phpqrcode.php 生成二维码图片用于推广
  2. Web API 接口说明文档
  3. SQL语句中GROUP BY的问题
  4. skyline(TG,arcgis server)BS系统部署
  5. Spring注解驱动开发(七)-----servlet3.0、springmvc
  6. jeecms项目相关配置文件
  7. MyISAM 与 innoDB 的选择
  8. PAT甲级——A1020 Tree Traversals
  9. 引爆潮流技术 Vue+Django REST framework打造生鲜电商项目
  10. Django-rest Framework(四)