pub mod assembler; pub mod io; #[cfg(test)] mod tests { use std::path::PathBuf; use crate::assembler::{spades::SpadesConfig, wtdbg2::Wtdbg2Config}; use self::assembler::{assemble_records, flye::FlyeConfig, AssembleConfig}; use super::*; fn init() { let _ = env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")) .is_test(true) .try_init(); } #[test] fn flye_bam() { init(); let id = "ROBIN"; let input_id = "143063957-143063957_8a24"; let res_dir = "/data/longreads_basic_pipe"; let asm_dir = format!("{res_dir}/{id}/diag/scan/reads/chr9"); let bam = format!("{asm_dir}/{input_id}.bam"); let res = assemble_records( &PathBuf::from(bam), &vec![AssembleConfig::Flye(FlyeConfig::new("/tmp/test_ass_flye"))], 1 ); println!("{res:#?}"); } #[test] fn flye_rescue() { init(); let id = "LEVASSEUR"; let input_id = "12677262-102018167_2c45"; let chr = "chr10"; let res_dir = "/data/longreads_basic_pipe"; let asm_dir = format!("{res_dir}/{id}/diag/scan/reads/{chr}"); let bam = format!("{asm_dir}/{input_id}.bam"); let res = assemble_records( &PathBuf::from(bam), &vec![AssembleConfig::Flye(FlyeConfig::new("/tmp/test_ass_flye"))], 1 ); println!("{res:#?}"); } #[test] fn spades_bam() { init(); // let id = "ROBIN"; // let input_id = "143063957-143063957_8a24"; // let chr = "chr10"; let id = "LEVASSEUR"; let input_id = "12677262-102018167_2c45"; let chr = "chr10"; let res_dir = "/data/longreads_basic_pipe"; let asm_dir = format!("{res_dir}/{id}/diag/scan/reads/{chr}"); let bam = format!("{asm_dir}/{input_id}.bam"); let res = assemble_records( &PathBuf::from(bam), &vec![AssembleConfig::Spades(SpadesConfig::new( "/data/spades", ))], 1 ); println!("{res:#?}"); } #[test] fn wtdbg2_bam() { init(); // let id = "LEVASSEUR"; // let input_id = "12677262-102018167_2c45"; // let chr = "chr10"; let id = "ROBIN"; let input_id = "143063957-143063957_8a24"; let chr = "chr9"; let res_dir = "/data/longreads_basic_pipe"; let asm_dir = format!("{res_dir}/{id}/diag/scan/reads/{chr}"); let bam = format!("{asm_dir}/{input_id}.bam"); let res = assemble_records( &PathBuf::from(bam), &vec![AssembleConfig::Wtdbg2(Wtdbg2Config::new( "/data/wtdbg2", ))], 1 ); println!("{res:#?}"); } }