前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >stringTie:转录本组装和定量工具

stringTie:转录本组装和定量工具

作者头像
生信修炼手册
发布2020-05-08 16:42:43
发布2020-05-08 16:42:43
14.1K20
代码可运行
举报
文章被收录于专栏:生信修炼手册生信修炼手册
运行总次数:0
代码可运行

欢迎关注”生信修炼手册”!

对于转录组数据而言,最基础的分析就是基因和转录本水平的定量了,定量就是确定一个基因或者转录本的表达量,其中定量的方式有很多种。

最直接的方式就是统计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是一样的 ,包括下面两个主要功能

  1. 转录本组装
  2. 定量

相比cuffinks, 其运行速度更快。该软件的官网如下

https://ccb.jhu.edu/software/stringtie/index.shtml

stringTie的输入文件为经过排序之后的bam文件,常见用法有以下几种

1. 对已知转录本进行定量

对于模式生物,如human, mouse等,通常只需要对已知的转录本定量即可,用法如下

代码语言:javascript
代码运行次数:0
运行
复制
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种表达量

  1. coverage
  2. TPM
  3. FPKM
2. 组装本组装

对于单个样本进行组装,用法如下

代码语言:javascript
代码运行次数:0
运行
复制
stringtie align.sorted.bam
-o assembly.gtf
-p 20
-G hg19.gtf

在组装的转录本中,也会给出定量的结果,对于组装的新转录本和基因,默认采用STRG加数字编号进行区分,示例如下

代码语言:javascript
代码运行次数:0
运行
复制
gene_id "STRG.1"
transcript_id "STRG.1.1"

单个样本组装完成后,会合并所有样本的转录本组装结果,得到一个非冗余的转录本集合,用法如下

代码语言:javascript
代码运行次数:0
运行
复制
stringtie --merge \
-o assembly.gtf \
-p 20 \
-G hg19.gtf \
sampleA.gtf sampleB.gtf

在合并的非冗余转录本中,采用MSTRG加数字编号对基因和转录本进行编号,示例如下

代码语言:javascript
代码运行次数:0
运行
复制
gene_id "MSTRG.2"
transcript_id "MSTRG.2.2"

本质上,stringTie只提供了转录本水平的表达量,定量方式包括TPM和FPKM值两种。为了进行raw count的定量方式,官方提供了prepED.py脚本,可以计算出raw count的表达量,用法如下

代码语言:javascript
代码运行次数:0
运行
复制
python prepDE.py \
-i sample_list.txt  \
-g gene_count_matrix.csv  \
-o transcript_count_matrix.csv

输入文件为sample_list.txt, 该文件为\t分隔的两列,第一列为样本名称,第二列为定量的gtf文件的路径,示例如下

代码语言:javascript
代码运行次数:0
运行
复制
sampleA A.stringtie.gtf
sampleB B.stringtie.gtf

同时输出基因和转录本水平的raw count表达量值。

采用stringTie进行定量,运行速度快是一个优势,同时提供raw count, FPKM, TPM 3种定量方式的结果,也是其最便利的地方。

·end·

—如果喜欢,快分享给你的朋友们吧—

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 对已知转录本进行定量
  • 2. 组装本组装
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档