我使用htslib
库来读取SAM / BAM文件,它完美无缺。我也可以将对齐写回新的SAM / BAM文件。
例如,以下代码打印对齐的DNA序列:
bam1_t *b = ...;
int i;
for (i = 0; i < b->core.l_qseq; ++i) {
printf("%c", seq_nt16_str[bam_seqi(bam_get_seq(b),i)]);
}
问题:如何更改查询序列?比如说,将第一个字母更改为&#39; T&#39;? bam_get_seq
返回读取的序列,但没有bam_set_seq
函数?理想情况下,我正在寻找类似的东西:
bam_set_seq(b, 'TTTT') # My new DNA sequence
如果我能弄清楚如何进行更新,我知道如何将信息写入新的SAM / BAM文件。