转录组数据分析中,进行基因表达定量获得的read count 数,是如何计算成TPM和FPKM的呢?参考《What the FPKM? A review of RNA-Seq expression units》这篇博客,
1. TPM 公式如下:

2. FPKM 公式如下:

3. TPM与FPKM的关系

对应的R 代码如下:
countToTpm <- function(counts, effLen)
{
rate <- log(counts) - log(effLen)
denom <- log(sum(exp(rate)))
exp(rate - denom + log(1e6))
}
countToFpkm <- function(counts, effLen)
{
N <- sum(counts)
exp( log(counts) + log(1e9) - log(effLen) - log(N) )
}
fpkmToTpm <- function(fpkm)
{
exp(log(fpkm) - log(sum(fpkm)) + log(1e6))
}
countToEffCounts <- function(counts, len, effLen)
{
counts * (len / effLen)
}
如果您对转录组数据挖掘感兴趣的话,可以学习我的转录组分析和挖掘课程:
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!