很遗憾,这回到北京没空出来玩(在远郊,每天课程都排得满满的
)。
今天刚刚发现算法中的一个错误——片断偏移量的符号弄反了,纠正之后,在没有误差的
情况下,初步匹配形成的大片断数从100-200锐减至不到20:
初步片断拼接消耗时间:3.17 秒
[初步片断拼接信息]
可拼接片断数=8739
最小匹配对数=6
稀疏索引间隔=5
被成功拼接的片断数=8739
成功拼接片断比率=100.00%
最小吻合比率=95%
拼接过程中的无效匹配数=0
拼接后形成大片断数=15
大片断中的的片断总数=14607
平均每个大片断中的片断数=973.80
拼接片断消耗时间:0.00 秒
我现在对算法的原理进行形象化的描述:
现有两个DNA片断A、B。通过对它们进行索引分析,我们发现它们有超过100个索引是相同
的,可以对它们进行进一步的片段匹配分析。
分析过程中,我们发现在它们的索引交集之中,有十几个索引在A,B中的分部的相对位置
都是一致的:
索引 在A中的位置 在B中的位置
[CATCTTCCATC] 50 320
[TAACGATCTGA] 58 328
[TGTCCTGTTTT] 459 729
[CATCTTCCATC] 124 394
[CCCTTGATTCG] 781 1051
... ... ...
由于匹配对数已经达到索引的最小匹配对数,我们可以初步认为B相对于A的偏移量为:50-
320=-270。
为了进一步确认,最大限度的消除误差的影响,我们对这两个片断的重合部分进行匹配统
计,发现两个片断总共854个位置重叠的元素中,共有847个元素是相同的,已经达到了95%
以上的可信匹配比率。
经过这几道关卡,我们完全可以认为,DNA片断A,B有重合的部分,并且B相对于A的偏移量
是-270。
以上面的匹配算法为基础,我们可以通过一个种子片断,通过匹配连结,最终获得由成百
上千个片断组成的大片断。
正在处理最后的大片断的连接部分。(出差期间没有写程序,耽误了一些时间,见谅!)