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. spark 学习_rdd常用操作

    [spark API 函数讲解 详细 ]https://www.iteblog.com/archives/1399#reduceByKey [重要API接口,全面 ] http://spark.apa ...

  2. is 和 as 运算符

    is和as运算符:is是判断是否是某个类型,返回true或falseo as Ren: 如果转换成功了,没问题:as 是用来转换如果没转换成功,不会报出错误,而是返回一个null值 例 实例化一个集合 ...

  3. BOS物流项目第十一天

    教学计划 1.在realm中进行授权 2.使用shiro的方法注解方式权限控制 a.  在spring文件中配置开启shiro注解支持 b.  在Action方法上使用注解 3.使用shiro的标签进 ...

  4. video 播放本地视屏

    var file = document.getElementById('file_video').files[0]; var url = URL.createObjectURL(file); docu ...

  5. 用R理解统计学

    1.随机变量( random variable)概念的引入 该数据来自杰克逊实验室.2组数据,每组12只老鼠,一组普通食物,另一组高脂肪(hf)饮食.几周后,科学家们称了每只老鼠的体重,得到了这个数据 ...

  6. mongodb 副本集部署

    1.安装三节点linux环境:196.168.1.111,196.168.1.112,192.168.1.113(三节点可彼此ping通) 2.三节点安装mongodb,参考https://blog. ...

  7. 算法之二分查找PK线性查找

    列表查找(线性查找) 本质就是列表的index() 顺序查找 也叫线性查找,从列表第一个元素开始,顺序进行搜索,知道找到元素或搜索到列表最后一个元素为止. 以下是示例代码: def line_sear ...

  8. Android笔记:ContextMenu

    ContextMenu,称为上下文菜单,也就是长按界面不放,弹出的菜单.使用ContextMenu有三个步骤: (1)调用registerForContextMenu()方法,为视图注册上下文菜单: ...

  9. 【模型】Toon Dragon

    下载地址:点击下载

  10. TCP粘包、拆包

    TCP粘包.拆包 熟悉tcp编程的可能都知道,无论是服务端还是客户端,当我们读取或发送数据的时候,都需要考虑TCP底层的粘包/拆包机制. TCP是一个“流”协议,所谓流就是没有界限的遗传数据.可以想象 ...