mod.rs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //! Variant caller integrations wired to the shared runner pattern (local/Slurm via `run!`).
  2. //! - ClairS — <https://github.com/HKU-BAL/ClairS>
  3. //! - DeepVariant — <https://github.com/google/deepvariant>
  4. //! - DeepSomatic — <https://github.com/google/deepsomatic>
  5. //! - Savana — <https://github.com/cortes-ciriano-lab/savana>
  6. //! - Severus — <https://github.com/genome-nexus/severus> (structural variants)
  7. //! - NanomonSV — <https://github.com/friend1ws/nanomonsv>
  8. use crate::{
  9. callers::{clairs::ClairS, deep_somatic::DeepSomatic, deep_variant::DeepVariant, nanomonsv::NanomonSV, savana::Savana, severus::Severus},
  10. config::Config,
  11. pipes::{Initialize, InitializeSolo},
  12. runners::Run,
  13. };
  14. pub mod clairs;
  15. pub mod deep_somatic;
  16. pub mod deep_variant;
  17. pub mod nanomonsv;
  18. pub mod savana;
  19. pub mod severus;
  20. pub fn run_somatic_callers(id: &str, config: &Config) -> anyhow::Result<()> {
  21. // DeepVariant
  22. DeepVariant::initialize(id, &config.normal_name, config)?.run()?;
  23. DeepVariant::initialize(id, &config.tumoral_name, config)?.run()?;
  24. // ClairS
  25. ClairS::initialize(id, config)?.run()?;
  26. // Severus
  27. Severus::initialize(id, config)?.run()?;
  28. // Savana
  29. Savana::initialize(id, config)?.run()?;
  30. // Savana
  31. NanomonSV::initialize(id, config)?.run()?;
  32. // DeepSomatic
  33. DeepSomatic::initialize(id, config)?.run()?;
  34. Ok(())
  35. }
  36. #[cfg(test)]
  37. mod tests {
  38. use super::*;
  39. use crate::helpers::test_init;
  40. #[test]
  41. fn callers_run_all() -> anyhow::Result<()> {
  42. test_init();
  43. let config = Config::default();
  44. run_somatic_callers("DUMCO", &config)
  45. }
  46. }