前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详解CPM定量方式

详解CPM定量方式

作者头像
生信修炼手册
发布2020-05-08 16:45:40
2.7K0
发布2020-05-08 16:45:40
举报
文章被收录于专栏:生信修炼手册生信修炼手册

欢迎关注”生信修炼手册”!

在edgeR中,提供了一种名为CPM的定量方式,全称为count-per-millon。 假定原始的表达量矩阵为count, 计算CPM的代码如下

代码语言:javascript
复制
cpm <- apply(count ,2, function(x) { x/sum(x)*1000000 })

原始的表达量除以该样本表达量的总和,在乘以一百万就得到了CPM值 。从公式可以看出, CPM其实就是相对丰度,只不过考虑到测序的reads总量很多,所以总的reads数目以百万为单位。

在前面的文章中我们介绍了edgeR提供的TMM归一化算法,CPM这种求相对丰度的思想,虽然也是一种比较简单的归一化方式,但它并不用于差异分析之前的归一化。

在edgeR中,CPM主要有以下两种用途

1. 过滤表达量较低的基因

DESeq2和edgeR都是针对raw count表达量进行分析,在DESeq2中,在过滤低表达量的基因时,直接是根据reads数的总和进行判断,代码如下

代码语言:javascript
复制
countData <- count[apply(count, 1, sum) > 10 , ]

由于不同样本测序的reads总数不同,所以直接将所有样本的reads相加,然后进行过滤,这种方式略显粗糙。edgeR中,利用CPM的定量结果,对低表达量的基因进行过滤,代码如下

代码语言:javascript
复制
countData <- count[apply(cpm(count), 1, sum) > 2 , ]

利用相对丰度的加和进行过滤,消除了样本间reads总数不同的影响。需要注意的是,我们只是用CPM来过滤基因,而后续分析还是基于raw count的结果,因为只有raw count是基于负二项分布的。

2. 差异分析的MA图

MA图是差异分析常用的可视化手段之一,横坐标为基因在两组样本中的均值 , 纵坐标为Fold change, 就是两组表达量的倍数。edgeR中的plotMD函数可以绘制如下所示的MA图

从x轴的标签可以看出来,采用的是CPM值。由于不同基因CPM值差异很大,所以采用log转换,缩小了不同基因之间的差异。

·end·

—如果喜欢,快分享给你的朋友们吧—

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 过滤表达量较低的基因
  • 2. 差异分析的MA图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档