Bowtie2的安装与使用
 2017-06-15 18:58:52     342     0     0

Bowtie2用来快速比对短reads(50-100bp)与参考基因组,与常规的比对软件不同的是(如blast),Bowtie在比对比较短的reads(less than 1024 base) 与 较大的参考(基因组) 时效果更好,也更快。

许多其他的软件经常会调用Bowtie ,如常见的 TopHat , Cufflinks 等

  1. Read:      GACTGGGCGATCTCGACTTCG
  2. |||||  |||||||||| |||
  3. Reference: GACTG--CGATCTCGACATCG

与Bowtie1的区别

  1. For reads longer than about 50 bp Bowtie 2 is generally faster, more sensitive, and uses less memory than Bowtie 1. For relatively short reads (e.g. less than 50 bp) Bowtie 1 is sometimes faster and/or more sensitive. B

  2. Bowtie 2 supports gapped alignment with affine gap penalties. Number of gaps and gap lengths are not restricted, except by way of the configurable scoring scheme. Bowtie 1 finds just ungapped alignments.

  3. Bowtie 2 supports local alignment, which doesn't require reads to align end-to-end. Local alignments might be "trimmed" ("soft clipped") at one or both extremes in a way that optimizes alignment score. Bowtie 2 also supports end-to-end alignment which, like Bowtie 1, requires that the read align entirely.

  4. There is no upper limit on read length in Bowtie 2. Bowtie 1 had an upper limit of around 1000 bp.

  5. Bowtie 2 allows alignments to overlap ambiguous characters (e.g. Ns) in the reference. Bowtie 1 does not.

  6. Bowtie 2 does away with Bowtie 1's notion of alignment "stratum", and its distinction between "Maq-like" and "end-to-end" modes. In Bowtie 2 all alignments lie along a continuous spectrum of alignment scores where the scoring scheme, similar to Needleman-Wunsch and Smith-Waterman.

  7. Bowtie 2's paired-end alignment is more flexible. E.g. for pairs that do not align in a paired fashion, Bowtie 2 attempts to find unpaired alignments for each mate.

  8. Bowtie 2 reports a spectrum of mapping qualities, in contrast for Bowtie 1 which reports either 0 or high.

  9. Bowtie 2 does not align colorspace reads.

Bowtie2的参数与基因组索引(index of genome)的格式都与Bowtie1不同

Bowtie的一些参数解释(常见的),具体的见官方手册

End to end alignment versus local alignment

End to end (全局比对)举例:

local alignment example (局部比对)举例

默认情况下,Bowtie2进行全局比对,也称作 "untrimmed " or "unclopped" alignment 

也可以使用参数 --local 进行局部比对,此时Bowtie2 可能会 "trim" or "clip" 短序列的首部或者尾部来最大化比对分数,分数越高,相似度越高。

比对的具体计分规则

软件有默认的分数阈值,当一个比对的分数达到或超过这个阈值时,则认为是一个“有效” 的比对

全局比对默认值为:-0.6 + -0.6×read length

局部比对: 20 + 8.0 × ln(read length)

可以使用 --score-min 来设定阈值

Mapping quality : higher = more unique

因为基因组中存在着大量的重复序列,所以当一个read来自与多个重复或者相似的基因时,Bowtie2无法确定这个read到底来自于哪个基因。

所以Bowtie2用 mapping quality 来代表一个read来自于某个基因的确信度 :Q = -10 log 10p

在SAM文件中后缀为 MAPQ

align paired-end inputs

Bowtie2支持常见的由测序仪产生的paired-end or mate-pair reads,使用参数 -1   -2 来表示一对pair-end 也就是双端测序的reads,同时产生2个SAM文件。

参数 --ff --fr --rf用来指双端测序两个reads的方向

