|
@@ -676,6 +676,10 @@ pub fn bam_compo(file_path: &str, sample_size: usize) -> Result<Vec<(String, f64
|
|
|
Ok(rgs
|
|
Ok(rgs
|
|
|
.into_iter()
|
|
.into_iter()
|
|
|
.map(|(rg, n)| (rg.to_string(), n as f64 * 100.0 / sample_size as f64))
|
|
.map(|(rg, n)| (rg.to_string(), n as f64 * 100.0 / sample_size as f64))
|
|
|
|
|
+ .map(|(rg, p)| {
|
|
|
|
|
+ let (a, _) = rg.split_once('_').unwrap();
|
|
|
|
|
+ (a.to_string(), p)
|
|
|
|
|
+ })
|
|
|
.collect())
|
|
.collect())
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -799,6 +803,13 @@ mod tests {
|
|
|
let start = 21_820_000;
|
|
let start = 21_820_000;
|
|
|
let stop = 23_000_000;
|
|
let stop = 23_000_000;
|
|
|
|
|
|
|
|
|
|
+ let id = "SALICETTO";
|
|
|
|
|
+ let chr = "chr10";
|
|
|
|
|
+ let start = 91_000_000;
|
|
|
|
|
+ let stop = 104_000_000;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
let result_dir = "/data/longreads_basic_pipe";
|
|
let result_dir = "/data/longreads_basic_pipe";
|
|
|
let diag_bam_path = format!("{result_dir}/{id}/diag/{id}_diag_hs1.bam");
|
|
let diag_bam_path = format!("{result_dir}/{id}/diag/{id}_diag_hs1.bam");
|
|
|
let mrd_bam_path = format!("{result_dir}/{id}/mrd/{id}_mrd_hs1.bam");
|
|
let mrd_bam_path = format!("{result_dir}/{id}/mrd/{id}_mrd_hs1.bam");
|
|
@@ -809,6 +820,7 @@ mod tests {
|
|
|
let h = rust_htslib::bam::header::Header::from_template(&header);
|
|
let h = rust_htslib::bam::header::Header::from_template(&header);
|
|
|
|
|
|
|
|
let result_dir = format!("{result_dir}/{id}/diag/asm_contigs");
|
|
let result_dir = format!("{result_dir}/{id}/diag/asm_contigs");
|
|
|
|
|
+
|
|
|
if !std::path::PathBuf::from(&result_dir).exists() {
|
|
if !std::path::PathBuf::from(&result_dir).exists() {
|
|
|
std::fs::create_dir(&result_dir)?;
|
|
std::fs::create_dir(&result_dir)?;
|
|
|
}
|
|
}
|