RNA-seq中的基因表达量计算和表达差异分析
差异分析的步骤:
1)比对;
2) read count计算;
3) read count的归一化;
4)差异表达分析;
背景知识:
1)比对:
普通比对: BWA,SOAP
开大GAP比对:Tophat(Bowtie2);
2) Read count(多重比对的问题):
丢弃
平均分配
利用Unique region估计并重新分配
表达量计算的本质
目标基因表达量相对参照系表达量的数值。
参照的本质:
( 1)假设样本间参照的信号值应该是相同的;
( 2)将样本间参照的观测值校正到同一水平;
( 3)从参照的数值,校正并推算出其他观测量的值。
例如:Qpcr:目标基因表达量(循环数)相对看家基因表达量(循环数);RNA-seq:目标基因的表达量(测序reads数),相对样本RNA总表达量(总测序量的reads数),这是最常用的标准。
归一化的原因及处理原则:
1)基因长度
2)测序量
3)样本特异性(例如,细胞mRNA总量,污染等)前两者使用普通的RPKM算法就可以良好解决,关键是第三个问题,涉及到不同的算法处理。
RNA-Seq归一化算法的意义:
基因表达量归一化:在高通量测序过程中,样品间在数据总量、基因长度、基因数目、高表达基因分布甚至同一个基因的不同转录本分布上存在差别。因此不能直接比较表达量,必须将数据进行归一化处理。
RNA-seq差异表达分析的一般原则
1)不同样品的基因总表达量相似
2)上调差异表达与下调差异表达整体数量相似(上下调差异平衡)
3)在两组样品中不受处理效应影响的基因, 表达量应该是相近的(差异不显著)。
4)看家基因可作为表达量评价依据( 待定)
不同的算法比较:
以什么数值来衡量表达量:RPKM、FPKM、TPM
以什么作为参照标准:TMM(edgeR软件)、De seq矫正
RPKM:是Reads Per Kilobase per Million mapped reads的缩写,代表每百万reads中来自于某基因每千碱基长度的reads数。
本质:
1)以reads数为计算单位;
2)对基因长度(基因间的比较)和总数据量(样本间的比较)做矫正;
RPKM的弊端
1)由于可变剪切,同一基因有效转录区域长度未必相同(这个一般情况下可以不考虑,了解一下:Cufflinks软件考虑了这个问题)优化策略:外显子或转录本水平的表达量分析。
2) 使用reads数计算基因表达量有轻微误差(这里暂不展开,主要了解一下定义)优化策略:FPKM或 TPM
3) mRNA的总量未必相等。
RPKM的优化:FPKm
F = Fragment,即测序片段数量。这些片段都是从完整的cDNA打碎而来的;
本质:以文库中的片段数量为计算单位在Paired-end测序中,一个fragment就是两条PE reads构成的片段。由于是PE比对,理论上比SE比对更可靠。
RPKM的优化:TPM
T = Transcripts
本质:以转录本的条数为计算单位。使用转录本的条数(或者说:转录本的测序深度),代替reads数,在一定条件下定量更准,尤其样本间表达基因总数差异很大的时候(例如,对照样本有1万个基因表达,另外处理组仅有4000个基因表达)。
mRNA总量未必相等
mRNA总量不等——细胞本身不同
例如:活跃组织vs休眠的组织;癌细胞vs正常细胞
mRNA总量不等——污染
例如:核糖体污染外源RNA污染
解决方法——不同算法比较
其中归一化算法介绍:
1)Total Count(TC):总reads数矫正
2)Upper Quartile(UQ):上四分之一分位数(总reads)
矫正
3)Median(Med);中位数(总reads数)矫正
4)Quantile (Q):基因芯片软件limma中的校正算法;
5)RPKM:总reads数,但引入了基因长度
6)几何平均数:Deseq软件中的算法;
7)TMM:edgeR软件中的算法;
8)RPKM
逻辑1:不同位置数值的稳定性不同
四分位数quartile:将数据按从小到大排列,并分成四等分,这样得到3个分割点,第一个分割点叫做lowerquartile,第二个叫Media,第三个叫Upper quartile
很显然,极大值具有极大不稳定性,而且可能会显著影
响总体之和(假设,我们之中有个马云,我们的总收入
有什么变化?)
所以,Upper quartile和Median的数值,比总表达量之
和更加稳定,更适合作为参照。
逻辑2:表达量居中的基因的表达量值,其数值应该是相似的。
DESeq与edgeR,默认情况下都使用这一的逻辑校正。(DESeq and edgeR Bioconductor packages)
Deseq:异常高表达的基因,会显著影响细胞中的总mRNA的数量。类似的,如果样本中受到不同程度的外源RNA,如病毒、真菌等的污染,也会显著影响样本总mRNA数,导致RPMK值的误差。对于这样的问题,Deseq尝试对数据进行矫正(矫正因子),使表达量处于中间位置的基因表达量应该是基本相同的(即使用表达量处于中间的基因表达量值作为参照,而减少高表达基因的作用)。
Deseq: 校正因子=样本表达中位数/所有样本表达量中位数:回答了一个关键的问题:Deseq不同差异比较组间,计算得到的表达量值不同。因
为样本在变化,“所有样本表达量的中位数”也在变动。RPKM:总表达量为参照
Deseq:中位数为参照
TMM(edgeR):与Deseq类似,在去除高表达基因和差异最大的基因后,TMM也是要找到一个加权系数,使剩余的基因在被矫正后差异倍数可能小。TMM的加权系数是基于两两样本比较后推算获得的(也就是两组样本的比较,将产生与这次比较相关的加权系数)。然后将所有基因除以这个加权系数,从而保证大部分表达量居中的基因表达量最相似。
不同RNA-seq表达量归一化算法的区别
Deseq类的校正算法:理论上更加稳定;但不同批次的比较会得到不同的表达量值,不利于进行多处理组/批次数据的统一分析(例如,趋势分析、共表达分析)校正会掩盖一些问题(例如:样本污染)
RPKM类的算法: 容易受异常高表达基因、外源污染等的干扰;但也更容易从结果的异常中,发现潜在问题;得到的表达量值是恒定的,多处理组/批次的数据可以合并分析。折中的方法:使用RPKM类的算法,但需要人工检查数据是否
异常。备注: Deseq软件也可以关闭校正的功能。
实际经验总结
总之:从多方面考虑,RPKM类算法,如果合理使用,依然是最优的。具体问题具体分析:在遇到问题的时候,找到问题的来源,从而给出解决方案(没有完美的流程,只有最佳解决方案)
原文地址:https://www.cnblogs.com/wangprince2017/p/9951026.html