Thomas 2 years ago
parent
commit
7e9a14ffa3
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/lib.rs

+ 3 - 2
src/lib.rs

@@ -380,7 +380,7 @@ pub struct Sam {
 impl Sam {
     pub fn new(query_name: String, flag: i32, ref_name: String, ref_pos: i64, cigar: String, sequence: String, fa: &Fasta) -> Self {
         let mut sequence = sequence;
-        let (mut ref_range, query_range, ref_cigar) = matched_range(&cigar, &flag, &mut 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
@@ -391,7 +391,8 @@ impl Sam {
         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(); 
             ref_range.start = ref_pos as usize;