BWT算法在生物信息学中的应用(一)-算法的基本原理

BWT算法可以将原文本转换成相似文本,并且可以用其他技术进行压缩。
具体分为如下几个步骤:
编码:
1.循环移位
2.排序
3.输出最后一列,作为变换后的序列。
解码:
利用第一列和最后一列的关系,来还原出原始序列。

下面,以一段核酸序列作为例子,进行讲解,具体例子如下:
1. 假设原始序列如下图,我们在最后加入一个$表示结束位置。
这里写图片描述
2.进行循环移位,结果如下
这里写图片描述
3.进行排序,结果如下
这里写图片描述
4.最终,红色的序列L列作为我们的输出序列。后续数据压缩算法对L列进行压缩(这样的变换后,数据具有更好的压缩性能,具体原理,后续研究)。

解码:
解码规则按照下图中进行,具体有两个基本原则。
1.L列的第一个元素为原始序列的最后一个元素(因为$在该位置后面)。
2.F列中的每一个元素,都是其同一行中的L列的下一个元素。也就是L列是F列的前一个元素。
因此,我们可以根据L列得到倒序排列
L(0)[C] -> F(3)[C] -> L(3)[A] -> f(1)[A] -> L(1)[T] -> … …
最终得到序列 CATGCCA, 将该序列倒排过来,即得到初始序列ACCGTAC
这里写图片描述

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值