我是靠谱客的博主 闪闪机器猫,最近开发中收集的这篇文章主要介绍BWT表的双端匹配算法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题:reference:CGTCT;     read:GTC

由read的T开始去匹配,那么在bi-interval模型中他是怎么实现的呢?今天举例来具体复现一下。

先对reference取反:GCAGA

再对取反后的:reference颠倒位置:AGACG

reference 右移:

  1. CGTCTAGACG
  2. GCGTCTAGAC
  3. CGCGTCTAGA
  4. ACGCGTCTAG
  5. GACGCGTCTA
  6. AGACGCGTCT
  7. TAGACGCGTC
  8. CTAGACGCGT
  9. TCTAGACGCG
  10. GTCTAGACGC

排序:

  1. ACGCGTCTAG ~4
  2. AGACGCGTCT~6
  3. CGCGTCTAGA~3
  4. CGTCTAGACG~1
  5. CTAGACGCGT~8
  6. GACGCGTCTA~5
  7. GCGTCTAGAC~2
  8. GTCTAGACGC~10
  9. TAGACGCGTC~7
  10. TCTAGACGCG~9

BWT表建立完毕,从read(GTC)的中间碱基T开始匹配,

其Bi-interval为:[9,1,2]。

Forward匹配:

进T右边的C,即:TC(GA)

其Bi-interval为:[10, 6,1],根据算法更新的6。10为顺承更新。

进T左边的G,即:GTC(GAC)

其Bi-interval为:[8,6,1]

 

  • 匹配规则说明

c()表存的是以ACGT为首的碱基在bwt表中的位置,具体来看就是:C(A)=1;C(C)=3;C(G)=6;C(T)=9;

O()表存的是从0位置到I(p),有多少个a碱基。p表示上次匹配得到的碱基串,I(p)返回(1~10)范围内的一个位置。o表共有4*n个数据。

 

 

 

 

 

最后

以上就是闪闪机器猫为你收集整理的BWT表的双端匹配算法的全部内容,希望文章能够帮你解决BWT表的双端匹配算法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部