Read count、CPM、 RPKM、FPKM和TPM的区别

1. 为什么我们要进行Normalization

  • 测序深度:某些低表达量的基因只有在较高的测序深度时才能检测到。一般而言,随着测序深度的增加,基因种类以及可变剪接体的数目也会增加。同时,测序深度高的样本read counts也会较高。


    样本A中的基因表达量是样本B的两倍,但这是由于测序深度引起的结果,而非真实存在的差异。
  • 基因长度:由于高通量测序是将cDNA碎片化后再进行测序的,因此越长的基因产生的碎片也会更多,在测序中也会更加容易被检测到。所以对基因长度的校正也是十分有必要的。

基因X和Y的真实表达量是一致的,但是基因X的reads会比基因Y要多,这是由于基因X的基因长度较长所致的。

除了上述两个主要因素外,还会有其他因素对read counts的检测有所影响,例如转录组的组成,GC含量,random hexamers引起的测序偏好等等。由于上述因素的存在,导致在不同样本间使用read counts 进行比较是不太现实的,人们便提出了许多对read counts进行Normalization的方法。

2. Normalization方法

1. 学术界已经不再推荐RPKM、FPKM;
2. 比较基因的表达丰度,例如哪个基因在哪个组织里高表达,用TPM做均一化处理;
3. 不同组间比较,找差异基因,先得到read counts,然后用DESeq2或edgeR,做均一化和差异基因筛选;如果对比某个基因的KO组和对照,推荐DESeq2。

Read count
数值概念:比对到某基因的reads数。
用途:用于换算CPM、RPKM、FPRM等后续其他指标,同时作为基因异分析软件(如DESeq、edgeR和limma)的输入值。也就是说,而非CPM、RPKM、 FPKM,表达定量的结果主要用于主成分分析、层次聚类分析。

2.1 CPM:Counts per million

数值概念:计算公式:CPM= A/mapped reads*1000000 A为比对到某基因的reads数(read count)。

用途:在某些情况下,只想了解每个基因被覆盖到的相对reads数,而不希望对其做长度校正,就会使用这个指标。

用总reads进行均一化是最简单的方法,其基于以下两个基本假设:
1) 绝大多数的gene表达量不变;
2) 高表达量的gene表达量不发生改变;
但实际上在转录组中,一小部分丰度极高的基因往往会贡献很多reads,如果这些“位高权重”的基因还是差异表达的,就会影响所有其它基因分配到的reads数。而且两个样本总mRNA量完全相同的前提假设也过于理想了。如果想进行表达量的基因间比较,则不得不考虑基因长度的不同。如果进一步做长度的均一化,就得到了下面的RPKM、FPKM。

2.2 RPKM:Reads Per Kilobaseof exon model per Million mapped reads (每千个碱基的转录每百万映射读取的reads)

数值概念:计算公式:RPKM=(1000000*A)/( mapped reads *gene length/1000)
A为比对到某基因的 reads数(read count)。

RPKM法能消除基因长度和测序量差异对计算基因表达的影响,计算得到的基因表达量可直接用于比较不同样品间的基因表达差异和不同基因间表达高低的比较。

用途:用于与基因表达量相关的后期分析。基因表达趋势分析、WGCNA共表达网络构建,热图绘制等都使用。

2.3 FPKM:Fragments Per Kilobase of exon model per Million mapped fragments(每千个碱基的转录每百万映射读取的fragments)
cDNA Fragments:比对到某一转录本上的片段数目,即双端Reads数目,针对双端数据;Mapped Fragments (Millions):比对到转录本上的片段总数,以百万为单位,即10^6;Transcript Length(kb):转录本长度,kb为单位,即10^3。

FPKM意义与RPKM极为相近。二者区别仅在于,Fragment与Read。RPKM的诞生是针对早期的SE测序,FPKM则是在PE测序上对RPKM的校正。只要明确Reads和Fragments的区别,RPKM和FPKM的概念便易于区分。Reads即是指下机后fastq数据中的每一条Reads,Fragments则是指每一段用于测序的核酸片段【双端序列即使丢弃1端reads,让按照1个Fragments计算】。
RPKM is for single end RNA-seq
FPKM is very similar to RPKM, but for paired end RNA-seq.

2.4 TPM:Transcripts per million

TPM is like RPKM and FPKM, except the order of operations is switched.

TPM公式
先用count值除以基因长度
count值除以基因长度/每个样本的count值除以基因长度的加和

同RPKM一样,TPM对基因的长度进行了校正,计算比对到基因上的reads/基因长度得到长度校正的表达量 reads per kilobase (RPK)。再以文库中RPK之和作为Scale Factor求出TPM。

相比于RPKM使用read counts之和来作为文库校正因子,TPM使用RPK之和作为文库校正因子的好处是考虑了不同样本间的基因长度的分布。因为RPK是一个对基因长度进行校正后的表达量单位,所以RPK之和也不会再带入基因长度的bias。因此,如果需要比较的样本之间转录本分布不一致时(例如不同物种RNA-seq的比较),使用TPM是一个较佳的Normalization方案。

3. 各种值的使用场合⚠️

  • 差异表达分析:原始count值,算法输入要求(针对二代测序差异分析算法,算法内部一般有标化方法。)
  • 标化后的值:基因表达值在样本与样本之间具有可比性。
    PCA分析,样本表达总体分布,生存分析,热图绘制,相关性分析

更多参考:https://www.jianshu.com/p/cd2888fec66b

你可能感兴趣的:(Read count、CPM、 RPKM、FPKM和TPM的区别)