|
|
@@ -399,16 +399,10 @@ impl Sam {
|
|
|
let mut sequence = sequence;
|
|
|
let (mut ref_range, mut query_range, ref_cigar) = matched_range(&cigar, &flag, &mut sequence);
|
|
|
|
|
|
- // sam is 1-based
|
|
|
- // the range frames the sequence
|
|
|
-
|
|
|
- // the last position is excluded in rust ranges
|
|
|
- // [ref_range.start, ref_range.end[
|
|
|
- // in bam the positions are inclusives [start, end]
|
|
|
if is_reverse(flag) {
|
|
|
let len = ref_range.len();
|
|
|
ref_range.end = (ref_pos as usize) + 1;
|
|
|
- ref_range.start = ref_pos as usize + len ;
|
|
|
+ ref_range.start = ref_pos as usize + len - 1;
|
|
|
query_range.end = query_range.end - 1;
|
|
|
} else {
|
|
|
let len = ref_range.len();
|