各位小伙伴大家好,小果今天之所以能写这篇文章,那还得多谢同事提出的问题。昨天,同事问小果:在做转录组分析时,TPM和FPKM相比,到底我要选择哪个呢?另外大家在TCGA等网站下载都是原始count数,为什么不直接用这个呢?还必须利用edgeR等R包进行标准化之后才能使用?小果画了半天的时间才给同事讲解明白,回家想了想后,觉得初入生信的大家可能也拥有同样的疑虑,所以小果今天抓紧就自己的理解给大家整理了一篇攻略!
同时插播一条广告,不管是原始的count数,还是后续相对更复杂的TPM和FPKM值,都是数据量巨大,所以小果推荐大家使用服务器进行数据分析,如果没有服务器的话可以练习效果进行租赁哦~
下面进入今天的主题吧!
count:原始数据count指的是测序所得到的read比对到某个基因上的总数目。这和转录组的测序组装过程密切相关,因为我们组装过程中会将测得的短reads比对到参考基因组上,然后计算比对到某个基因上的reads数,该数即为count数,且是个整数。
但是,当我们真的使用这个数值相当于基因表达量的时候,问题也就出来了。从定义上可以看出count和基因长度是密切相关的,这就存在个别基因长度极长,个别基因的长度较短的问题,显然长度较长的基因在测序时会产生更多的read,这样的话对他的count数就产生了一定影响。另外,测序深度所获得的数据量对count的影响也很大,比如分别对同一个样本进行10X和20X的测序,若其余变量不考虑,是否会生成2倍的reads数,从而导致count的增加?这也就能回答小果同事的第二个问题了:不能直接利用count相当于基因的表达量,因为存在基因长度和测序深度等问题直接影响着count的数量而并非是生物学因素。因此FPKM和TPM就应运而生:
FPKM/RPKM:全称为Fragment/Reads per kilo base of transcript per million mapped reads,意思为每百万fragment或reads获得对应基因的1000 bp转录本包含的reads数。这一指标对基因长度和样本内总文库大小进行的充分的考虑,但并不能区分各样本文库之间的差别,因此TPM对其进行了优化。
TPM:Transcripts per million指的是每百万条reads的转录本。与FPKM/RPKM的计算方法不同的是,TPM先对基因长度进行校正,随后才对文库大小进行校正,总的来说可以概括为:百PKM除以FPKM值的总和,再乘以10的6次方。
但是由于FPKM/RPKM与TPM对于基因长度及测序深度的校正顺序不同,也导致他们之间存在着些许差异。即对于TPM来说,每个样本的总TPM是一样的,这样很容易比较相同基因在不同的样本中的转录水平高低。而对于FPKM/RPKM,很难比较不同样本中的基因的表达量高低,因为每个重复的总FPKM/RPKM都不同,所以目前相对而言可以用TPM来见解表示某基因的表达量。以此也就回答了小果同事的第一个问题,相对而言应该使用TPM值充当各基因在不同样本间的表达水平更为准确。
其实对于基因表达量的说法不仅仅有以上几种方式,相信很多小伙伴在阅读文献的时候还看过CPM这个称呼。CPM,counts per million,即每百万读数,用总count数除以一百万即可,用来对测序深度进行标准化。
那当我们知道这些对于测序数据的表达之后,还有一个重要概念,即log2FoldChange(log2FC),众所周知,这是在做差异表达分析时非常重要的一个值,当log2FC>0时表示基因上调,log2FC<0时基因下调。那log2FC到底指什么呢?我们先来看一下FoldChange是什么意思吧:
FoldChange即倍数变化,在以上三种定量方法上计算以获得实验组相对于对照组中某基因的变化程度。如模型组A、对照组B和治疗组C中a基因的count数分别为10、20和100,则B相对于A来说就高表达了1倍,C相对于A来说高表达了9倍。又因为每个基因在细胞内的表达差异是巨大化的,所以我们取用log对数的形式,缩小这些数值,以方便查看。并且我们通常以log2FC > 1或log2FC < -1即差异倍数是2来区分某基因在不同样本中是否存在差异。
好啦,以上就是小果对于转录组数据处理过程中几个定义的理解,希望能帮助大家哦!且如果各位小伙伴对于转录组处理较为为难,可以加入小果的云生信平台哦,只需要将数据输入就能完成想要的分析哦,方便快捷,快来加入吧!
http://www.biocloudservice.com/home.html