lib.rs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. pub mod assembler;
  2. pub mod io;
  3. #[cfg(test)]
  4. mod tests {
  5. use std::path::PathBuf;
  6. use crate::assembler::{spades::SpadesConfig, wtdbg2::Wtdbg2Config};
  7. use self::assembler::{assemble_records, flye::FlyeConfig, AssembleConfig};
  8. use super::*;
  9. fn init() {
  10. let _ = env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
  11. .is_test(true)
  12. .try_init();
  13. }
  14. #[test]
  15. fn flye_bam() {
  16. init();
  17. let id = "ROBIN";
  18. let input_id = "143063957-143063957_8a24";
  19. let res_dir = "/data/longreads_basic_pipe";
  20. let asm_dir = format!("{res_dir}/{id}/diag/scan/reads/chr9");
  21. let bam = format!("{asm_dir}/{input_id}.bam");
  22. let res = assemble_records(
  23. &PathBuf::from(bam),
  24. &vec![AssembleConfig::Flye(FlyeConfig::new("/tmp/test_ass_flye"))],
  25. 1
  26. );
  27. println!("{res:#?}");
  28. }
  29. #[test]
  30. fn flye_rescue() {
  31. init();
  32. let id = "LEVASSEUR";
  33. let input_id = "12677262-102018167_2c45";
  34. let chr = "chr10";
  35. let res_dir = "/data/longreads_basic_pipe";
  36. let asm_dir = format!("{res_dir}/{id}/diag/scan/reads/{chr}");
  37. let bam = format!("{asm_dir}/{input_id}.bam");
  38. let res = assemble_records(
  39. &PathBuf::from(bam),
  40. &vec![AssembleConfig::Flye(FlyeConfig::new("/tmp/test_ass_flye"))],
  41. 1
  42. );
  43. println!("{res:#?}");
  44. }
  45. #[test]
  46. fn spades_bam() {
  47. init();
  48. // let id = "ROBIN";
  49. // let input_id = "143063957-143063957_8a24";
  50. // let chr = "chr10";
  51. let id = "LEVASSEUR";
  52. let input_id = "12677262-102018167_2c45";
  53. let chr = "chr10";
  54. let res_dir = "/data/longreads_basic_pipe";
  55. let asm_dir = format!("{res_dir}/{id}/diag/scan/reads/{chr}");
  56. let bam = format!("{asm_dir}/{input_id}.bam");
  57. let res = assemble_records(
  58. &PathBuf::from(bam),
  59. &vec![AssembleConfig::Spades(SpadesConfig::new(
  60. "/data/spades",
  61. ))],
  62. 1
  63. );
  64. println!("{res:#?}");
  65. }
  66. #[test]
  67. fn wtdbg2_bam() {
  68. init();
  69. // let id = "LEVASSEUR";
  70. // let input_id = "12677262-102018167_2c45";
  71. // let chr = "chr10";
  72. let id = "ROBIN";
  73. let input_id = "143063957-143063957_8a24";
  74. let chr = "chr9";
  75. let res_dir = "/data/longreads_basic_pipe";
  76. let asm_dir = format!("{res_dir}/{id}/diag/scan/reads/{chr}");
  77. let bam = format!("{asm_dir}/{input_id}.bam");
  78. let res = assemble_records(
  79. &PathBuf::from(bam),
  80. &vec![AssembleConfig::Wtdbg2(Wtdbg2Config::new(
  81. "/data/wtdbg2",
  82. ))],
  83. 1
  84. );
  85. println!("{res:#?}");
  86. }
  87. }