From f90e0ddcd811c7a186552e48d270abf6e4c4e197 Mon Sep 17 00:00:00 2001 From: Peter Heringer Date: Wed, 5 Jun 2024 15:58:09 +0200 Subject: [PATCH 1/2] Add fix to display haplotype names in case of ordered-histgrowth --- src/io.rs | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/io.rs b/src/io.rs index 1693084..2ac9f42 100644 --- a/src/io.rs +++ b/src/io.rs @@ -1095,6 +1095,35 @@ pub fn write_table( Ok(()) } +pub fn write_ordered_table( + headers: &Vec>, + columns: &Vec>, + index: &Vec, + out: &mut BufWriter, +) -> Result<(), std::io::Error> { + let n = headers.first().unwrap_or(&Vec::new()).len(); + + for i in 0..n { + for j in 0..headers.len() { + if j > 0 { + write!(out, "\t")?; + } + write!(out, "{:0}", headers[j][i])?; + } + writeln!(out, "")?; + } + let n = columns.first().unwrap_or(&Vec::new()).len(); + for i in 1..n { + write!(out, "{}", index[i-1])?; + for j in 0..columns.len() { + write!(out, "\t{:0}", columns[j][i].floor())?; + } + writeln!(out, "")?; + } + + Ok(()) +} + pub fn write_hist_table( hists: &Vec, out: &mut BufWriter, @@ -1184,6 +1213,8 @@ pub fn write_ordered_histgrowth_table( std::env::args().collect::>().join(" ") )?; + log::info!("abacus_group: {:?}", abacus_group.groups); + let mut output_columns: Vec> = hist_aux .coverage .par_iter() @@ -1220,5 +1251,5 @@ pub fn write_ordered_histgrowth_table( }) .collect::>>(), ); - write_table(&header_cols, &output_columns, out) + write_ordered_table(&header_cols, &output_columns, &abacus_group.groups, out) } From 968ad3ef11d62b420227b576134766eba06a3d71 Mon Sep 17 00:00:00 2001 From: Peter Heringer Date: Wed, 5 Jun 2024 16:03:50 +0200 Subject: [PATCH 2/2] Remove unnecessary logging --- src/io.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/io.rs b/src/io.rs index 2ac9f42..27224c1 100644 --- a/src/io.rs +++ b/src/io.rs @@ -1114,7 +1114,7 @@ pub fn write_ordered_table( } let n = columns.first().unwrap_or(&Vec::new()).len(); for i in 1..n { - write!(out, "{}", index[i-1])?; + write!(out, "{}", index[i - 1])?; for j in 0..columns.len() { write!(out, "\t{:0}", columns[j][i].floor())?; } @@ -1213,8 +1213,6 @@ pub fn write_ordered_histgrowth_table( std::env::args().collect::>().join(" ") )?; - log::info!("abacus_group: {:?}", abacus_group.groups); - let mut output_columns: Vec> = hist_aux .coverage .par_iter()