Thomas 2 жил өмнө
parent
commit
ba565b2d03
1 өөрчлөгдсөн 15 нэмэгдсэн , 9 устгасан
  1. 15 9
      src/main.rs

+ 15 - 9
src/main.rs

@@ -1,5 +1,5 @@
 use std::error::Error;
-use std::fs::{File, OpenOptions};
+use std::fs::File;
 use std::io::{BufReader, BufRead};
 use std::sync::{Arc, Mutex};
 
@@ -13,9 +13,9 @@ use std::io::Write;
 use indicatif::{ProgressBar, ProgressStyle};
 
 fn main() -> Result<(), Box<dyn Error>> {
-    let filename = "/Turbine-pool/LAL-T_ChIP/data/all_sub_genes.tsv";
+    let filename = "/Turbine-pool/LAL-T_ChIP/data/all_val_genes_peaks.tsv";
     let enhancer_prefix = "EH38E";
-    let res_tsv = "/Turbine-pool/LAL-T_ChIP/data/correlations_enh_rnas.tsv";
+    let res_tsv = "/Turbine-pool/LAL-T_ChIP/data/correlations_genes_peaks.tsv";
 
     let file = File::open(filename)?;
     let reader = BufReader::new(file);
@@ -67,6 +67,8 @@ fn main() -> Result<(), Box<dyn Error>> {
     }
     writeln!(file)?; // \n
 
+    let file_gard = Arc::new(Mutex::new(file));
+
     // let best_corr: Arc<Mutex<HashMap<String, (f32, Vec<String>)>>> = Arc::new(Mutex::new(HashMap::new()));
 
     let enhancers_to_rnas: Arc<Mutex<HashMap<String, HashMap<String, f32>>>> = Arc::new(Mutex::new(HashMap::new()));
@@ -119,11 +121,13 @@ fn main() -> Result<(), Box<dyn Error>> {
 
         if enhancers_to_rnas_guard.len() > 100 {
             bar.set_message(format!("Writing {}", res_tsv));
-            let mut file = OpenOptions::new()
-                .write(true)
-                .append(true)
-                .open(res_tsv)
-                .unwrap();
+            // let mut file = OpenOptions::new()
+            //     .write(true)
+            //     .append(true)
+            //     .open(res_tsv)
+            //     .unwrap();
+
+            let mut file = file_gard.lock().unwrap();
 
             // Iterate over the enhancers
             for (enhancer, inner_map) in enhancers_to_rnas_guard.iter() {
@@ -155,7 +159,9 @@ fn main() -> Result<(), Box<dyn Error>> {
     );
     bar.set_message("Writing output.tsv");
     
-    let mut file = File::create(res_tsv)?;
+    // let mut file = File::create(res_tsv)?;
+    let mut file = file_gard.lock().unwrap();
+            
     // Iterate over the enhancers
     for (enhancer, inner_map) in enhancers_to_rnas_guard.iter() {
         write!(file, "{}\t", enhancer)?;