HISAT,sTRINGTIE,ballgown三款RNA-seq信息分析软件

2015年04月02日 11:35:47 夜丘 阅读数:8940 标签: 生物 更多

个人分类: 论文笔记
 

Bowtie 里的FM-index 简介

原文链接:http://m.blog.csdn.net/blog/stormlovetao/7048481

最近看新发表的几篇RNA-seq比对,组装的软件,发现HISAT里面也用到了FM-index这个算法,所以就找了一下,原博文链接如上所示,说的很是透彻

另外StringTie用到的算法叫做流神经网络,我发现在chinablog上也有一篇文章详细的介绍,这里就转帖出来

下面是我对这几篇文章的一个粗略的总结,有兴趣的可以看一下,不能保证总结的就对或者完整,权当是一个参考吧,如果哪里错了,欢迎指出错误指出
##############################################
HISAT:
1:index算法基于BWT和以BWT为基础的FM index: FM 算法是以BWT为基础,在计算的过程中加了两个参数,一个是OCC,
Occ[c,r]表示在BWT(T)中第r行之前出现字符c的个数,因为如果把整个基因组存进去,每次都要重头数一遍,消耗量太大,所以是以几百行为一组为一个check point,这样内存就小了,也方便检索;另外一个是SA, 记录第r行在参考基因组中是什么位置,这个过程是在BWT操作中实现的
2:建立index的方式:全基因组FM index和局部index(特色,新的建索引库策略)核心算法会用到tophat3上
HISAT在基因组范围内有48000个局部FM index
每个长度64k,通过测试数据和真实数据的比较,发现这是一个最快的软件
HISAT的基本设计原理:
HISAT利用bowtie2来建立很多低水平结果的FM index,这些index包含两种类型:1:全基因组index;2:大量的小FMindex,每个代表64k,也因为建了很多小的index,所以总的内存使用情况也较低
3 :100bp的reads至少跨越两个exon的占34.5%,分为三类:1:每个外显子至少16bp(25.1);每个外显子8-15bp(5.1),每个外显子1-7bp(4.2);
另外跨越三个的3.1%。针对每种reads都有相应的比对策略
基本的比对策略的思想是先在众多index中找,如果比对上多个地方,就往两边延伸;
4:基本的性能对比
速度:110,193条reads/s, tophat 1,954
利用模拟数据正确比对率(99.2%),tophat2(97.4)
在跨越2个exon,只有1-7bp的reads来说,
  uniq比对率HISAT(94.4)tophat2(77.8)
另外敏感度和准确性
HISAT(97.3,94.8) Tophat2(90.6,82.6)
100bp,20M的reads
用时26.7min,tophat2 1170分钟
 
#############################
1:StringTie和Cufflinks算法对比
cufflinks parsimony算法  (简约算法):生成最少的亚型
说这种算法没有考虑转录丰度,在isoforms方面算的不准。其在算表达量的时候,按照图上的说法是用了最大似然冗余算法。
stringTie先将reads分为不同的类,然后再针对每个类的reads生成一个拼接图来确定转录本,之后每个转录本产生一个流神经网络的最大流算法来评估表达水平
这个算法的意思对应过来就是在一个基因处的若干个转录本,如何分配reads的数目才能让每个转录本的数目都处在最多的状态,发的链接上是用了一个工厂的例子。
这个算法是求解最优化的,在这篇文章上也是第一次用。
2:在RNA组装方面优劣势对比
在组装方面StringTie具有一些优势,在低表达的部分,阈值过滤5%的StringTie比阈值过滤10%的准确度和敏感度还要高(这里的准确度和敏感度是把原始数据随机抽取出来一部分数据,看看这两组随机抽出来的数据的重合度如何和ROC是一个事情)
关于组装效果,StringTie要好于cufflinks,同时他们又远远好于其他软件,就组装错误而言,文章上列举了一个例子,即附表四,cufflinks预测出来的FPKM值可以到293509.68,而StringTie最大是935,这个问题,我们在项目处理中也遇到过
3:性能对比
时间上来说:StringTie 30min      cufflink 81min 其他更多
真实数据测试35-76分钟,比其他快3倍
内存比cufflink少一半
找出来的基因中,cufflink找出来的70%在StringTie中有重合,相比于cufflink,StringTie在基因重构方面对三种类型的基因更有效,分别是:低冗余,高exon数目,和多重转录本。
按照作者的说法,StringTie之所以能取得好的效果,是因为模型中有个求最有的过程;其可以通过
转录组的每个组装平衡覆盖度,算法自己可以通过合并覆盖到的深度来限制组装。
作者倒是希望通过StringTie来取代cufflink
 
########################################
 
关于tablemaker和ballgown
tablemaker的设计是为了处理cufflinks和cuffmerge的结果,一遍后面用ballgown处理,不过按照文章上说的ballgown也可以直接输入,可以是针对StringTie的结果
ballgown是一个R脚本,用来分析差异结果的,差异分布的结果是基于F-test来检测的,和我们以前用的有些不同;
就测试内存而言,cuffdiff用148G6 9个小时,而ballgown用18秒8G,
 
