Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TPM格式搜索错了,好尴尬

TPM格式搜索错了,好尴尬

作者头像
生信技能树
发布于 2018-07-27 01:49:48
发布于 2018-07-27 01:49:48
1.2K00
代码可运行
举报
文章被收录于专栏:生信技能树生信技能树
运行总次数:0
代码可运行

网上的答案经常不靠谱

通常情况下我会使用 featureCounts 得到表达矩阵是 raw counts, 但总是有人需要我转换成各种形式,比如 RPKM, FPKM and TPM

概念见: https://statquest.org/2015/07/09/rpkm-fpkm-and-tpm-clearly-explained/

想偷一下懒,就搜索到了 这个答案: http://ny-shao.name/2016/11/18/a-short-script-to-calculate-rpkm-and-tpm-from-featurecounts-output.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
## functions for rpkm and tpm
## from https://gist.github.com/slowkow/c6ab0348747f86e2748b#file-counts_to_tpm-r-L44
## from https://www.biostars.org/p/171766/
rpkm <- function(counts, lengths) {
  rate <- counts / lengths
  rate / sum(counts) * 1e9
}

tpm <- function(counts, lengths) {
  rate <- counts / lengths
  rate / sum(rate) * 1e6
}

朋友提醒我,其实错了,因为很明显 colSums(exprSet_tpm) 并不是一百万。

其实我老早就写过TPM公式,就是RPKM的百分比的百万倍扩大值,所以还是自己动手重新写了代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rpkm <- function(counts, lengths) {
  rate <- counts / lengths
  rate / sum(counts) * 1e9
}

exprSet_rpkm=rpkm(exprSet,len) 
exprSet_tpm=1e6*exprSet_rpkm/colSums(exprSet_rpkm)

不过,比较奇怪的是这个时候 colSums(exprSet_tpm) 是接近一百万,而不是精确的一百万,我还没有想清楚具体缘由,是不是R的计算小数点问题。

有关的讨论: http://blog.nextgenetics.net/?e=51#body-anchor

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

