Thomas 2 жил өмнө
parent
commit
65ed852ee7
1 өөрчлөгдсөн 17 нэмэгдсэн , 13 устгасан
  1. 17 13
      src/lib.rs

+ 17 - 13
src/lib.rs

@@ -490,12 +490,14 @@ impl NeoContig {
             let mut l = ref_spaces.clone();
             let ref_cigar = self.alignments[0].ref_cigar.as_bytes();
             
-            let mut filtered_ref: Vec<u8> = self.alignments[0].ref_sequence
-            .as_bytes()
-            .iter().enumerate()
-            .filter(|(i, _)| ref_cigar[*i] == b'M')
-            .map(|(_, c)| *c)
-            .collect();
+            // let mut filtered_ref: Vec<u8> = self.alignments[0].ref_sequence
+            // .as_bytes()
+            // .iter().enumerate()
+            // .filter(|(i, _)| ref_cigar[*i] == b'M')
+            // .map(|(_, c)| *c)
+            // .collect();
+
+            let mut filtered_ref = self.alignments[0].ref_sequence.clone().as_bytes().to_vec();
 
             l.append(&mut filtered_ref);
             lines.push(l);
@@ -574,12 +576,14 @@ impl NeoContig {
             let mut l = ref_spaces.clone();
             let ref_cigar = self.alignments[1].ref_cigar.as_bytes();
             
-            let mut filtered_ref: Vec<u8> = self.alignments[1].ref_sequence
-            .as_bytes()
-            .iter().enumerate()
-            .filter(|(i, _)| ref_cigar[*i] == b'M')
-            .map(|(_, c)| *c)
-            .collect();
+            // let mut filtered_ref: Vec<u8> = self.alignments[1].ref_sequence
+            // .as_bytes()
+            // .iter().enumerate()
+            // .filter(|(i, _)| ref_cigar[*i] == b'M')
+            // .map(|(_, c)| *c)
+            // .collect();
+            let mut filtered_ref = self.alignments[1].ref_sequence.clone().as_bytes().to_vec();
+
             l.append(&mut filtered_ref);
             lines.push(l);
         }
@@ -698,7 +702,7 @@ fn matched_range (cigar: &str, flag: &i32, matched_seq: &mut str) -> (Range<usiz
     }
 
     let all_op = vec!["M", "I", "D", "N", "S", "=", "X", "H", "P"];
-    let consumes_query = vec!["M", "I", "S", "=", "X", "H", "D"];
+    let consumes_query = vec!["M", "I", "S", "=", "X", "H"];
     let consumes_ref = vec!["M", "D", "N", "=", "X"];
 
     let mut range_query:Range<usize> = Range::default();