就差异结果而言,cuffdiff更保守一些,文章中用了一个例子,就是男性Y染色体的表达量数据和女性落到Y染色体的表达量数据对比,ballgown可以起到很好的效果,而cuffdiff找到的差异基因少。
 
所有这些软件的开发目的就是为了能在笔记本上跑开生物程序

HISAT,sTRINGTIE,ballgown三款RNA-seq信息分析软件的更多相关文章

  1. NGS NGS ngs(hisat,stringtie,ballgown)

    NGS ngs(hisat,stringtie,ballgown) #HISAT (hierarchical indexing for spliced alignment of transcripts ...

  2. 三款SDR平台对比:HackRF,bladeRF和USRP

    这篇文章是Taylor Killian今年8月发表在自己的博客上的.他对比了三款平价的SDR平台,认为这三款产品将是未来一年中最受欢迎的SDR平台.我觉得这篇文章很有参考价值,简单翻译一份转过来.原文 ...

  3. [转载]三款SDR平台对比:HackRF,bladeRF和USRP

    这篇文章是 Taylor Killian 13年8月发表在自己的博客上的.他对比了三款平价的SDR平台,认为这三款产品将是未来一年中最受欢迎的SDR平台.我觉得这篇文章很有参考价值,简单翻译一份转过来 ...

  4. HISAT2+StringTie+Ballgown安装及使用流程

    HISAT2+StringTie+Ballgown安装及使用流程 2015年Nature Methods上面发表了一款快速比对工具hisat,作为接替tophat和bowtie的比对工具,它具有更快的 ...

  5. 转录组分析---Hisat2+StringTie+Ballgown使用

    转录组分析---Hisat2+StringTie+Ballgown使用 (2016-10-10 08:14:45) 转载▼ 标签: 生物信息学 转录组   1.Hisat2建立基因组索引: First ...

  6. 三款不错的图片压缩上传插件(webuploader+localResizeIMG4+LUploader)

    涉及到网页图片的交互,少不了图片的压缩上传,相关的插件有很多,相信大家都有用过,这里我就推荐三款,至于好处就仁者见仁喽: 1.名气最高的WebUploader,由Baidu FEX 团队开发,以H5为 ...

  7. .Net 三款工作流引擎比较:WWF、netBPM 和 ccflow

    下面将对目前比较主流的三款工作流进行介绍和比较,然后通过三款流程引擎分别设计一个较典型的流程来给大家分别演示这三款创建流程的过程.这三款工作流程引擎分别是 Windows Workflow Found ...

  8. 三款经常使用IP发包工具介绍

    AntPower 版权全部© 2003 技术文章http://www.antpower.org 第1 页共14 页AntPower-技术文章三款经常使用IP 发包工具介绍小蚁雄心成员郎国军著lgj@q ...

  9. 关于Linode、Digitalocean、Vultr三款美国VPS服务商的用户体验

    曾几何时,虽然我们在海外VPS服务商中也可以看到各种大大小小的商家,但是真正能让Linode这样高富帅有竞争力的还真不多,这不当初在Linode商家512MB内存方案卖20美元一个月的时候,还是有很多 ...

随机推荐

  1. Python自动化运维开发实战 三、python文件类型

    导语: python常用的有3种文件类型 1. 源代码 py 2. 字节代码 pyc 3. 优化代码 pyo 源代码: python源代码的文件以”py"为扩展名,由python程序解释,不 ...

  2. servlet中的执行顺序

  3. 初识C语言中的函数(男神翁凯老师MOOC)

    什么是函数? 函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值. 可以先想象成数学中的函数: y=f(x) 例如 求begin到end和的函数定义 void sum(int begi ...

  4. yii基础控制器安全验证

  5. location search的中文加密

    最近项目中遇到一个这样问题,在页面跳转时,追加了location.search,有中文字符,但是在分享第二次时,这个链接无法获取中文字段,变成乱码. 仔细对比,发现在页面分享时,浏览器自动对中文进行了 ...

  6. linux服务器中Jenkins集成git、Gradle持续构建Springboot项目

    Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器中使用Jenkins自动发布一个可作为linux服务发布的Springboot项目. 自动 ...

  7. javascript中所有函数的参数都是按值传递的

    [javascript中所有函数的参数都是按值传递的] 参考:http://www.jb51.net/article/89297.htm

  8. javascript学习笔记(六):对象、内置对象

    创建对象 对象属性赋值的方式 <!DOCTYPE html> <html> <head lang="en"> <meta chaset=& ...

  9. H5前端框架推荐合集 (转)

    Ionic ionic 吧开发流程都帮你做好了,已经不再是单纯的UI框架,而是开发框架了,非常适合快速开发.基于angular2,丰富的UI组件,大大改进的编程模型, Semantic UI 中文官网 ...

  10. CentOS ln 链接

    ln -s /u01/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus/ /usr/bin (解决bash: sqlplus: command not fo ...