本文分享自 生信技能树 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
网上的答案经常不靠谱,包括我的
概念见:https://statquest.org/2015/07/09/rpkm-fpkm-and-tpm-clearly-explained/
生信技能树
2019/08/13
6950
Counts FPKM RPKM TPM CPM 的转化
最近有粉丝自告奋勇希望可以把他自己在简书等平台的生物信息学笔记分享在我们公众号,在专业的舞台上跟大家切磋!
生信技能树
2022/06/08
4.2K0
RNA-seq入门实战(三):在R里面整理表达量counts矩阵
连续两次求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,以及 生信技能树知识整理实习生招募,让我走大运结识了几位优秀小伙伴!大家开始根据我的ngs组学视频进行一系列公共数据集分析实战,其中几个小伙伴让我非常惊喜,不需要怎么沟通和指导,就默默的完成了一个实战!
生信技能树
2022/07/26
21.8K0
RNA-seq入门实战(三):在R里面整理表达量counts矩阵
count转TPM/FPKM实战(GSE229904)
接下来是对学员的答疑部分,学员提了一个问题,他想知道怎么将我们的count值进行标准化转为tpm和fpkm值。我们技能树对这个转换已经介绍过非常多次啦:
生信技能树
2025/03/29
6270
count转TPM/FPKM实战(GSE229904)
RNA-Seq的Counts和FPKM数据如何转换成TPM?
我们做转录组分析,得到的数据通常是raw counts 的数据,raw counts 的数据有很多R包进行归一化。在TCGA数据库中下载的RNA-Seq的数据就有2种形式,raw counts 和FPKM,尽管有很多文章是直接利用FPKM进行分析的,但是FPKM存在不准确性,通常我们会使用TPM。关于什么是FPKM?什么是TPM?我在前面的文章中就有介绍:RNA-seq的counts,RPM, RPKM, FPK值到底有什么区别?。如果从原始的下机数据开始分析,那就根据自己需要进行转换,但通常我们大多数拿到的是raw counts数据,一般送测序,也会要求返回raw counts的数据,从数据库下载的数据我们通常也是选择raw counts数据或者FPKM的数据。那么我们如何将这些数据进行转换成TPM的数据呢?read count和FPKM结果都可以转成TPM,但是因为FPKM跟TPM的计算都考虑了基因长度,所以从FPKM转TPM最方便快捷。只需要按照下面公式就可以计算:
DoubleHelix
2020/07/28
26K0
RNA-Seq的Counts和FPKM数据如何转换成TPM?
RNAseq数据分析中count、FPKM和TPM之间的转换
现在常用的基因定量方法包括:RPKM, FPKM, TPM。这些表达量的主要区别是:通过不同的标准化方法为转录本丰度提供一个数值表示,以便于后续差异分析。
DoubleHelix
2023/12/14
26.2K0
RNAseq数据分析中count、FPKM和TPM之间的转换
转录组差异分析FPKM与count处理差别大吗
这些天来,我们一般都是处理上游定量好的count数据,然后进行下游的转录组分析。但是,我们查看GEO数据集时,会发现有些数据集并没有提供count数据,而仅仅提供了FPKM或者RPKM等格式的数据。那当数据集提供的是FPKM数据集时,我们还能处理吗。前面曾老师分享的推文中描述了FPKM的处理方式,具体见RNAseq数据,下载GEO中的FPKM文件后该怎么下游分析,评论区中有小伙伴谈到limma包的作者不推荐用limma处理FPKM数据,最好用原始数据进行分析。那用count与用FPKM去处理获得的差异基因具有巨大的差别吗?曾老师前两天提出了这个疑问,于是便有了今天的推文。接下来,我们就探索一下用count与用FPKM去处理获得的差异基因是否具有巨大差别吧?
生信菜鸟团
2023/01/05
12.8K1
转录组差异分析FPKM与count处理差别大吗
RNAseq数据 | 下载GEO中的FPKM文件后该怎么下游分析
Oncogenic lncRNA downregulates cancer cell antigen presentation and intrinsic tumor suppression不过不需要看文章,大家只需要做差异分析即可,这个时候需要注意的是,作者提供的是RPKM值表达矩阵!
生信技能树
2022/06/08
1.9K0
RNAseq数据 | 下载GEO中的FPKM文件后该怎么下游分析
关键问题答疑:WGCNA的输入矩阵到底是什么格式
这样的问题我其实被问过好多次了,因为这次是学员提问,虽然已经过了一个月的答疑期,但是情谊还在,所以就系统性的回复一下。
生信技能树
2019/10/15
3.7K0
关键问题答疑:WGCNA的输入矩阵到底是什么格式
RNAseq数据,下载GEO中的FPKM文件后该怎么下游分析
我们有很多学徒数据挖掘任务,已经完成的目录见:学徒数据挖掘专题半年目录汇总(生信菜鸟团周一见) 欢迎大家加入我们的学习团队,下面看FPKM文件后该怎么下游分析
生信技能树
2019/12/23
20.1K3
RNAseq数据,下载GEO中的FPKM文件后该怎么下游分析
Count数据转换为TPM数据方法整理-常规方法、DGEobj.utils和IOBR包
在正式分析之前,对于数据的处理是至关重要的,这种重要性是体现在很多方面,其中有一点是要求分析者采用正确的数据类型。
凑齐六个字吧
2024/07/13
7740
Count数据转换为TPM数据方法整理-常规方法、DGEobj.utils和IOBR包
如果你一定要TCGA数据库的转录组测序的TPM表达量矩阵,不妨自己进行转换啊!
首先需要下载TCGA的33种癌症的全部数据,尤其是表达量矩阵和临床表型信息啦,这里我们推荐在ucsc的xena里面下载:https://xenabrowser.net/datapages/,可以看到,确实是没有提供TPM表达量矩阵,但是自己进行转换啊!无论RPKM或FPKM或者TPM格式是多么的遭人诟病,它的真实需求还是存在, 那么我们该如何合理的定义基因的长度呢?
生信技能树
2021/11/25
3.1K0
获取基因有效长度的N种方法
最近有粉丝自告奋勇希望可以把他自己在简书等平台的生物信息学笔记分享在我们生信技能树公众号,在专业的舞台上跟大家切磋!
生信技能树
2022/06/27
5.4K0
获取基因有效长度的N种方法
RNAseq定量方法
为了获取表达矩阵,可以将测序数据比对到参考基因组然后通过坐标文件 GTF(GFF 或者 BED)统计每个基因比对上的数据计算丰度,或者直接与参考基因集进行比对,直接计算每个基因覆盖深度的方法。但是两种方法之间有较大的差别:
生信喵实验柴
2022/10/25
1.2K0
RNAseq定量方法
转录组测序的表达量的两个归一化方向会影响差异分析吗
如果是使用deseq2这样的包进行转录组测序的表达量的差异分析需要的是最原始的整数的counts矩阵即可,如果是做表达量热图,通常是使用归一化后的矩阵,可以是两个方向都做。如果仅仅是考虑文库大小就是cpm和rpm,如果同时考虑基因长度就是 FPKM(Fragments Per Kilobase of transcript per Million mapped reads),以及tpm,让我们来理解一下:
生信技能树
2024/07/26
2600
转录组测序的表达量的两个归一化方向会影响差异分析吗
鉴定lncRNA流程全套代码整理
前两期周更我们通过一篇文章的复现整理了mRNA和lncRNA分析基本流程,但并没有涉及新lncRNA的鉴定,本周的推文本质上是我个人学习鉴定lncRNA的全套流程笔记,整合了我们公众号往期的资源,对代码进行了勘误更新,内容非常详实。
生信菜鸟团
2023/08/23
4K1
鉴定lncRNA流程全套代码整理
一网打尽转录组差异分析!!!
差异分析在转录组数据分析中占据着举足轻重的地位,是揭示基因表达变化的关键步骤。然而,面对众多如DESeq2、limma和edgeR等转录组分析R包,分析人员常常面临选择困境。本文旨在深入探讨这些常用差异分析R包的特点、优劣,以及它们与t检验/Wilcox秩和检验(Wilcox-rank-sum test)在差异分析结果上的异同点。
生信学习者
2024/06/11
6250
一网打尽转录组差异分析!!!
怀疑了不该怀疑的人
前面介绍了 : 一行命令将count转为CPM/TPM/FPKM ,是一个Python软件,也是读取gtf文件,根据id来自动计算每个基因的长度后进行相对应的公式的转换:
生信技能树
2023/02/27
5270
怀疑了不该怀疑的人
学习scRNAseq这个R包
https://github.com/jmzeng1314/scRNA_smart_seq2/blob/master/scRNA/study_scRNAseq.html
生信技能树jimmy
2020/03/30
1.6K0
什么,你一定要基于FPKM标准化表达矩阵做单细胞差异分析
前言:使用GSE81861提供的数据,比较CRC肿瘤上皮细胞与正常上皮细胞的差异。
生信技能树
2020/09/22
7.8K0
推荐阅读
相关推荐
网上的答案经常不靠谱,包括我的
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验