欢迎关注”生信修炼手册”!
对于转录组数据而言,最基础的分析就是基因和转录本水平的定量了,定量就是确定一个基因或者转录本的表达量,其中定量的方式有很多种。
最直接的方式就是统计mapping到这个基因/转录本上的reads的个数,将reads数作为表达量。我们称这种表达量为raw count。
在raw count的基础上,利用外显子长度进行归一化,就得到了TPM值的定量方式。对于每个基因,将raw count除了该基因的长度(exon长度之和) , 得到长度归一化之后的表达量。某个基因的TPM值就是利用归一化之后的表达量,计算了一个相对丰度。具体计算公式如下,注意基因长度以k
为单位
在raw count的基础上,利用测序量和外显子长度两个因素进行归一化,就得到了RPKM/FPKM值的定量方式。首先将raw count除了mapping 上的所有reads数,得到相对丰度,在除以该基因长度(exon长度之和), 就可以计算出RPKM值。测试时每一条插入片段称为一个fragment, 对于双端测序,一个fragment 会得到两条reads。
RPKM和FPKM 唯一不同的地方在于raw count的计算,RPKM 计算的是reads 数,而FPKM 值计算的是fragments 数,对于单端测序, fragment 和 reads 的个数是相等的;对于双端测序,reads 数目是fragments 数目的两倍,对于FPKM 而言,即使双端的两条reads都比对上了基因组,在计数时也知计一次,因为两条reads来源于同一个fragment。
具体计算公式如下, 需要注意单位,mapping上的reads 总数以M
为单位,基因长度以k
为单位。
能够进行定量的软件有很多,本文主要介绍stringTie这款软件。
在早期的转录组数据分析中,最经典的分析策略是tophat cufflinks cuffdiff, 这套分析的pipeline会给出基于FPKM值的定量结果,然后进行差异分析,但是随着测序数据量的提高和分析手段的发展,这套分析策略出现了很多的问题。
首先就是tophat的速度很慢,相比新出的比对软件,其速度可以算得上是龟速了,同样的数据量,hisat/star只需要半个小时就可以比对完成,tophat2至少需要5到6个小时;其次,基于FPKM值得到的差异结果和实验手段如qPCR验证的一致性较差。
为了顺应测序和分析的新趋势,原本的开发团队对整个pipeline进行了全面升级, 用hisat 代替tophat, 用stringTie ballgown 代替cufflinks cuffdiff。
stringTie 可以看做是cufflinks 软件的升级版本,其功能和cufflinks是一样的 ,包括下面两个主要功能
- 转录本组装
- 定量
相比cuffinks, 其运行速度更快。该软件的官网如下
https://ccb.jhu.edu/software/stringtie/index.shtml
stringTie的输入文件为经过排序之后的bam文件,常见用法有以下几种
1. 对已知转录本进行定量
对于模式生物,如human, mouse等,通常只需要对已知的转录本定量即可,用法如下
代码语言:javascript复制stringtie -p 10
-G hg19.gtf
-o output.gtf
-b ballgown_out_dir -e
align.sorted.bam
-G
参数指定参考基因组的gtf文件,-o
指定输出的文件,格式也为gtf, -b
指定ballgown的输出结果目录,这个参数是为了方便下游进行ballgown差异分析,-e
参数要求软件只输出已知转录本的定量结果。
在输出的GTF格式的文件中,对于每个转录本,会给出以下3种表达量
- coverage
- TPM
- FPKM
2. 组装本组装
对于单个样本进行组装,用法如下
代码语言:javascript复制stringtie align.sorted.bam
-o assembly.gtf
-p 20
-G hg19.gtf
在组装的转录本中,也会给出定量的结果,对于组装的新转录本和基因,默认采用STRG
加数字编号进行区分,示例如下
gene_id "STRG.1"
transcript_id "STRG.1.1"
单个样本组装完成后,会合并所有样本的转录本组装结果,得到一个非冗余的转录本集合,用法如下
代码语言:javascript复制stringtie --merge
-o assembly.gtf
-p 20
-G hg19.gtf
sampleA.gtf sampleB.gtf
在合并的非冗余转录本中,采用MSTRG
加数字编号对基因和转录本进行编号,示例如下
gene_id "MSTRG.2"
transcript_id "MSTRG.2.2"
本质上,stringTie只提供了转录本水平的表达量,定量方式包括TPM和FPKM值两种。为了进行raw count的定量方式,官方提供了prepED.py
脚本,可以计算出raw count的表达量,用法如下
python prepDE.py
-i sample_list.txt
-g gene_count_matrix.csv
-o transcript_count_matrix.csv
输入文件为sample_list.txt, 该文件为t
分隔的两列,第一列为样本名称,第二列为定量的gtf文件的路径,示例如下
sampleA A.stringtie.gtf
sampleB B.stringtie.gtf
同时输出基因和转录本水平的raw count表达量值。
采用stringTie进行定量,运行速度快是一个优势,同时提供raw count, FPKM, TPM 3种定量方式的结果,也是其最便利的地方。
·end·
—如果喜欢,快分享给你的朋友们吧—