0

我有一个 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

我需要阅读NM:i:0 AS:i:101 XS:i:0 RG:Z:group1我的 C++ 代码中的可选字段。我可以使用该htslib库来阅读除那些可选字段之外的所有内容。

htsib 库的源文件Github 上。不幸的是,我找不到可以读取这些字段的函数。

问:如何使用 htslib 读取可选字段?

4

1 回答 1

1

在 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]);
于 2016-07-01T08:41:45.390 回答