Stringtie的使用说明

参考文献:stringtie enables improved reconstruction of a transcriptome from rNA-seq reads
帮助文档:http://ccb.jhu.edu/software/stringtie/index.shtml?t=manual
另附参考文献:Transcript-level expression analysis of RNA-seq experiments with HISAT, StringTie and Ballgown
注意:第三篇文章中有完整的hisat2-stringtie-ballgown的代码,一定要看!

一、原理

摘要

1、二代测序产生了大量的短读段,对于转录组定量来说,通过将短读段组转成转录本是一个定量的方法
2、Stringtie应用了起源于最优化理论的网络流算法,与可选择的从头组装策略一起来将这些短读段组装成转录本
3、与目前其他的转录本组装软件相比,stringtie具有更精准的基因组装效果以及更好的基因表达估计,同时通过它获得的组装好的转录本的数目也比其它软件多。

背景

组装目前遇到的问题

1、RNA-seq产生了大量150bp左右的read
2、人类基因组中90%的多外显子蛋白编码基因和30%的ncRNA都具有可变剪切体
3、外显子可以在转录本间共享、由于旁系同源导致的模糊的read比对以及低表达的基因都会阻碍组装的进行
4、错误组装的转录本会进一步干扰isoform的表达量的估计
5、上述问题目前很多软件都有解决方案,如专注于转录本确定的Trinity、专注于表达定量的RSEM以及二者兼顾的Cufflink等
6、但有研究发现,上述软件即使确定了一个转录本的所有外显子,也很难把它们组装成正确的isoform的形式,同时多isoform的表达和新的剪切位点也会干扰这些软件的组装
7、目前解决转录组组装主要有两种策略1)reference/genome指导的组装,事先需要完成序列比对工作 ,如果使用双端测序的数据可以确定进一步提高组转成功率 2)没有参考的从头组装 这种组装可以帮助那些没有参考基因组的区域完成组装,但技术上实现更困难,因为存在多拷贝基因家族和表达水平上的变化以及可变剪切的影响,这种方法在精确性上不如上一种因此多用于没有参考基因组的物种的组装

Stringtie

1、Stringtie通过使用genome指导的组装的方法与从头组装的概念结合的新方法来改善转录组组装
2、Stringtie的输入不仅可以是经过比对的结果,也可以是Stringtie通过从头组装read所得到的contig,当这两种输入都用到的时候,我们下面称之为stringtie+SR
3、对于很多使用参考基因组辅助组装的方法,组装的的策略都是先对read进行cluter,然后建立一个graph model来推测每个基因所有可能的isoform,最终通过不同的graph的解析方法得到对转录本的组装结果
4、有名的cufflinks用的是overlap graph,该模型中nodes代表fragment,如果两个fragment存在overlap并存在兼容的剪切模式,则对应的node连接起来。其解析方法为一种保守的算法,可以产生能够解释所有read的最少的转录本,尽管这种方法很吸引人,但是它没有考虑到转录本的丰度并且对于某些isoform来说该方法没有办法组装!
5、stringtie采用了组装转录本和估计表达量同步进行的方法,这不同于cufflinks的先组装后定量的策略。
6、首先,stringtie将read聚成cluster,然后采用了splice graph,其中node代表外显子或外显子的一部分,path将graph中可能 的剪切现象都连起来,最终对每个转录本通过创建一个网络流的方法,利用最大流算法(maximum flow algorithm)估计转录本的表达量
7、最大流的问题是最优理论中的经典问题,但是目前还没有应用到转录本定量中。
8、与其它组装软件相比,stringtie具有很高的准确性和新型isoform的发现能力,其优势在于使用了网络流算法,同时stringtie也支持将read从头组装成更长的片段,这进一步提高了其组装的正确性
9、其另一个优势在于它的最优化策略,它平衡了每次组装中每条转录本的覆盖度,这样可以对组装算法产生一定的限制,因为在组装基因组时,覆盖度是很重要的一个参数因为它需要被用来限制算法,否则组装器可能将重复的片段错误地堆叠到一起,相似地转录组装也是如此,在isoform中的每一个外显子需要有相似的覆盖度,如果忽略这个参数可能会产生一些保守但是错误的转录本,其中含有大量剪切位点的基因组装起来尤其困难。

