我目前正在使用 htslib(尽管我也可以使用 bamtools)并且能够通过类似 this 的方式获得连续读取但我很好奇如何编辑这段代码以从第 m 条染色体上读取第 n 条数据,而不是连续读取它。这可能吗?
最佳答案
您可以直接跳到第 m
个染色体,但您随后需要线性搜索第 n
个读数。
代替 sam_read1()
并给定一个 htsFile *
(bamFile
) 对应于名为 bamFileName
的文件,一个人会:
hts_idx_t *idx = sam_index_load(bamFile, bamFileName);
hts_itr_t *itr = sam_itr_queryi(idx, m, 0, hdr->targetLen[m]);
然后使用 sam_itr_next(bamFile, itr, b)
在 b
中获得连续对齐,这是一个 bam1_t*
。
关于c++ - 从 van 文件中的第 m 个染色体中获取第 n 个读数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43815754/