Thomas 2 tahun lalu
induk
melakukan
d4ad9e7d3b
1 mengubah file dengan 27 tambahan dan 0 penghapusan
  1. 27 0
      src/lib.rs

+ 27 - 0
src/lib.rs

@@ -123,6 +123,33 @@ pub fn get_n_start(
     // Ok(start_positions.len())
 }
 
+pub fn get_n_start_end_qual(
+    bam: &mut rust_htslib::bam::IndexedReader,
+    chr: &str,
+    start: i32,
+    stop: i32,
+    mapq: u8
+) -> Result<usize> {
+    bam.fetch((chr, start, stop))?;
+
+    // let mut start_positions = Vec::new();
+    let mut n_start = 0;
+    for read in bam.records() {
+        let record = read.context(format!("eRR"))?;
+        let rstart = record.pos() as i32;
+        let rend = record.reference_end() as i32;
+        if rstart >= start && rstart < stop  || rend >= start && rend < stop {
+            if record.mapq() >= mapq {
+                n_start += 1;
+            }
+        }
+    }
+
+    Ok(n_start)
+    // Ok(start_positions.len())
+}
+
+
 pub fn range_depths(
     bam: &mut rust_htslib::bam::IndexedReader,
     chr: &str,