参数 -I /-X 来设定双端测序两个reads之间的距离(该设定会使Bowtie2的速度变慢),也叫作(outer distance

By default, Bowtie 2 searches for both concordant and discordant alignments, though searching for discordant alignments can be disabled with the --no-discordant option.

所以当pair-end 没有匹配时,会将reads当做非paired-end来再次进行比对

使用参数 --no-mixed 来取消这一默认设定

结果解读

通常情况下,Bowtie2在寻找到一个有效比对后,还会继续寻找分值相等或者更高的比对(贪婪),reads可能map到多个不同位置,而Bowtie2只会输出分值最高的一个。当有多个分值相同的比对时,使用产生“伪随机数”的方法来决定输出哪一个

参数:-D   设置动态规划问题的上限

参数:-R   设置Bowtie2 继续寻找的最大时间         (一般不要修改,可能会错失比对)

参数 -k  会报告每一个找到的有效比对,后加整数可以规定数目,找到的比对没有特定的顺序

参数 -a 报告每一个找到的有效比对,不加上限

Ambiguous characters

除了"ACGT"意外的任意非空白字符都被认为是 "ambiguous"。

"N"是参考基因组常见的一个 ambiguous字符,Bowtie2将参考基因组的所有ambiguous字符都当做"N"

参数 --np/ --n-ceil 设置允许ambiguous字符的上限

Bowtie2本身包含了许多预设,见documentation for the preset options

Bowtie2的安装与使用的更多相关文章

  1. bowtie2 Linux安装

    目前最新版本为2.3.2,网址为:https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.3.2 安装分为简单的下载可执行文件和源编译安 ...

  2. 安装生物信息学软件-bowtie2

    好吧,这是本周(2016.10.21-28)的学习任务之一:安装bowtie2并学习其使用方法&参数设置 所以,啃文档咯,官方文档Version 2.2.9 http://bowtie-bio ...

  3. 安装生物信息学软件-MetaPhlAn2

    上周20161021-20161028的任务还没有搞完,所以今天来填坑(微笑脸) ××××××××××××××××××××我是萌萌哒分割线××××××××××××××××××××××××××××××× ...

  4. 安装生物信息学软件-Samtools

    装完Bowtie2,官方文档给出的栗子说可以玩一玩samtools,所以我入个坑 参考这篇http://m.010lm.com/roll/2016/0620/2343389.html Step 1: ...

  5. tophat安装

    1     依赖软件:bowtie,bowtie2,samtools,boost c++ library 2     建立索引文件:      bowtie包括bowtie,bowtie-build, ...

  6. 生物信息学工具--bowtie&bowtie2

    Bowtie和Bowtie2使用 [怪毛匠子整理] Source URL: http://www.bbioo.com/lifesciences/40-112837-1.html Bowtie和Bowt ...

  7. 30、 bowtie和bowtie2使用条件区别及用法

    转载:http://blog.csdn.net/soyabean555999/article/details/62235577 一.转录组还是基因组? map常用的工具有bowtie/bowtie2, ...

  8. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  9. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

随机推荐

  1. 微信小程序生命周期——小程序的生命周期及页面的生命周期。

    最近在做微信小程序开发,也发现一些坑,分享一下自己踩过的坑. 生命周期是指一个小程序从创建到销毁的一系列过程. 在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面. 首先来 ...

  2. vue 解决页面闪烁问题

    watch: { //监听表格数据的变化[使用 watch+nextTick 可以完成页面数据监听的 不会出现闪烁] tableData: { //深度监听,可监听到对象.数组的变化 handler( ...

  3. 仿造mongodb的存储方式存一些假数据

    //存入数据 $data = json_encode($row); // 过滤 $data = addslashes($data); //读取数据 $falseData = stripslashes( ...

  4. arguments对象的callee属性和caller属性

    js中的arguments对象代表正在执行的函数和调用它的函数的参数.arguments对象有两个属性,callee和caller.collee表示当前正在执行的方法,caller表示调用该方法的对象 ...

  5. 备份u盘kali系统

    把kali系统装在u盘上,会带来极大的便利,只要有网有机就能随时随地hacking,但是u盘体积太小极易丢失,所以需要对其备份以备万一. 一般kali启动U盘分为两个区:启动区和文件存放区.如下图 我 ...

  6. Spring 学习笔记

            Spring 的 Ioc 容器 所有的组件都是被动的( Passive),所有的组件初始化和调用都由容器负责.组件处在一个容器当中,由容器负责管理. BeanFactory 根据配置文 ...

  7. AVL树与红黑树(R-B树)的区别与联系

    AVL树(http://baike.baidu.com/view/593144.htm?fr=aladdin),又称(严格)高度平衡的二叉搜索树.其他的平衡树还有:红黑树.Treap.伸展树.SBT. ...

  8. TCL脚本语言基础介绍

    Tcl简介(一):Tcl 语法 Tcl 语法 Tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以释运行,其强大的功能和简单精妙的语法会使你感到由衷的喜悦,这片文章对 Tcl有很好的描述和说明.如 ...

  9. ionic创建工程中遇到异常、错误及解决方法

    1. 创建工程——download failed ionic start myApp tabs 遇到如下错误 Downloading--Failed! Error:Timeout of 25000ms ...

  10. stark组件之pop操作【模仿Django的admin】

    一.先看下什么django的admin的pop到底是个什么东西 其实就是这么一个东西, a.在添加页面,在一对多和多对多的项后加了一个+号 b.点击这个加号,会弹出对应的添加 页面,在新的添加 c.添 ...