-差异分析时,需考虑实验设计(样本组成)和测序原理向(测序深度、基因长度、RNA 组成)
-转录组下游分析时,采用DESeq2、edgeR和limma,需要的输入数据类型是counts(正整数)
-RPKM:以每个Read为一个单位,单端测序常用
-FPKM:以Fragment一个单位,主要在双端测序
(这两个很相似,都是先标准化测序深度,再标准化基因长度)
-目前推荐使用TPM
(TPM先标准化基因长度,再标准化测序深度)
【标准化后每个样本的total TPM是相同的,可以更易看出what proportion of reads mapped to what in each sample;此外,RNA-seq数据是用于比较reads的相对量,因此,TPM更为合理】
FPKM转换为TPM,表达矩阵行为基因,列为样本
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)
}
-为什么在进行分析时需要对FPKM进行log2转化
因为原始FPKM是偏态分布的,log2转化后使数据呈正态分布(正态分布是大部分统计学分析方法需要的数据类型)
参考资料
https://mp.weixin.qq.com/s/3qnCaAiEPup9RrclxalSig
https://www.jieandze1314.com/post/cnposts/168/
https://www.youtube.com/watch?v=TTUrtCY2k-w(这个视频形象易懂,超级推荐,B站也有同名视频,https://www.bilibili.com/video/BV1p54y147yv?from=search&seid=1425460815802062043&spm_id_from=333.337.0.0;
这个网站也行https://statquest.org/)
网友评论