|
|
@@ -13,7 +13,7 @@ use std::io::Write;
|
|
|
use indicatif::{ProgressBar, ProgressStyle};
|
|
|
|
|
|
fn main() -> Result<(), Box<dyn Error>> {
|
|
|
- let filename = "/Turbine-pool/LAL-T_ChIP/data/all_sub.tsv";
|
|
|
+ let filename = "/Turbine-pool/LAL-T_ChIP/data/all_sub_genes.tsv";
|
|
|
let enhancer_prefix = "EH38E";
|
|
|
let res_tsv = "/Turbine-pool/LAL-T_ChIP/data/correlations_enh_rnas.tsv";
|
|
|
|
|
|
@@ -67,7 +67,6 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|
|
}
|
|
|
writeln!(file)?; // \n
|
|
|
|
|
|
-
|
|
|
// 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()));
|
|
|
@@ -156,16 +155,21 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|
|
);
|
|
|
bar.set_message("Writing output.tsv");
|
|
|
|
|
|
-
|
|
|
+ let mut file = File::create(res_tsv)?;
|
|
|
// Iterate over the enhancers
|
|
|
for (enhancer, inner_map) in enhancers_to_rnas_guard.iter() {
|
|
|
write!(file, "{}\t", enhancer)?;
|
|
|
|
|
|
// Iterate over the RNA keys
|
|
|
- for rna_key in &rna_keys {
|
|
|
+ let rna_keys_len = rna_keys.len();
|
|
|
+ for (i, rna_key) in rna_keys.iter().enumerate() {
|
|
|
// Write the value if present, otherwise write an empty cell
|
|
|
if let Some(value) = inner_map.get(*rna_key) {
|
|
|
- write!(file, "{}\t", value)?;
|
|
|
+ if i + 1 != rna_keys_len {
|
|
|
+ write!(file, "{}\t", value)?;
|
|
|
+ } else {
|
|
|
+ write!(file, "{}", value)?;
|
|
|
+ }
|
|
|
} else {
|
|
|
write!(file, "\t")?;
|
|
|
}
|