二、操作说明

Input:输入的文件必须是一个根据基因组位置排好序的BAM文件,可以是Tophat或Hisat2的输出文件,在通过samtools排序

命令行为:

stringtie <aligned_reads.bam> [options]*

常用参数说明

参数 描述
-G <ref_ann.gff> 使用注释好的gtf文件辅助组装,在-e未设置的条件下,输出中包括注释文件中的转录本和预测的新型转录本
-o [<path/>]<out.gtf> 输出文件的名字,最好是全路径,默认输出为标准输出
-l <label> 为输出的转录本设置前缀名,默认为STRG
-p <int> 线程数,默认为1
-A <gene_abund.tab> 对输出的gtf统计基因表达量,并以一个tab分割的文件输出,这里需要提交输出的文件名
-C <cov_refs.gtf> 对输出的gtf中属于-G提交的参考gtf的转录本统一输出到该文件,这里需要提交一个文件名
-B 是否需要输出Ballgown可以识别的文件,在-b设置的情况下,使用-o的路径输出
-b <path> 对Ballgown输出的文件指定一个路径保存
-e 我认为是最需要注意的参数!!只统计可以匹配-G提交的参考gtf中的转录本,不再对新的转录本做预测,这可以加快程序的运行速度
-m <int> 对预测的转录本设置最小长度,默认为200
stringtie --merge [options] gtf.list :转录组merge模式,在该模式下,Stringtie可以利用输入的一个gtf list并将他们中的转录本进行非冗余的整理。可以在处理多个RNA-seq样本的时候,由于转录组存在时空特异性,可以将每个样本各自的转录组进行非冗余的整合,如果-G提供了参考gtf文件,可以将其一起整合到一个文件中,最终输出成一个完整的gtf文件
参数 说明
-G <guide_gff> 提供的参考gtf文件,指导整合
-o <out_gtf> 输出文件名,默认是输出到标准输出中
-l <label></label> 输出的转录本前缀名,默认是MSTRG

三、实例

1、当对新型转录本有需求时

1)对每个样本单独进行转录本预测

注意不要设置-e参数!

ls -d SRR*|while read id;do input=$id/$id'.sorted.bam' ; output=$id/$id'.gtf' ;stringtie  -o $output -p 10 -G $gtf -B -l $id $input;echo $id ;done

2)merge

#做一个gtf.list
ls -d  SRR*|while read id ;do find ./ -path './'$id'*' -name *.gtf ;done >gtf.list

#对所有gtf merge
stringtie --merge  -p 10 -G $gtf  -o total_merged.gtf -l merge gtf.list

3)利用merge得到的gtf重新对各个样本做定量

注意这里一定要设置-e参数!

ls -d SRR*|while read id;do stringtie -e -A $id/$id'_gene_abund.tab' -C $id/$id'_cov_refs.gtf' -B -p 10 -G total_merged.gtf -o $id/$id'.merged.gtf' $id/$id'.sorted.bam' ;done

2、当不需要预测新型转录本时

注意,这里直接使用-e参数并且-G传递参考的gtf

ls -d SRR*|while read id;do stringtie -e -A $id/$id'_gene_abund.tab' -C $id/$id'_cov_refs.gtf' -B -p 10 -G $gtf -o $id/$id'.merged.gtf' $id/$id'.sorted.bam' ;done

教训分享:如果你面对一个本不需要预测新的转录本的课题,一定要按照第二中情况来,因为第一种情况预测得到的转录本会对你本身参考gtf中的关注的转录本进行稀释,导致你本来关注的转录本统计不到read!!!一定要注意!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容