如何使用 SAMtool htslib 库读取可选信息字段
How to use SAMtool htslib library to read optional info fields
我有一个 BAM 文件:
ERR174327.487900 99 chr9 80320323 60 101M = 80320752 530 AGGGACATTGGTCCAAAAGGTTTTAATTAACCATACACCCTGCTCTACAAATCTAAAAAACTGTAGGACAGTATTTTGAGTCTCCAAGTATCCAGTGATAA CCCFFFFFHHHHFIJJJJJJGIJJJJJJJJJJJJJJJJIJIJJJJJIIJJJIJIJJJJJJJGICEHIHFHH=BFFADFFDCCCDCDDDCCCDADC@>ADC@ NM:i:0 AS:i:101 XS:i:0 RG:Z:group1
我需要读取我的 C++ 代码中的可选字段 NM:i:0 AS:i:101 XS:i:0 RG:Z:group1
。我可以使用 htslib
库来读取除那些可选字段之外的所有内容。
htsib 库的源文件位于 Github 上的 here。不幸的是,我找不到可以读取这些字段的函数。
问:如何用htslib读取可选字段?
在bam.h
/*!
@abstract Retrieve data of a tag
@param b pointer to an alignment struct
@param tag two-character tag to be retrieved
@return pointer to the type and data. The first character is the
type that can be 'iIsScCdfAZH'.
*/
static inline uint8_t *bam_aux_get_core(bam1_t *b, const char tag[2]);
我有一个 BAM 文件:
ERR174327.487900 99 chr9 80320323 60 101M = 80320752 530 AGGGACATTGGTCCAAAAGGTTTTAATTAACCATACACCCTGCTCTACAAATCTAAAAAACTGTAGGACAGTATTTTGAGTCTCCAAGTATCCAGTGATAA CCCFFFFFHHHHFIJJJJJJGIJJJJJJJJJJJJJJJJIJIJJJJJIIJJJIJIJJJJJJJGICEHIHFHH=BFFADFFDCCCDCDDDCCCDADC@>ADC@ NM:i:0 AS:i:101 XS:i:0 RG:Z:group1
我需要读取我的 C++ 代码中的可选字段 NM:i:0 AS:i:101 XS:i:0 RG:Z:group1
。我可以使用 htslib
库来读取除那些可选字段之外的所有内容。
htsib 库的源文件位于 Github 上的 here。不幸的是,我找不到可以读取这些字段的函数。
问:如何用htslib读取可选字段?
在bam.h
/*!
@abstract Retrieve data of a tag
@param b pointer to an alignment struct
@param tag two-character tag to be retrieved
@return pointer to the type and data. The first character is the
type that can be 'iIsScCdfAZH'.
*/
static inline uint8_t *bam_aux_get_core(bam1_t *b, const char tag[2]);