Skip to content

Commit 8cc2b43

Browse files
src/load_data_for_complexity.cpp: fixing a bug in setting endpoints of genomic intervals from BAM records
1 parent c063d4a commit 8cc2b43

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/load_data_for_complexity.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -768,8 +768,8 @@ load_coverage_counts_BAM(const uint32_t n_threads, const string &inputfile,
768768
if (not_mapped(aln))
769769
continue; // check that read is mapped
770770

771-
const hts_pos_t rlen = rlen_from_cigar(aln);
772-
const genomic_interval curr{get_tid(aln), get_pos(aln), rlen};
771+
const hts_pos_t len = rlen_from_cigar(aln);
772+
const genomic_interval curr{get_tid(aln), get_pos(aln), get_pos(aln) + len};
773773

774774
if (curr.tid != prev.tid) {
775775
if (chroms_seen[curr.tid])
@@ -778,8 +778,9 @@ load_coverage_counts_BAM(const uint32_t n_threads, const string &inputfile,
778778
}
779779

780780
if (size(curr) > max_width)
781-
throw runtime_error("found read width " + std::to_string(max_width) +
782-
"; increase max width");
781+
throw runtime_error("read " + string(bam_get_qname(aln)) + " covers " +
782+
std::to_string(size(curr)) +
783+
"bp; increase max width or reconsider data");
783784

784785
parts.clear(); // need new vec, but keep capacity
785786
split_genomic_interval(curr, generator, bin_size, parts);

0 commit comments

Comments
 (0)