(基因分析黑科技)基于基数排序算法实现的samtools sort

Posted 生信开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(基因分析黑科技)基于基数排序算法实现的samtools sort相关的知识,希望对你有一定的参考价值。

        samtools sort的默认内排序算法是来自klib中ksort.c里的ks_mergesort。其实有很大改进提速空间。本人的小伙伴xubl实现了一个基数排序算法,本人在此做了代码整理,既有独立的bamRadisSort,同时也实现了与samtools的无缝整合(可将本人github下的bam_sort.c替换原生samtools的bam_sort.c然后再编译samtools,这样编译出来的samtools sort就是基于基数排序),编译后相比samtools 至少提速30%以上,结果无差别。


        代码已开源在github上,有兴趣的可下载编译后测试下,测试的同学注意下内存分配问题,原则上内存足够的话,内存排序速度是要远大于外排序的。



https://github.com/xiongxu/bamRadixSort


        

以上是关于(基因分析黑科技)基于基数排序算法实现的samtools sort的主要内容,如果未能解决你的问题,请参考以下文章

数据结构学习笔记——基数排序和排序算法总结

数据结构学习笔记——基数排序 | 排序算法总结

数据结构学习笔记——基数排序 | 排序算法总结

插入排序(直接插入排序希尔排序);交换排序(冒泡排序快速排序);选择排序(简单选择排序堆排序);归并排序和基数排序;基于关键词比较的排序算法下界分析

算法与数据结构

常见排序算法导读(10)[基数排序]