|
|
@@ -391,7 +391,7 @@ 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 - 1;
|
|
|
+ ref_range.start = ref_pos as usize + len;
|
|
|
query_range.end = query_range.end + 1;
|
|
|
} else {
|
|
|
let len = ref_range.len();
|
|
|
@@ -586,10 +586,10 @@ impl Fasta {
|
|
|
}
|
|
|
fn get_sequence (&self, contig: &str, start: usize, end: usize) -> String { // end is included
|
|
|
// let start = start - 1;
|
|
|
- let end = end - 1;
|
|
|
+
|
|
|
let chr_index = self.fa.fai().tid(contig).expect("Cannot find chr in index");
|
|
|
if (end as i64 - start as i64) < (0 as i64) {
|
|
|
- let fv = self.fa.view(chr_index, end, start).expect("Cannot get .fa view");
|
|
|
+ let fv = self.fa.view(chr_index, end - 1, start + 1).expect("Cannot get .fa view");
|
|
|
revcomp(&fv.to_string().to_uppercase())
|
|
|
} else {
|
|
|
let fv = self.fa.view(chr_index, start, end).expect("Cannot get .fa view");
|