c++ - 从 van 文件中的第 m 个染色体中获取第 n 个读数

标签 c++ bioinformatics

我目前正在使用 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/

相关文章:

c++ - 在没有默认构造函数的类类型的 #define 中初始化大小的非静态成员数组

c++ - 为什么编译器在定义类似的模板特化时不会报错?

c++ - 在 C++ 中运行时在用户定义的类之间进行更改

c++ - Conan Debug 和 Release Build_Types 是否具有不同的包依赖性?

r - prcomp 和 ggbiplot : invalid 'rot' value

python - 如何比较 python 中两个 CSV 的列?

c++ - Boost 测试是动态链接还是静态链接?

python - 寻找一个python函数来查找字符串中最长的连续重复子串

awk - 容忍子集 .fastq 不匹配的 Grep

awk - 将多个文件的序列列表转换为 fasta