基于BWT算法的比对软件原理解析(BWA & Bowtie & Bowtie2)

参考:
踏踏实实做技术:BWA,Bowtie,Bowtie2的比对算法推导

mapping pipline

mapping pipline

remove multiple mapping reads的方法

CHIP-seq: Bowtie2、BWA用的比较多
RNA-seq: Tophat、Bsmap
甲基化:BS-seeker

其中BWA & Bowtie & Bowtie2软件均是基于BWT算法

二代测序的特点:
1. 短 250bp
2. 相对较高的精度 1% = Q30(不懂)

三代测序的特点:
1. 长,有structure variation (这也是为什么要做三代测序算法开发的原因之一)
2. 不稳定

1. pairwise alignment

global---NW
local--SW

1. backtrack算法:
$ bwa aln genome read1.fq > aln_sa1.sai
$ bwa aln genome read2.fq > aln_sa2.sai
$ bwa samse genome aln_sa1.sai read1.fq > aln_se.sam
$ bwa sampe genome aln_sa1.sai aln_sa2.sai read1.fq read2.fq > aln_pe.sam

2. 比对算法原理:
BWT算法
Seq1
Seq2
两条序列比对:pairwise alignment方法
全局比对:NM算法 局部比对:SW算法

3. 比对到reference基因组的方法:
1)在seq中取出一个较小的seed(30bp?)
2)通过seed找到ref的index,通过index去和附近的序列做pairwise比对
3)通过seed找ref的index的过程有两个算法(短序列比对到基因组)

- 华大SOAP,MAQ。将基因组打断成小段,将位置和序列存成HASH字典。
- BWA,bowtie算法。解决速度问题。

BWT算法:
raw:ACAACG 添加$
M矩阵:
ACAACG$  平移
$ACAACG
G$ACAAC
CG$ACAA
ACG$ACA
AACG$AC
CAACG$A 
M首字母进行排序
T矩阵:
$ACAACG
AACG$AC
ACAACG$
ACG$ACA
CAACG$A
CG$ACAA
G$ACAAC 
T矩阵第一列为F列,最后一列为L列

F列: $AAACCG
L列: GC$AAAC 
关系:对应L是F的前一个。L排序得到F。单字母相对位置不变(L中的第一个C对应F第一个C,以此类推。)
保留L和L中每一个字母的相对位置,1.L可以推出F。2.根据L、F相对位置可以还原ref
image.png

好处是能够穷举出所有的比对情况,所以可以选择全局最优的结果;最大的缺点是比对的非常慢。

2.将query seq打断成seed,比对ref index经历了两代算法

1. 第一代:华大基因--SOAP MAQ  # 缺点是内存占用大,慢,但是找的准
2. 第二代:BWA,Bowtie,Bowtie2 # 解决了速度慢的问题
image.png

3.BWT 最初用于数据压缩

BWT(Burrows-Wheeler Transform )

假设原始的序列是
(1)Raw ACAACG # 压缩后能还原,且比对次数尽可能少

第一步,在raw seq中加$符号,并平移,形成一个 raw matrix


image.png

第二步,根据Raw Matrix的首字母进行排序,得到转换矩阵Matrix’,默认$符号排在第一位,


image.png
第一列为First 列,F列
最后一列为Last列,L列

F和L的关系

  1. F是L的前面一列;
  2. 对L拍完序以后就是F;
  3. 单字母的相对位置不变

所以最后只用保存L列和每个字母的相对位置就可以了,根据L列和每个字母的相对位置可以干两件事情:

  1. 推出F列
  2. 根据L和F列的相对位置可以完整地还原ref相对位置

例如:第一个是L-,L-对应F-;F-的前一个是G,L-G对应F-G;F-G的前一个是L-C,依次类推,得到原来的ref:ACAACG$

image.png

image.png
image.png

bowtie和bowtie2两个版本之间的区别--gap

1. bowtie/BWA # bowtie只允许mismatch,不允许gap;BWA都允许
2. 用bowtie的话是看不到gap open的

bowtie1 不支持gap open

14bp(high quality)---14bp(low quality of high quality)--8bp(real low quality)
分成三断seed,seed1+seed2比对总共的mismatch <= 2,则继续8bp的比对;如果 > 2 直接放弃后面的比对;

bowtie2 支持gap open

第一步,选择seed区域;
20里面选18---
(18+2)+(18+2)+(18+2)+...+(18+2)
保证一个fragment是20,seed 是18bp
或者,10里面选16--
fragment = 16,overlap = 6,


image.png

那么根据BWT算法,就把拆分的seed mapping到基因组的大概位置;
然后把基因组可能mapping上的那段区域挑出来,和query seq做比对(用NW或者SW算法),因为query seq NW和SW允许gap open

image.png

注意

  1. 根据gap或者reads quality罚分得到MAPQ,当MAPQ高于一个阈值是认为可以比对上的,低于阈值就认为比对不上,那如果有20个高于阈值的就认为有20个比对结果。

  2. unique map
    1)只有一个seq map上
    2)只有一段MAPQ特别高,其他的MAPQ特别小,
    这两种情况认为是unique map
    只有一个map的结果怎么处理;

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