介绍
samtools用来处理SAM/BAM文件,包括htslib,samtools,bcftools,pysam是python语言对samtools的封装,有着完整的说明文档。但是如果要用C/C++来操作SAM/BAM文件,一定要了解htslib库,我查了很多资料,关于htslib库的说明很少,基本都要靠看源代码,以下总结一些源代码的用法,能够快速学会并使用sam.h。
使用
1. 代码阅读
typedef struct
{
mplp_aux_t *array;
bam_mplp_t iter;
int n;
int *n_plp; //每个平台的reads num
const bam_pileup1_t **plp; //每个平台在某个位点的所有reads
faidx_t *fai;
} mpileup_group_t;
malp_aux_t
//每个bam文件
typedef struct
{
/* data */
samFile *fp; //文件指针
hts_itr_t *iter; //每次返回一条比对结果
hts_idx_t *idx; //所以
bam_hdr_t *h; //头部信息
} mplp_aux_t;