Thomas 1 éve
szülő
commit
10904a07f9
3 módosított fájl, 19 hozzáadás és 9 törlés
  1. 6 0
      README.md
  2. 6 5
      src/lib.rs
  3. 7 4
      src/variants.rs

+ 6 - 0
README.md

@@ -0,0 +1,6 @@
+
+* install cpan Bio-DB-HTS from: https://github.com/Ensembl/Bio-DB-HTS
+* install cpan XML from apt:
+``` 
+sudo apt-get install libxml-libxml-perl
+``` 

+ 6 - 5
src/lib.rs

@@ -21,7 +21,7 @@ mod tests {
     use indicatif_log_bridge::LogWrapper;
     use log::info;
     use noodles_core::{Position, Region};
-    use sql::variants_sql::{load_annotaded, write_annotaded};
+    use sql::variants_sql::write_annotaded;
     use variants::AllStats;
 
     use super::*;
@@ -34,7 +34,7 @@ mod tests {
 
     #[test]
     fn load_from_vcf() -> Result<()> {
-        let name = "DAHAN";
+        let name = "CAMARA";
 
         let logger =
             env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
@@ -42,14 +42,14 @@ mod tests {
         let multi = MultiProgress::new();
         LogWrapper::new(multi.clone(), logger).try_init().unwrap();
 
-        variants::run_pipe(name, &multi)?;
+        variants::run_pipe(name, false, &multi)?;
 
         Ok(())
     }
 
     #[test]
     fn annot() -> anyhow::Result<()> {
-        let id = "DAHAN";
+        let id = "CAMARA";
         write_annotaded(
             &format!("/data/longreads_basic_pipe/{id}/diag/{id}_variants.sqlite"),
             &format!("/data/longreads_basic_pipe/{id}/diag/report/data/{id}_annot_variants.json"),
@@ -58,8 +58,9 @@ mod tests {
 
     #[test]
     fn graph() -> anyhow::Result<()> {
+        let id = "CAMARA";
         let stats = AllStats::load_json(
-            "/data/longreads_basic_pipe/RICCO/diag/report/data/RICCO_variants_stats.json",
+            &format!("/data/longreads_basic_pipe/{id}/diag/report/data/{id}_variants_stats.json"),
         )?;
         stats.generate_graph("/data/stats")?;
         Ok(())

+ 7 - 4
src/variants.rs

@@ -1886,7 +1886,7 @@ pub enum Category {
     Pangolin,
 }
 
-pub fn run_pipe(name: &str, multi: &MultiProgress) -> Result<()> {
+pub fn run_pipe(name: &str, force: bool, multi: &MultiProgress) -> Result<()> {
     let cfg = config::Config::get()?;
     let deepvariant_diag_vcf = format!(
         "{}/{name}/diag/DeepVariant/{name}_diag_DeepVariant_PASSED.vcf.gz",
@@ -2054,10 +2054,13 @@ pub fn run_pipe(name: &str, multi: &MultiProgress) -> Result<()> {
     write_af_data(&variants, &af_final_path).context("Can't write final AF data")?;
 
     if std::path::Path::new(&db_path).exists() {
-        fs::remove_file(&db_path)?;
-        // crate::sql::variants_sql::remove_variants_names(&db_path, name)?;
+        if force {
+            fs::remove_file(&db_path)?;
+            variants.save_sql(&db_path)?;
+        }
+    } else {
+        variants.save_sql(&db_path)?;
     }
-    variants.save_sql(&db_path)?;
     info!("Variants : {}", variants.len());
 
     Ok(())