Получите nth чтение из mth хромосомы в файле van

В настоящее время я использую htslib (хотя я мог бы также использовать bamtools) и могу получать последовательные чтения через что-то вроде этот но мне любопытно, как я мог бы отредактировать этот код, чтобы получить n-е чтение из m-й хромосомы, а не читать его последовательно. Это возможно?

1

Решение

Вы можете прыгнуть прямо к 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*,

0

Другие решения

Других решений пока нет …