| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- pub mod annotations;
- pub mod callers;
- pub mod config;
- pub mod in_out;
- pub mod sql;
- pub mod utils;
- pub mod variants;
- #[cfg(test)]
- mod tests {
- use anyhow::{Ok, Result};
- use indicatif::MultiProgress;
- use indicatif_log_bridge::LogWrapper;
- use noodles_core::{Position, Region};
- use crate::{config::Config, sql::variants_sql::load_variants_name, utils::count_repetitions};
- use super::*;
- #[test]
- fn get_config() -> Result<()> {
- let conf_path = Config::path()?;
- println!("Configuration path {}", conf_path.to_str().unwrap());
- Ok(())
- }
- #[test]
- fn load_from_vcf() -> Result<()> {
- let name = "HATTAB";
- let logger =
- env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
- .build();
- let multi = MultiProgress::new();
- LogWrapper::new(multi.clone(), logger).try_init().unwrap();
- variants::run_pipe(name, &multi)?;
- Ok(())
- }
- #[test]
- fn load_from_db() -> Result<()> {
- let name = "FAVOT";
- let logger =
- env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
- .build();
- let multi = MultiProgress::new();
- LogWrapper::new(multi.clone(), logger).try_init().unwrap();
- let mut variants = load_variants_name(name, &multi)?;
- let _variants = variants.get_cat(&variants::VariantCategory::Constit);
- variants.write_vcf_cat("test.vcf.gz", &variants::VariantCategory::Somatic)?;
- println!("{} variants loaded from db.", variants.len());
- Ok(())
- }
- use noodles_fasta::indexed_reader::Builder as FastaBuilder;
- #[test]
- fn check_stretch() -> Result<()> {
- let contig = "chr7";
- let pos = 105303375;
- let cfg = Config::get()?;
- let mut genome_reader = FastaBuilder::default().build_from_path(&cfg.reference_fa)?;
- let start = Position::try_from((pos - 20) as usize).unwrap();
- let end = Position::try_from((pos + 19) as usize).unwrap();
- let r = Region::new(contig.to_string(), start..=end);
- if let std::result::Result::Ok(reg) = genome_reader.query(&r) {
- let seq = String::from_utf8(reg.sequence().as_ref().to_vec()).unwrap();
- let left = &seq[0..20];
- let right = &seq[21..seq.len() - 1];
- let r_plet = count_repetitions(right, 3);
- println!("{left:?}");
- println!("{right:?} {r_plet:?}");
- }
- Ok(())
- }
- }
|