打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
转录本counts,FPKM,TPM相互转化

1.  counts 转 FPKM

计算FPKM的三要素:原始counts矩阵,样本总reads数,基因长度。

# expr: counts 表达矩阵, 行:转录本,列:样本

# transcript_len$length 转录本长度

expr1 = expr/transcript_len$length 

fpkm = t(t(expr1)/colSums(expr)) * 10^9

————————————————

2. counts 转 TPM

# expr: counts 表达矩阵

# transcript_len$length 转录本长度

expr1 = expr/transcript_len$length

fpkm = t(t(expr1)/colSums(expr)) * 10^9

tpm <- t(t(fpkm)/colSums(fpkm))*10^6

## 函数法

Counts2TPM <- function(counts, effLen){

  rate <- log(counts) - log(effLen)

  denom <- log(sum(exp(rate)))

  exp(rate - denom + log(1e6))}

tpm <- Counts2TPM(expr,transcript_len$length)

3. FPKM转TPM

tpm = t(t(fpkm)/colSums(fpkm))*10^6

## 函数法

# FPKM数据转为TPM数据

FPKM2TPM <- function(fpkm){

  exp(log(fpkm) - log(sum(fpkm)) + log(1e6))}

tpm <- apply(fpkm,2,FPKM2TPM)

limma,edgeR, DESeq2进行差异表达分析,要用原始counts矩阵。

FPKM可以用limma去运行,不过数值比较大的话要先进行log2转化。

————————————————


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
TCGA数据库悄咪咪更新了—RNAseq没有HTSeq-Counts了
衡量RNA
关于转录本定量
1行代码提取6种TCGA表达矩阵和临床信息
RNA-Seq分析|RPKM, FPKM, TPM, 傻傻分不清楚?
简单小需求:如何将FPKM转换成TPM?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服