htslib 的使用( C++ 处理BAM文件)

2021-11-09  本文已影响0人  茄子_0937

背景

在处理NGS 数据时,尤其是突变的检测。我们需要对bam 文件进行读写。 目前有相对方便的库 pysam 和 htsjdk ,这两个库提供的api 可以方便python 和java 读写,操作BAM。

随着测序深度的提高,尤其是UMI技术的普及,上万层的测序数据下,我们需要提高分析软件的效率,C++是比较好的选择。

C++ 中可以读写BAM 的库有 htslib 、bamtools、Seqan3 等。Seqan3的文档信息比较全,但是我使用文档中的测试案例发现,速度很慢(也许是我打开方式有问题?);bamtools 和 htslib 的效率挺好的,但是都缺乏详细的文档,用起来真的头大。

本文,粗略的学习了htslib sam.h sam.c 部分的代码,以及参考了陈师傅的gencore 代码,总结了一些htslib的使用方法。(pileup 部分好难,略过~)

C++ 代码

上一篇 下一篇

猜你喜欢

热点阅读