From 34b8e63e6ff69af83debce3a4106dd1c2df6db79 Mon Sep 17 00:00:00 2001 From: ziadbkh Date: Fri, 15 Aug 2025 09:55:27 +1000 Subject: [PATCH 1/4] cleaning and formating --- src/hardware_resources.rs | 41 +- src/lib.rs | 1157 +++++++++++++++++++++---------------- src/main.rs | 21 +- src/report_manager.rs | 128 ++-- src/sample_data.rs | 218 ++++--- tst.sh | 36 -- 6 files changed, 849 insertions(+), 752 deletions(-) delete mode 100755 tst.sh diff --git a/src/hardware_resources.rs b/src/hardware_resources.rs index 3ee36ad..54e56d1 100644 --- a/src/hardware_resources.rs +++ b/src/hardware_resources.rs @@ -1,5 +1,5 @@ -use sysinfo::{ SystemExt, System }; -use log::{ warn, info }; +use log::{info, warn}; +use sysinfo::{System, SystemExt}; pub fn get_available_memory(memory: f64) -> f64 { let mut system = System::new_all(); @@ -10,16 +10,15 @@ pub fn get_available_memory(memory: f64) -> f64 { panic!("Available memory should be greater than 0.5 GB!"); } - let available_memory = - (if memory == 0.0 { - sys_memory - } else { - info!("Requested memory by the user is {} GigaByte", memory); - if sys_memory < memory * 1000_000_000.0 { - panic!("Requested memory is greater than the available memory!"); - } - memory * 1000_000_000.0 - }) - 500_000_000.0; + let available_memory = (if memory == 0.0 { + sys_memory + } else { + info!("Requested memory by the user is {} GigaByte", memory); + if sys_memory < memory * 1000_000_000.0 { + panic!("Requested memory is greater than the available memory!"); + } + memory * 1000_000_000.0 + }) - 500_000_000.0; available_memory } @@ -32,24 +31,21 @@ pub fn get_cpus(requested_threads: usize, paired_read_input: bool) -> (usize, us }; info!( "Available CPUs: {}. Requested CPUs {}. Used CPUs: {}.", - available_cpus, - requested_threads, - used_cpus + available_cpus, requested_threads, used_cpus ); if requested_threads > available_cpus { warn!( "Used CPUs are redueced to the available CPUs as the requested number is not available." ); } - - let reader_threads = if used_cpus == 1 - { + + let reader_threads = if used_cpus == 1 { 0 - }else{ + } else { if paired_read_input { if used_cpus < 5 { 1 - }else if used_cpus < 9 { + } else if used_cpus < 9 { 2 } else { 4 @@ -63,14 +59,11 @@ pub fn get_cpus(requested_threads: usize, paired_read_input: bool) -> (usize, us } }; - - let processing_threads = used_cpus - reader_threads; if used_cpus > 1 { info!( "Multi-threading mode is enabled. Readers: {}, Processors {}.", - reader_threads, - processing_threads + reader_threads, processing_threads ); } if (reader_threads == 2 && !paired_read_input) || reader_threads > 2 { diff --git a/src/lib.rs b/src/lib.rs index 292a916..7485b8b 100755 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,44 +1,40 @@ #[global_allocator] static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc; +use clap::ArgMatches; +use crossbeam_channel::{bounded, Receiver, Sender}; use file_utils::{ - get_buf_reader, - get_gzip_reader, - parallel_reader_decompressor_thread, - parallel_reader_thread, - read_buffers, - write_file, + get_buf_reader, get_gzip_reader, parallel_reader_decompressor_thread, parallel_reader_thread, + read_buffers, write_file, }; -use variables::{ I5_COLUMN, I7_COLUMN, PROJECT_ID_COLUMN, SAMPLE_COLUMN }; -use std::collections::{ HashMap, HashSet }; +use log::{debug, info, warn}; +use memchr::{memchr, memchr_iter}; +use std::collections::{HashMap, HashSet}; use std::error::Error; +use std::fs; +use std::io::BufRead; +use std::path::Path; use std::path::PathBuf; -use std::time::Instant; -use memchr::{ memchr_iter, memchr }; -use log::{ info, warn, debug }; +use std::sync::{Arc, Mutex}; use std::thread; -use crossbeam_channel::{ Receiver, Sender, bounded }; -use std::sync::{ Arc, Mutex }; -use clap::ArgMatches; -use std::path::Path; -use std::io::BufRead; -use std::fs; +use std::time::Instant; +use variables::{I5_COLUMN, I7_COLUMN, PROJECT_ID_COLUMN, SAMPLE_COLUMN}; // my modules -mod variables; mod file_utils; -mod sample_manager; +mod formater; +mod hardware_resources; +mod report_manager; mod run_manager; mod sample_data; -mod report_manager; -mod hardware_resources; -mod formater; +mod sample_manager; +mod variables; +pub use crate::hardware_resources::{get_available_memory, get_cpus}; pub use crate::sample_data::*; -pub use crate::hardware_resources::{ get_available_memory, get_cpus }; -pub use sample_manager::{ SampleManager, get_all_mismatches, reverse_complement }; -pub use run_manager::RunManager; +pub use formater::{parse_sb_file_name, ReformatedSample}; pub use report_manager::ReportManager; -pub use formater::{ ReformatedSample, parse_sb_file_name }; +pub use run_manager::RunManager; +pub use sample_manager::{get_all_mismatches, reverse_complement, SampleManager}; const BUFFER_SIZE: usize = 1 << 22; const RAW_BUFFER_SIZE: usize = 1 << 23; @@ -48,20 +44,18 @@ fn hamming_distance(bytes1: &[u8], bytes2: &[u8]) -> Result return Err("Byte slices must be of equal length"); } - Ok( - bytes1 - .iter() - .zip(bytes2.iter()) - .filter(|(b1, b2)| b1 != b2) - .count() - ) + Ok(bytes1 + .iter() + .zip(bytes2.iter()) + .filter(|(b1, b2)| b1 != b2) + .count()) } pub fn add_match( curr_template: String, sample_itr: usize, matches_stat: &mut HashMap>, - sample_list_ln: usize + sample_list_ln: usize, ) { match matches_stat.get_mut(&curr_template) { Some(sample_reads) => { @@ -83,18 +77,17 @@ fn find_matches( sample_first_indx: &String, sample_first_indx_rc: &String, sample_second_indx: &String, - sample_second_indx_rc: &String + sample_second_indx_rc: &String, ) { //println!("{} - {} - {} - {} -> {}", sample_first_indx, sample_first_indx_rc, sample_second_indx, sample_second_indx_rc, read_barcode_seq); let indexes = match sample_second_indx.len() < 2 { true => vec![sample_first_indx, sample_first_indx_rc], - false => - vec![ - sample_first_indx, - sample_first_indx_rc, - sample_second_indx, - sample_second_indx_rc - ], + false => vec![ + sample_first_indx, + sample_first_indx_rc, + sample_second_indx, + sample_second_indx_rc, + ], }; //println!("{:?}", indexes); for i in 0..2 { @@ -116,15 +109,14 @@ fn find_matches( for first_match in &first_matches { //println!("sample - {}: comparing {} -> {} {}:{}",sample_itr, first_match, second_match, i, j); - if - *second_match >= first_match + sample_first_indx.len() || - *first_match >= second_match + sample_second_indx.len() + if *second_match >= first_match + sample_first_indx.len() + || *first_match >= second_match + sample_second_indx.len() { add_match( format!("{}:{}_{}:{}", first_match, second_match, i, j - 2), sample_itr, matches_stat, - sample_list_ln + sample_list_ln, ); } } @@ -137,7 +129,7 @@ fn find_matches( format!("{}_{}:.", first_match, i), sample_itr, matches_stat, - sample_list_ln + sample_list_ln, ); } } @@ -150,7 +142,7 @@ pub fn get_mgikit_template( umi: bool, barcode_length: usize, i7_len: usize, - i5_len: usize + i5_len: usize, ) -> (String, String, String) { let mut final_template: Vec = Vec::new(); let template_elements: Vec = initial_template.split('_').map(String::from).collect(); @@ -221,21 +213,23 @@ pub fn get_mgikit_template( } //println!("5- {:?}", final_template); - (final_template.join(":"), rc_ls[0].to_owned(), rc_ls[1].to_owned()) + ( + final_template.join(":"), + rc_ls[0].to_owned(), + rc_ls[1].to_owned(), + ) } pub fn find_matching_sample( - all_template_data: &Vec< - ( - u32, - HashSet, - HashSet, - String, - HashMap)>, - bool, - [usize; 10], - ) - >, + all_template_data: &Vec<( + u32, + HashSet, + HashSet, + String, + HashMap)>, + bool, + [usize; 10], + )>, mismatches_dic_i7: &Vec, (Vec<&String>, usize)>>, mismatches_dic_i5: &Vec, (Vec<&String>, usize)>>, read_barcode: &[u8], @@ -243,7 +237,7 @@ pub fn find_matching_sample( all_index_allowed_mismatches: usize, total_samples: usize, comprehensive_scan: bool, - i7_rc: bool + i7_rc: bool, ) -> (usize, usize, String, String) { let mut template_itr = 0; let undetermined_label_id = total_samples - 2; @@ -265,80 +259,64 @@ pub fn find_matching_sample( //println!("{}", template_details.5); let extract_umi = if indexes_info[6] == 1 { true } else { false }; - match - all_i7_mismatches.get( - &read_barcode - [ - read_barcode.len() - indexes_info[2]..read_barcode.len() - - indexes_info[2] + - indexes_info[1] - ] - ) - { + match all_i7_mismatches.get( + &read_barcode[read_barcode.len() - indexes_info[2] + ..read_barcode.len() - indexes_info[2] + indexes_info[1]], + ) { Some(i7_matches) => { //info!("{:?}", i7_matches); if i7_matches.1 <= allowed_mismatches { if template_details.5 { - match - all_i5_mismatches.get( - &read_barcode - [ - read_barcode.len() - indexes_info[5]..read_barcode.len() - - indexes_info[5] + - indexes_info[4] - ] - ) - { + match all_i5_mismatches.get( + &read_barcode[read_barcode.len() - indexes_info[5] + ..read_barcode.len() - indexes_info[5] + indexes_info[4]], + ) { Some(i5_matches) => { //info!("{:?} and {:?}", i7_matches, i5_matches); for i7_match_itr in 0..i7_matches.0.len() { for i5_match_itr in 0..i5_matches.0.len() { - if - i5_matches.1 > allowed_mismatches || - latest_mismatch < i7_matches.1 + i5_matches.1 + if i5_matches.1 > allowed_mismatches + || latest_mismatch < i7_matches.1 + i5_matches.1 { continue; } curr_mismatch = i7_matches.1 + i5_matches.1; if curr_mismatch <= all_index_allowed_mismatches { //println!("{}", i7_matches.0[i7_match_itr]); - match - sample_info - .get(i7_matches.0[i7_match_itr]) - .unwrap() - .1.get(i5_matches.0[i5_match_itr]) + match sample_info + .get(i7_matches.0[i7_match_itr]) + .unwrap() + .1 + .get(i5_matches.0[i5_match_itr]) { Some(i5_info) => { - if - sample_id >= total_samples || - latest_mismatch > curr_mismatch + if sample_id >= total_samples + || latest_mismatch > curr_mismatch { sample_id = *i5_info; latest_mismatch = curr_mismatch; curr_barcode = unsafe { String::from_utf8_unchecked( - read_barcode[ - read_barcode.len() - - indexes_info - [2]..read_barcode.len() - - indexes_info[2] + - indexes_info[1] - ].to_vec() + read_barcode[read_barcode.len() + - indexes_info[2] + ..read_barcode.len() + - indexes_info[2] + + indexes_info[1]] + .to_vec(), ) }; curr_barcode.push('+'); curr_barcode.push_str( &(unsafe { String::from_utf8_unchecked( - read_barcode[ - read_barcode.len() - - indexes_info - [5]..read_barcode.len() - - indexes_info[5] + - indexes_info[4] - ].to_vec() + read_barcode[read_barcode.len() + - indexes_info[5] + ..read_barcode.len() + - indexes_info[5] + + indexes_info[4]] + .to_vec(), ) - }) + }), ); if extract_umi { @@ -408,11 +386,9 @@ pub fn find_matching_sample( //barcode_length = indexes_info[9]; curr_barcode = unsafe { String::from_utf8_unchecked( - read_barcode[ - read_barcode.len() - indexes_info[2]..read_barcode.len() - - indexes_info[2] + - indexes_info[1] - ].to_vec() + read_barcode[read_barcode.len() - indexes_info[2] + ..read_barcode.len() - indexes_info[2] + indexes_info[1]] + .to_vec(), ) }; if extract_umi { @@ -420,14 +396,12 @@ pub fn find_matching_sample( curr_umi.push_str( &(unsafe { String::from_utf8_unchecked( - read_barcode[ - read_barcode.len() - - indexes_info[8]..read_barcode.len() - - indexes_info[8] + - indexes_info[7] - ].to_vec() + read_barcode[read_barcode.len() - indexes_info[8] + ..read_barcode.len() - indexes_info[8] + + indexes_info[7]] + .to_vec(), ) - }) + }), ); /*if i7_rc { curr_umi.push_str( @@ -507,24 +481,29 @@ pub fn check_read_content(read_seq: &[u8], seq_start: usize, plus_start: usize, ); } for &nec in read_seq[seq_start..plus_start - 1].iter() { - if - nec != b'A' && - nec != b'C' && - nec != b'G' && - nec != b'T' && - nec != b'N' && - nec != b'a' && - nec != b'c' && - nec != b'g' && - nec != b't' && - nec != b'n' + if nec != b'A' + && nec != b'C' + && nec != b'G' + && nec != b'T' + && nec != b'N' + && nec != b'a' + && nec != b'c' + && nec != b'g' + && nec != b't' + && nec != b'n' { - panic!("Seqeunce bases need to be in [A, C, G, T, a, c, g, t, N, n]! Found {}.", nec); + panic!( + "Seqeunce bases need to be in [A, C, G, T, a, c, g, t, N, n]! Found {}.", + nec + ); } } for &qs in read_seq[qc_start..read_seq.len()].iter() { if qs > 73 || qs < 33 { - panic!("Quality score must be between [0 and 40]! Found {}!", qs - 33); + panic!( + "Quality score must be between [0 and 40]! Found {}!", + qs - 33 + ); } } } @@ -537,13 +516,19 @@ fn demultiplex( reporting_level: usize, all_index_error: bool, reader_threads: usize, - processing_threads: usize + processing_threads: usize, ) -> Result> { let start = Instant::now(); //let dur; - info!("Comprehensive scan mode: {}", run_manager.comprehensive_scan()); - info!("Allowed mismatches when finding the index are: {}", allowed_mismatches); + info!( + "Comprehensive scan mode: {}", + run_manager.comprehensive_scan() + ); + info!( + "Allowed mismatches when finding the index are: {}", + allowed_mismatches + ); if all_index_error { info!( @@ -570,7 +555,7 @@ fn demultiplex( run_manager, buffer_info, run_manager.read2_has_sequence(), - run_manager.illumina_format() + run_manager.illumina_format(), ); } @@ -586,7 +571,7 @@ fn demultiplex( full_receiver_rb/full_receiver_rp full_sender - + workers full_receiver empty_sender_rb @@ -595,7 +580,7 @@ fn demultiplex( empty_raw_receiver_rp/empty_raw_receiver_rb full_raw_sender_rp/full_raw_sender_rb - + decoder full_raw_receiver_rp/full_raw_receiver_rb empty_receiver_rb/empty_receiver_rp @@ -618,9 +603,15 @@ fn demultiplex( barcode_process_master = true; ((BUFFER_SIZE as f32) / (run_manager.paired_read_len() as f32)) * 0.95 }) as usize; - debug!("Barceode data reader is master reader: {}", barcode_process_master); + debug!( + "Barceode data reader is master reader: {}", + barcode_process_master + ); let reader_handler = if reader_threads > 0 { - info!("Parallel readers, processing batches of {} reads.", batch_size); + info!( + "Parallel readers, processing batches of {} reads.", + batch_size + ); for _ in 0..processing_threads * 2 { match empty_sender_rb.send((0, vec![0u8; BUFFER_SIZE])) { Ok(_) => {} @@ -641,53 +632,48 @@ fn demultiplex( } } } - if - (reader_threads == 4 && run_manager.paired_read_input()) || - (reader_threads == 2 && !run_manager.paired_read_input()) + if (reader_threads == 4 && run_manager.paired_read_input()) + || (reader_threads == 2 && !run_manager.paired_read_input()) { - Some( - parallel_reader_decompressor_thread( - run_manager.barcode_reads().clone(), - batch_size, - empty_raw_sender_rb, - empty_raw_receiver_rb, - full_raw_sender_rb, - full_raw_receiver_rb, - full_receiver_rb.clone(), - full_receiver_rp.clone(), - full_sender_rb.clone(), - empty_receiver_rb.clone(), - empty_sender_rb.clone(), - full_sender.clone(), - processing_threads, - BUFFER_SIZE, - run_manager.paired_read_input(), - barcode_process_master - ) - ) + Some(parallel_reader_decompressor_thread( + run_manager.barcode_reads().clone(), + batch_size, + empty_raw_sender_rb, + empty_raw_receiver_rb, + full_raw_sender_rb, + full_raw_receiver_rb, + full_receiver_rb.clone(), + full_receiver_rp.clone(), + full_sender_rb.clone(), + empty_receiver_rb.clone(), + empty_sender_rb.clone(), + full_sender.clone(), + processing_threads, + BUFFER_SIZE, + run_manager.paired_read_input(), + barcode_process_master, + )) } else { - Some( - parallel_reader_thread( - run_manager.paired_reads().clone(), - run_manager.barcode_reads().clone(), - batch_size, - true, - reader_threads == 1 && run_manager.paired_read_input(), - full_sender_rb.clone(), - full_sender_rp.clone(), - empty_sender_rb.clone(), - empty_sender_rp.clone(), - full_receiver_rb.clone(), - full_receiver_rp.clone(), - empty_receiver_rb.clone(), - empty_receiver_rp.clone(), - full_sender.clone(), - processing_threads, - BUFFER_SIZE, - run_manager.paired_read_input(), - barcode_process_master - ) - ) + Some(parallel_reader_thread( + run_manager.paired_reads().clone(), + run_manager.barcode_reads().clone(), + batch_size, + true, + reader_threads == 1 && run_manager.paired_read_input(), + full_sender_rb.clone(), + full_sender_rp.clone(), + empty_sender_rb.clone(), + empty_sender_rp.clone(), + full_receiver_rb.clone(), + full_receiver_rp.clone(), + empty_receiver_rb.clone(), + empty_receiver_rp.clone(), + full_sender.clone(), + processing_threads, + BUFFER_SIZE, + run_manager.paired_read_input(), + barcode_process_master, + )) } } else { None @@ -695,57 +681,54 @@ fn demultiplex( let reader_handler_secondary = if run_manager.paired_read_input() && reader_threads > 1 { if reader_threads == 4 { - Some( - parallel_reader_decompressor_thread( - run_manager.paired_reads().clone(), - batch_size, - empty_raw_sender_rp, - empty_raw_receiver_rp, - full_raw_sender_rp, - full_raw_receiver_rp, - full_receiver_rb.clone(), - full_receiver_rp.clone(), - full_sender_rp.clone(), - empty_receiver_rp.clone(), - empty_sender_rp.clone(), - full_sender.clone(), - processing_threads, - BUFFER_SIZE, - true, - !barcode_process_master - ) - ) + Some(parallel_reader_decompressor_thread( + run_manager.paired_reads().clone(), + batch_size, + empty_raw_sender_rp, + empty_raw_receiver_rp, + full_raw_sender_rp, + full_raw_receiver_rp, + full_receiver_rb.clone(), + full_receiver_rp.clone(), + full_sender_rp.clone(), + empty_receiver_rp.clone(), + empty_sender_rp.clone(), + full_sender.clone(), + processing_threads, + BUFFER_SIZE, + true, + !barcode_process_master, + )) } else { - Some( - parallel_reader_thread( - run_manager.paired_reads().clone(), - run_manager.barcode_reads().clone(), - batch_size, - false, - true, - full_sender_rb.clone(), - full_sender_rp.clone(), - empty_sender_rb.clone(), - empty_sender_rp.clone(), - full_receiver_rb.clone(), - full_receiver_rp.clone(), - empty_receiver_rb.clone(), - empty_receiver_rp.clone(), - full_sender.clone(), - processing_threads, - BUFFER_SIZE, - true, - !barcode_process_master - ) - ) + Some(parallel_reader_thread( + run_manager.paired_reads().clone(), + run_manager.barcode_reads().clone(), + batch_size, + false, + true, + full_sender_rb.clone(), + full_sender_rp.clone(), + empty_sender_rb.clone(), + empty_sender_rp.clone(), + full_receiver_rb.clone(), + full_receiver_rp.clone(), + empty_receiver_rb.clone(), + empty_receiver_rp.clone(), + full_sender.clone(), + processing_threads, + BUFFER_SIZE, + true, + !barcode_process_master, + )) } } else { None }; - let report_manager_arc = Arc::new( - Mutex::new(ReportManager::new(total_samples, allowed_mismatches)) - ); + let report_manager_arc = Arc::new(Mutex::new(ReportManager::new( + total_samples, + allowed_mismatches, + ))); let mut processor_pool = Vec::new(); let mut sample_lockes = Vec::new(); for _ in 0..total_samples { @@ -765,8 +748,7 @@ fn demultiplex( let report_manager_arc = report_manager_arc.clone(); let samples_locks_arc: Arc>> = samples_locks_arc.clone(); processor_pool.push( - thread::Builder - ::new() + thread::Builder::new() .name(thread_name.clone()) .spawn(move || { let curr_report_manager = analyse_fastq( @@ -785,12 +767,12 @@ fn demultiplex( samples_locks_arc, true, &ReformatedSample::default(), - vec![false; 10] + vec![false; 10], ); let mut report_manager = report_manager_arc.lock().unwrap(); report_manager.update(&curr_report_manager); - }) + }), ); } @@ -810,18 +792,22 @@ fn demultiplex( samples_locks_arc, true, &ReformatedSample::default(), - vec![true; 10] + vec![true; 10], ); if reader_threads > 0 { let _ = match reader_handler { Some(handler) => handler.join().unwrap(), - None => { panic!("there must be a reader thread here!") } + None => { + panic!("there must be a reader thread here!") + } }; if reader_threads == 2 { let _ = match reader_handler_secondary { Some(handler) => handler.join().unwrap(), - None => { panic!("there must be a secondary reader thread here!") } + None => { + panic!("there must be a secondary reader thread here!") + } }; } @@ -831,11 +817,10 @@ fn demultiplex( } let mut report_manager = match Arc::try_unwrap(report_manager_arc) { - Ok(mutex) => - match mutex.into_inner() { - Ok(manager) => manager, - Err(_) => panic!("Report Manager Mutex poisoned"), - } + Ok(mutex) => match mutex.into_inner() { + Ok(manager) => manager, + Err(_) => panic!("Report Manager Mutex poisoned"), + }, Err(_) => panic!("Report Manager Arc still has multiple owners"), }; @@ -843,7 +828,11 @@ fn demultiplex( let dur = start.elapsed(); - info!("{} reads were processed in {} secs.", report_manager.get_total_reads(), dur.as_secs()); + info!( + "{} reads were processed in {} secs.", + report_manager.get_total_reads(), + dur.as_secs() + ); Ok(report_manager) } @@ -854,17 +843,15 @@ fn process_buffer( report_manager: &mut ReportManager, all_index_allowed_mismatches: usize, sample_manager: &SampleManager, - all_template_data: &Vec< - ( - u32, - HashSet, - HashSet, - String, - HashMap)>, - bool, - [usize; 10], - ) - >, + all_template_data: &Vec<( + u32, + HashSet, + HashSet, + String, + HashMap)>, + bool, + [usize; 10], + )>, samples_reads: &mut Vec, reporting_level: usize, allowed_mismatches: usize, @@ -877,13 +864,17 @@ fn process_buffer( lines_rp: Vec, demultiplex: bool, reformated_sample: &ReformatedSample, - warning_ls: &mut Vec + warning_ls: &mut Vec, ) -> (usize, usize) { let l_position: usize = run_manager.l_position(); let total_samples: usize = sample_manager.get_sample_count(); let undetermined_label_id = total_samples - 2; let ambiguous_label_id = total_samples - 1; - let shift: usize = if run_manager.paired_read_input() { 1 } else { 0 }; + let shift: usize = if run_manager.paired_read_input() { + 1 + } else { + 0 + }; let barcode_length: usize = if demultiplex { all_template_data[0].6[9] } else { @@ -998,8 +989,16 @@ fn process_buffer( } if reached_an_end { - debug!("reached end - buffer 2 - bytes: {} - header start: {}", buffer_2.len(), header_start); - debug!("reached end - buffer 1 - bytes: {} - header start: {}", buffer_1.len(), header_start_pr); + debug!( + "reached end - buffer 2 - bytes: {} - header start: {}", + buffer_2.len(), + header_start + ); + debug!( + "reached end - buffer 1 - bytes: {} - header start: {}", + buffer_1.len(), + header_start_pr + ); break; } else { i7_rc = false; @@ -1015,7 +1014,7 @@ fn process_buffer( all_index_allowed_mismatches, total_samples, comprehensive_scan, - i7_rc + i7_rc, ); tail_offset = curr_barcode.len() + 6; if sample_id >= total_samples { @@ -1023,11 +1022,10 @@ fn process_buffer( } if sample_id == undetermined_label_id || sample_id == ambiguous_label_id { - if - warning_ls[0] && - read_cntr > undertmined_threshold_check && - report_manager.get_sample_reads(sample_id) > - ((0.75 * (read_cntr as f64)) as u64) + if warning_ls[0] + && read_cntr > undertmined_threshold_check + && report_manager.get_sample_reads(sample_id) + > ((0.75 * (read_cntr as f64)) as u64) { if run_manager.ignore_undetermined() { warn!( @@ -1051,12 +1049,9 @@ fn process_buffer( let indexes_info = all_template_data[0].6; curr_barcode = unsafe { String::from_utf8_unchecked( - buffer_2[ - plus_start - indexes_info[2] - 1..plus_start - - indexes_info[2] + - indexes_info[1] - - 1 - ].to_vec() + buffer_2[plus_start - indexes_info[2] - 1 + ..plus_start - indexes_info[2] + indexes_info[1] - 1] + .to_vec(), ) }; @@ -1066,20 +1061,17 @@ fn process_buffer( curr_barcode.push_str( &(unsafe { String::from_utf8_unchecked( - buffer_2[ - plus_start - indexes_info[5] - 1..plus_start - - indexes_info[5] + - indexes_info[4] - - 1 - ].to_vec() + buffer_2[plus_start - indexes_info[5] - 1 + ..plus_start - indexes_info[5] + indexes_info[4] - 1] + .to_vec(), ) - }) + }), ); } } else { curr_barcode = unsafe { String::from_utf8_unchecked( - buffer_2[plus_start - barcode_length - 1..plus_start - 1].to_vec() + buffer_2[plus_start - barcode_length - 1..plus_start - 1].to_vec(), ) }; } @@ -1106,18 +1098,18 @@ fn process_buffer( raw_shift = 2; seq_start - header_start - 3 } - Some(loc) => { loc } + Some(loc) => loc, }; - curr_mismatch = if - reformated_sample.barcode().len() == 0 || - sep_position == seq_start - header_start - 3 + curr_mismatch = if reformated_sample.barcode().len() == 0 + || sep_position == seq_start - header_start - 3 { 0 } else { hamming_distance( reformated_sample.barcode().as_bytes(), - &buffer_2[sep_position + header_start + 7..seq_start - 1] - ).unwrap() + &buffer_2[sep_position + header_start + 7..seq_start - 1], + ) + .unwrap() }; sample_id = 0; //reformated_sample.sample_index(); @@ -1125,9 +1117,9 @@ fn process_buffer( if reformated_sample.umi_length() > 0 { unsafe { curr_umi = String::from_utf8_unchecked( - buffer_2[ - plus_start - 1 - reformated_sample.umi_length()..plus_start - 1 - ].to_vec() + buffer_2 + [plus_start - 1 - reformated_sample.umi_length()..plus_start - 1] + .to_vec(), ); } } @@ -1137,9 +1129,8 @@ fn process_buffer( header_shift = seq_start - sep_position - header_start - 3; tail_offset = header_shift + 1; - if - reformated_sample.barcode().len() > 0 && - sep_position == seq_start - header_start - 3 + if reformated_sample.barcode().len() > 0 + && sep_position == seq_start - header_start - 3 { header_shift = 0; tail_offset = reformated_sample.barcode().len() + 6; @@ -1166,24 +1157,23 @@ fn process_buffer( &buffer_1[header_start_pr..read_end_pr], seq_start_pr - header_start_pr, plus_start_pr - header_start_pr, - qual_start_pr - header_start_pr + qual_start_pr - header_start_pr, ); - if - run_manager.mgi_data() && - hamming_distance( + if run_manager.mgi_data() + && hamming_distance( &buffer_1[header_start_pr..seq_start_pr - 2], - &buffer_2[header_start..seq_start - 2] - ).unwrap() > 0 + &buffer_2[header_start..seq_start - 2], + ) + .unwrap() + > 0 { panic!( "Headers seem to be in differnet orders: {} - {}", - String::from_utf8( - buffer_1[header_start_pr..seq_start_pr - 2].to_vec() - ).unwrap(), - String::from_utf8( - buffer_2[header_start..seq_start - 2].to_vec() - ).unwrap() + String::from_utf8(buffer_1[header_start_pr..seq_start_pr - 2].to_vec()) + .unwrap(), + String::from_utf8(buffer_2[header_start..seq_start - 2].to_vec()) + .unwrap() ); } } @@ -1191,31 +1181,29 @@ fn process_buffer( &buffer_2[header_start..read_end], seq_start - header_start, plus_start - header_start, - qual_start - header_start + qual_start - header_start, ); } if reporting_level > 0 { if run_manager.paired_read_input() { // this is for r1 only if paired end - let (qc_total, high_qc) = sum_qc( - &buffer_1[qual_start_pr..read_end_pr], - check_content - ); + let (qc_total, high_qc) = + sum_qc(&buffer_1[qual_start_pr..read_end_pr], check_content); report_manager.update_stats(sample_id, 0, high_qc); report_manager.update_stats(sample_id, 6, qc_total); } let (qc_total, high_qc) = sum_qc( &buffer_2[read_end - barcode_length..read_end], - check_content + check_content, ); report_manager.update_stats(sample_id, 2, high_qc); report_manager.update_stats(sample_id, 8, qc_total); let (qc_total, high_qc) = sum_qc( &buffer_2[qual_start..read_end - barcode_length], - check_content + check_content, ); report_manager.update_stats(sample_id, shift, high_qc); report_manager.update_stats(sample_id, 6 + shift, qc_total); @@ -1239,9 +1227,8 @@ fn process_buffer( Some(curr_sample) => { curr_sample.add_barcode_reads(&buffer_2[header_start..read_end + 1]); if run_manager.paired_read_input() { - curr_sample.add_paired_reads( - &buffer_1[header_start_pr..read_end_pr + 1] - ); + curr_sample + .add_paired_reads(&buffer_1[header_start_pr..read_end_pr + 1]); } } None => {} @@ -1262,13 +1249,12 @@ fn process_buffer( sep_position, !demultiplex, true, - barcode_read_illumina_header_start == usize::MAX + barcode_read_illumina_header_start == usize::MAX, ); if demultiplex { curr_sample.add_barcode_reads(&curr_barcode.as_bytes()); - } else if - sep_position == seq_start - header_start - 3 && - reformated_sample.barcode().len() > 0 + } else if sep_position == seq_start - header_start - 3 + && reformated_sample.barcode().len() > 0 { let mut new_barcode = String::from(" "); new_barcode.push(buffer_2[seq_start - 2] as char); @@ -1277,18 +1263,16 @@ fn process_buffer( curr_sample.add_barcode_reads(&new_barcode.as_bytes()); } if barcode_read_illumina_header_start < usize::MAX { - curr_sample.copy_header_2_paired( - barcode_read_illumina_header_start - ); + curr_sample + .copy_header_2_paired(barcode_read_illumina_header_start); if run_manager.paired_read_input() { - if - demultiplex || - reformated_sample.barcode().len() > 0 || - sep_position < seq_start - header_start - 3 + if demultiplex + || reformated_sample.barcode().len() > 0 + || sep_position < seq_start - header_start - 3 { curr_sample.fix_paired_read_header( tail_offset, - buffer_1[seq_start_pr - 2 - header_shift] + buffer_1[seq_start_pr - 2 - header_shift], ); } @@ -1301,16 +1285,15 @@ fn process_buffer( if run_manager.paired_read_input() { curr_sample.fix_paired_read_header( tail_offset, - buffer_1[seq_start_pr - 2 - header_shift] + buffer_1[seq_start_pr - 2 - header_shift], ); header_start_pr = seq_start_pr - 1; } } header_start = seq_start - 1; } else if run_manager.mgi_full_header() { - curr_sample.add_barcode_reads( - &buffer_2[header_start..seq_start - 1] - ); + curr_sample + .add_barcode_reads(&buffer_2[header_start..seq_start - 1]); header_info = String::from(" "); if curr_umi.len() > 0 { header_info.push_str(&curr_umi[1..curr_umi.len()]); @@ -1324,12 +1307,11 @@ fn process_buffer( if run_manager.paired_read_input() { curr_sample.add_paired_reads( - &buffer_1[header_start_pr..seq_start_pr - 1] + &buffer_1[header_start_pr..seq_start_pr - 1], ); unsafe { - header_info.as_bytes_mut()[curr_umi.len() + 1] = buffer_1[ - seq_start_pr - 2 - ]; + header_info.as_bytes_mut()[curr_umi.len() + 1] = + buffer_1[seq_start_pr - 2]; } curr_sample.add_paired_reads(header_info.as_bytes()); header_start_pr = seq_start_pr - 1; @@ -1337,16 +1319,15 @@ fn process_buffer( } curr_sample.add_barcode_reads( - &buffer_2[header_start..plus_start - writen_barcode_length - 1] + &buffer_2[header_start..plus_start - writen_barcode_length - 1], ); curr_sample.add_barcode_reads( - &buffer_2[plus_start - 1..read_end - writen_barcode_length] + &buffer_2[plus_start - 1..read_end - writen_barcode_length], ); curr_sample.add_barcode_reads(&[b'\n']); if run_manager.paired_read_input() { - curr_sample.add_paired_reads( - &buffer_1[header_start_pr..read_end_pr + 1] - ); + curr_sample + .add_paired_reads(&buffer_1[header_start_pr..read_end_pr + 1]); } } None => { @@ -1370,17 +1351,15 @@ fn analyse_fastq( sample_manager: &SampleManager, run_manager: &RunManager, buffer_info: &BufferInfo, - all_template_data: Vec< - ( - u32, - HashSet, - HashSet, - String, - HashMap)>, - bool, - [usize; 10], - ) - >, + all_template_data: Vec<( + u32, + HashSet, + HashSet, + String, + HashMap)>, + bool, + [usize; 10], + )>, reporting_level: usize, allowed_mismatches: usize, all_index_error: bool, @@ -1392,7 +1371,7 @@ fn analyse_fastq( samples_locks: Arc>>, demultiplex: bool, reformated_sample: &ReformatedSample, - mut warnings_ls: Vec + mut warnings_ls: Vec, ) -> ReportManager { let curr_thread = thread::current().name().unwrap_or("Unnamed").to_string(); info!("Thread ({}) has started.", curr_thread); @@ -1402,7 +1381,7 @@ fn analyse_fastq( run_manager, buffer_info, run_manager.read2_has_sequence(), - run_manager.illumina_format() + run_manager.illumina_format(), ) } else { let mut sample = SampleData::new( @@ -1410,16 +1389,20 @@ fn analyse_fastq( run_manager.paired_read_input(), run_manager.read2_has_sequence(), buffer_info.clone(), - run_manager.create_illumina_header_prefix() + run_manager.create_illumina_header_prefix(), ); sample.create_files( run_manager.lane(), reformated_sample.sample_index(), run_manager.illumina_format(), run_manager.output_dir(), - run_manager.paired_read_input() + run_manager.paired_read_input(), ); - vec![sample, SampleData::minimal_sample(), SampleData::minimal_sample()] + vec![ + sample, + SampleData::minimal_sample(), + SampleData::minimal_sample(), + ] }; //let project_samples = get_project_samples(sample_information).unwrap(); @@ -1489,17 +1472,11 @@ fn analyse_fastq( } false => { //let start = Instant::now(); - read_bytes_2 = read_buffers( - read_bytes_2, - &mut main_buffer_2, - &mut reader_barcode_read - ); + read_bytes_2 = + read_buffers(read_bytes_2, &mut main_buffer_2, &mut reader_barcode_read); if paired_input { - read_bytes_1 = read_buffers( - read_bytes_1, - &mut main_buffer_1, - &mut reader_paired_read - ); + read_bytes_1 = + read_buffers(read_bytes_1, &mut main_buffer_1, &mut reader_paired_read); } //reading_time += start.elapsed(); (Vec::new(), Vec::new(), Vec::new(), Vec::new()) @@ -1510,9 +1487,8 @@ fn analyse_fastq( if read_bytes_2 == 0 && read_bytes_1 == 0 { info!("Thread ({}) has finished.", curr_thread); break; - } else if - (read_bytes_2 == 0 && read_bytes_1 != 0) || - (read_bytes_2 != 0 && read_bytes_1 == 0 && run_manager.paired_read_input()) + } else if (read_bytes_2 == 0 && read_bytes_1 != 0) + || (read_bytes_2 != 0 && read_bytes_1 == 0 && run_manager.paired_read_input()) { panic!("Something wrong in the input files!"); } @@ -1556,7 +1532,7 @@ fn analyse_fastq( }, demultiplex, reformated_sample, - &mut warnings_ls + &mut warnings_ls, ); //read_leftover_leng_rp @@ -1588,7 +1564,7 @@ fn analyse_fastq( &mut main_buffer_2, header_start, 0, - read_bytes_2 - header_start + read_bytes_2 - header_start, ); read_bytes_2 -= header_start; header_start = 0; @@ -1603,7 +1579,7 @@ fn analyse_fastq( &mut main_buffer_1, header_start_pr, 0, - read_bytes_1 - header_start_pr + read_bytes_1 - header_start_pr, ); read_bytes_1 -= header_start_pr; header_start_pr = 0; @@ -1642,34 +1618,97 @@ pub fn initiate_demultiplexing(demultiplex_command: &ArgMatches) { //let arg_read2_file_name_suf: &String = demultiplex_command.get_one::("arg_read2_file_name_suf").unwrap(); //let arg_info_file: &String = demultiplex_command.get_one::("arg_info_file").unwrap(); let sample_manager = SampleManager::new( - demultiplex_command.get_one::("arg_sample_sheet_file_path").unwrap().to_string(), - demultiplex_command.get_one::("arg_template").unwrap().to_string(), - demultiplex_command.get_one::("arg_i7_rc").unwrap().clone(), - demultiplex_command.get_one::("arg_i5_rc").unwrap().clone(), - demultiplex_command.get_one::("arg_undetermined_label").unwrap().to_string(), - demultiplex_command.get_one::("arg_ambiguous_label").unwrap().to_string() + demultiplex_command + .get_one::("arg_sample_sheet_file_path") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_template") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_i7_rc") + .unwrap() + .clone(), + demultiplex_command + .get_one::("arg_i5_rc") + .unwrap() + .clone(), + demultiplex_command + .get_one::("arg_undetermined_label") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_ambiguous_label") + .unwrap() + .to_string(), ); let mut run_manager = RunManager::new( - demultiplex_command.get_one::("arg_input_folder_path").unwrap().to_string(), - demultiplex_command.get_one::("arg_read1_file_path").unwrap().to_string(), - demultiplex_command.get_one::("arg_read2_file_path").unwrap().to_string(), - demultiplex_command.get_one::("arg_ouput_dir").unwrap().to_string(), - demultiplex_command.get_one::("arg_report_dir").unwrap().to_string(), - demultiplex_command.get_one::("arg_lane").unwrap().to_string(), - demultiplex_command.get_one::("arg_instrument").unwrap().to_string(), - demultiplex_command.get_one::("arg_run").unwrap().to_string(), + demultiplex_command + .get_one::("arg_input_folder_path") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_read1_file_path") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_read2_file_path") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_ouput_dir") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_report_dir") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_lane") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_instrument") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_run") + .unwrap() + .to_string(), !*demultiplex_command.get_one::("arg_not_mgi").unwrap(), *demultiplex_command.get_one::("arg_force").unwrap(), - demultiplex_command.get_one::("arg_read1_file_name_suf").unwrap().to_string(), - demultiplex_command.get_one::("arg_read2_file_name_suf").unwrap().to_string(), - demultiplex_command.get_one::("arg_info_file").unwrap().to_string(), - !*demultiplex_command.get_one::("arg_disable_illumina_format").unwrap(), - *demultiplex_command.get_one::("arg_keep_barcode").unwrap(), - *demultiplex_command.get_one::("arg_comprehensive_scan").unwrap(), - *demultiplex_command.get_one::("arg_ignore_undetermined").unwrap(), - *demultiplex_command.get_one::("arg_check_content").unwrap(), - *demultiplex_command.get_one::("arg_mgi_full_header").unwrap() + demultiplex_command + .get_one::("arg_read1_file_name_suf") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_read2_file_name_suf") + .unwrap() + .to_string(), + demultiplex_command + .get_one::("arg_info_file") + .unwrap() + .to_string(), + !*demultiplex_command + .get_one::("arg_disable_illumina_format") + .unwrap(), + *demultiplex_command + .get_one::("arg_keep_barcode") + .unwrap(), + *demultiplex_command + .get_one::("arg_comprehensive_scan") + .unwrap(), + *demultiplex_command + .get_one::("arg_ignore_undetermined") + .unwrap(), + *demultiplex_command + .get_one::("arg_check_content") + .unwrap(), + *demultiplex_command + .get_one::("arg_mgi_full_header") + .unwrap(), ); let (barcode_read_info, paired_read_info) = run_manager.get_read_information(); if run_manager.lane().len() == 0 { @@ -1701,54 +1740,63 @@ pub fn initiate_demultiplexing(demultiplex_command: &ArgMatches) { let mut buffer_info = BufferInfo::new( writing_buffer_size, compression_buffer_size, - *demultiplex_command.get_one::("arg_compression_level").unwrap(), + *demultiplex_command + .get_one::("arg_compression_level") + .unwrap(), compression_buffer_size - barcode_read_info.read_length() - paired_read_info.read_length(), - writing_buffer_size + writing_buffer_size, ); let arg_memory: f64 = *demultiplex_command.get_one::("arg_memory").unwrap(); if 0.0 < arg_memory && arg_memory <= 0.5 { panic!("Requested memory should be greater than 0.5 GB!"); } - - let mut tmp_reader_threads = *demultiplex_command.get_one::("arg_threads_r").unwrap(); - let mut tmp_processing_threads = *demultiplex_command.get_one::("arg_threads_w").unwrap(); - - let (reader_threads, processing_threads) = if tmp_processing_threads > 0 && tmp_reader_threads > 0 { - if run_manager.paired_read_input(){ + + let mut tmp_reader_threads = *demultiplex_command + .get_one::("arg_threads_r") + .unwrap(); + + let mut tmp_processing_threads = *demultiplex_command + .get_one::("arg_threads_w") + .unwrap(); + + let (reader_threads, processing_threads) = if tmp_processing_threads > 0 + && tmp_reader_threads > 0 + { + if run_manager.paired_read_input() { if tmp_reader_threads > 4 { - warn!("Reader threads can not be more than 4!"); + warn!("Reader threads can not be more than 4! extra threads will be used for processing!"); + tmp_processing_threads += tmp_reader_threads - 4; tmp_reader_threads = 4; - }else if tmp_reader_threads == 3 { - warn!("Reader threads shoyuld be either 0, 1, 2, or 4!"); + } else if tmp_reader_threads == 3 { + warn!("Reader threads shoyuld be either 0, 1, 2, or 4! extra threads will be used for processing!"); tmp_reader_threads = 2; + tmp_processing_threads += 1; } - }else{ - if tmp_reader_threads > 2{ - warn!("Reader threads can not be more than 2 for single end input!"); + } else { + if tmp_reader_threads > 2 { + warn!("Reader threads can not be more than 2 for single end input!, extra threads will be used for processing!"); + tmp_processing_threads += tmp_reader_threads - 2; tmp_reader_threads = 2; } } - info!("Reader threads ({}) and processing threads ({}) will be used!", - tmp_reader_threads, - tmp_processing_threads + info!( + "Reader threads ({}) and processing threads ({}) will be used!", + tmp_reader_threads, tmp_processing_threads ); (tmp_reader_threads, tmp_processing_threads) - }else - { + } else { get_cpus( - *demultiplex_command.get_one::("arg_threads").unwrap(), - run_manager.paired_read_input() + *demultiplex_command.get_one::("arg_threads").unwrap(), + run_manager.paired_read_input(), ) }; - - let max_buffer_size = calculate_largest_buffer_size( get_available_memory(arg_memory), sample_manager.get_sample_count(), buffer_info.compression_buffer_size(), !run_manager.paired_read_input(), - processing_threads + processing_threads, ); buffer_info.calculate_final_writing_buffer_size(max_buffer_size); @@ -1766,31 +1814,33 @@ pub fn initiate_demultiplexing(demultiplex_command: &ArgMatches) { .get_one::("arg_all_index_error") .unwrap(); - match - demultiplex( - &sample_manager, - &run_manager, - &buffer_info, - *arg_allowed_mismatches, - *arg_report_level, - *arg_all_index_error, - reader_threads, - processing_threads - ) - { + match demultiplex( + &sample_manager, + &run_manager, + &buffer_info, + *arg_allowed_mismatches, + *arg_report_level, + *arg_all_index_error, + reader_threads, + processing_threads, + ) { Ok(mut report_manager) => { let max_mismatches = if *arg_all_index_error { *arg_allowed_mismatches + 1 } else { *arg_allowed_mismatches * 2 + 1 }; - let shift = if run_manager.paired_read_input() { 1 } else { 0 }; + let shift = if run_manager.paired_read_input() { + 1 + } else { + 0 + }; report_manager.prepare_final_data( max_mismatches, shift, &barcode_read_info, &paired_read_info, - barcode_length + barcode_length, ); report_manager.write_reports( &run_manager, @@ -1798,7 +1848,7 @@ pub fn initiate_demultiplexing(demultiplex_command: &ArgMatches) { *arg_report_level, *arg_report_limit, max_mismatches, - usize::MAX + usize::MAX, ); } Err(err) => eprintln!("Error: {}", err), @@ -1809,7 +1859,7 @@ pub fn merge_qc_reports( qc_report_paths: &[String], output_dir: &String, lane: &String, - project: &String + project: &String, ) { if qc_report_paths.len() == 0 { panic!("report directories are not provided!"); @@ -1818,7 +1868,11 @@ pub fn merge_qc_reports( if output_dir.len() == 0 { info!("output will be written to the current work directory!"); } - let used_lane = if lane.len() == 0 { String::from("all") } else { lane.to_string() }; + let used_lane = if lane.len() == 0 { + String::from("all") + } else { + lane.to_string() + }; let mut project_id: String; let mut sample_id: String; @@ -1855,10 +1909,7 @@ pub fn merge_qc_reports( continue; } //println!("{}", line); - vals = line - .split("\t") - .map(|x| x.to_string()) - .collect(); + vals = line.split("\t").map(|x| x.to_string()).collect(); project_id = vals.remove(0); sample_id = vals.remove(0); sample_index = sample_manager.get_sample_index(&sample_id); @@ -1882,7 +1933,14 @@ pub fn merge_qc_reports( } report_manager.truncate_mismatches(max_mismatches); - report_manager.write_reports(&run_manager, &sample_manager, 2, 0, max_mismatches, usize::MAX); + report_manager.write_reports( + &run_manager, + &sample_manager, + 2, + 0, + max_mismatches, + usize::MAX, + ); //for (sample_id, val) in map.iter_mut() { } } @@ -1890,7 +1948,10 @@ pub fn merge_qc_reports( pub fn detect_template(template_command: &ArgMatches) { let start = Instant::now(); let sample_manager = SampleManager::from_simple_sheet( - template_command.get_one::("arg_sample_sheet_file_path").unwrap().to_string() + template_command + .get_one::("arg_sample_sheet_file_path") + .unwrap() + .to_string(), ); let path = Path::new(template_command.get_one::("arg_ouput_dir").unwrap()); @@ -1901,15 +1962,21 @@ pub fn detect_template(template_command: &ArgMatches) { .unwrap_or("") .to_string(); - let parent_path = path - .parent() - .and_then(|p| p.to_str()) - .unwrap_or(""); + let parent_path = path.parent().and_then(|p| p.to_str()).unwrap_or(""); let mut run_manager = RunManager::new( - template_command.get_one::("arg_input_folder_path").unwrap().to_string(), - template_command.get_one::("arg_read1_file_path").unwrap().to_string(), - template_command.get_one::("arg_read2_file_path").unwrap().to_string(), + template_command + .get_one::("arg_input_folder_path") + .unwrap() + .to_string(), + template_command + .get_one::("arg_read1_file_path") + .unwrap() + .to_string(), + template_command + .get_one::("arg_read2_file_path") + .unwrap() + .to_string(), parent_path.to_string(), String::new(), String::new(), @@ -1917,22 +1984,35 @@ pub fn detect_template(template_command: &ArgMatches) { String::new(), true, true, - template_command.get_one::("arg_read1_file_name_suf").unwrap().to_string(), - template_command.get_one::("arg_read2_file_name_suf").unwrap().to_string(), - template_command.get_one::("arg_info_file").unwrap().to_string(), + template_command + .get_one::("arg_read1_file_name_suf") + .unwrap() + .to_string(), + template_command + .get_one::("arg_read2_file_name_suf") + .unwrap() + .to_string(), + template_command + .get_one::("arg_info_file") + .unwrap() + .to_string(), true, false, true, true, true, - false + false, ); let input_barcode_length: usize = *template_command .get_one::("arg_barcode_length") .unwrap(); - let testing_reads: usize = *template_command.get_one::("arg_testing_reads").unwrap(); - let max_umi_length: usize = *template_command.get_one::("arg_max_umi_length").unwrap(); + let testing_reads: usize = *template_command + .get_one::("arg_testing_reads") + .unwrap(); + let max_umi_length: usize = *template_command + .get_one::("arg_max_umi_length") + .unwrap(); let use_popular_template: bool = *template_command .get_one::("arg_popular_template") .unwrap(); @@ -1947,11 +2027,10 @@ pub fn detect_template(template_command: &ArgMatches) { } else { barcode_length = barcode_read_info.sequence_length() - paired_read_info.sequence_length(); info!("Barcode length is calculated as the difference between R2 length and R1."); - let max_barcode_length: usize = match - sample_indexes - .iter() - .map(|it| it[0].len() + it[2].len()) - .max() + let max_barcode_length: usize = match sample_indexes + .iter() + .map(|it| it[0].len() + it[2].len()) + .max() { Some(tmp_max) => tmp_max, None => panic!("Sample sheet should have samples!"), @@ -1987,10 +2066,9 @@ pub fn detect_template(template_command: &ArgMatches) { } read_barcode_seq = String::new(); barcode_reader.read_line(&mut read_barcode_seq).unwrap(); - read_barcode_seq = - read_barcode_seq[ - read_barcode_seq.len() - barcode_length - 1..read_barcode_seq.len() - 1 - ].to_string(); + read_barcode_seq = read_barcode_seq + [read_barcode_seq.len() - barcode_length - 1..read_barcode_seq.len() - 1] + .to_string(); //println!(" {} Barcode seq: {}", read_cntr, read_barcode_seq); for sample_itr in 0..sample_indexes.len() { @@ -2007,7 +2085,7 @@ pub fn detect_template(template_command: &ArgMatches) { &sample_i7, &sample_i7_rc, &sample_i5, - &sample_i5_rc + &sample_i5_rc, ); } @@ -2023,10 +2101,8 @@ pub fn detect_template(template_command: &ArgMatches) { sample_reads_final.push(Vec::new()); for (template_str, sample_reads) in &matches_stat { if sample_reads[sample_itr] > 0 { - sample_reads_final[sample_itr].push(( - template_str.to_string(), - sample_reads[sample_itr], - )); + sample_reads_final[sample_itr] + .push((template_str.to_string(), sample_reads[sample_itr])); no_matches = false; } } @@ -2061,7 +2137,7 @@ pub fn detect_template(template_command: &ArgMatches) { add_umi, barcode_length, sample_indexes[0][0].len(), - sample_indexes[0][2].len() + sample_indexes[0][2].len(), ); info!( "The most frequent template is {} - Appeared {} times!", @@ -2088,9 +2164,8 @@ pub fn detect_template(template_command: &ArgMatches) { out_str.push('\t'); if use_popular_template { - if - sample_reads_final[sample_itr].len() > 0 && - popular_template != sample_reads_final[sample_itr][0].0 + if sample_reads_final[sample_itr].len() > 0 + && popular_template != sample_reads_final[sample_itr][0].0 { info!( "Using popular template for sample {} instead of its detected template {}!", @@ -2109,7 +2184,7 @@ pub fn detect_template(template_command: &ArgMatches) { add_umi, barcode_length, sample_information[sample_itr][I7_COLUMN].len(), - sample_information[sample_itr][I5_COLUMN].len() + sample_information[sample_itr][I5_COLUMN].len(), ); out_str.push_str(&template_info.0); out_str.push('\t'); @@ -2118,20 +2193,18 @@ pub fn detect_template(template_command: &ArgMatches) { out_str.push_str(&template_info.2); } else { let template_info = match sample_reads_final[sample_itr].len() > 0 { - true => - get_mgikit_template( - &sample_reads_final[sample_itr][0].0, - add_umi, - barcode_length, - sample_indexes[sample_itr][0].len(), - sample_indexes[sample_itr][2].len() - ), - false => - ( - String::from("No matches with this sample"), - String::from("."), - String::from("."), - ), + true => get_mgikit_template( + &sample_reads_final[sample_itr][0].0, + add_umi, + barcode_length, + sample_indexes[sample_itr][0].len(), + sample_indexes[sample_itr][2].len(), + ), + false => ( + String::from("No matches with this sample"), + String::from("."), + String::from("."), + ), }; out_str.push_str(&template_info.0); out_str.push('\t'); @@ -2165,45 +2238,87 @@ pub fn detect_template(template_command: &ArgMatches) { } write_file( - &format!("{}/{}_template.tsv", run_manager.output_dir().display(), output_file), - &out_str + &format!( + "{}/{}_template.tsv", + run_manager.output_dir().display(), + output_file + ), + &out_str, ); write_file( - &format!("{}/{}_details.tsv", run_manager.output_dir().display(), output_file), - &out_str_full + &format!( + "{}/{}_details.tsv", + run_manager.output_dir().display(), + output_file + ), + &out_str_full, ); let dur = start.elapsed(); - info!("{} reads were processed in {} secs.", read_cntr, dur.as_secs()); + info!( + "{} reads were processed in {} secs.", + read_cntr, + dur.as_secs() + ); } pub fn reformat(reformat_command: &ArgMatches) -> Result<(), Box> { - let reporting_level: usize = *reformat_command.get_one::("arg_report_level").unwrap(); + let reporting_level: usize = *reformat_command + .get_one::("arg_report_level") + .unwrap(); let start = Instant::now(); let dur: std::time::Duration; let mut run_manager = RunManager::new( String::new(), - reformat_command.get_one::("arg_read1_file_path").unwrap().to_string(), - reformat_command.get_one::("arg_read2_file_path").unwrap().to_string(), - reformat_command.get_one::("arg_ouput_dir").unwrap().to_string(), - reformat_command.get_one::("arg_report_dir").unwrap().to_string(), - reformat_command.get_one::("arg_lane").unwrap().to_string(), - reformat_command.get_one::("arg_instrument").unwrap().to_string(), - reformat_command.get_one::("arg_run").unwrap().to_string(), + reformat_command + .get_one::("arg_read1_file_path") + .unwrap() + .to_string(), + reformat_command + .get_one::("arg_read2_file_path") + .unwrap() + .to_string(), + reformat_command + .get_one::("arg_ouput_dir") + .unwrap() + .to_string(), + reformat_command + .get_one::("arg_report_dir") + .unwrap() + .to_string(), + reformat_command + .get_one::("arg_lane") + .unwrap() + .to_string(), + reformat_command + .get_one::("arg_instrument") + .unwrap() + .to_string(), + reformat_command + .get_one::("arg_run") + .unwrap() + .to_string(), true, *reformat_command.get_one::("arg_force").unwrap(), String::new(), String::new(), - reformat_command.get_one::("arg_info_file").unwrap().to_string(), - !*reformat_command.get_one::("arg_disable_illumina_format").unwrap(), + reformat_command + .get_one::("arg_info_file") + .unwrap() + .to_string(), + !*reformat_command + .get_one::("arg_disable_illumina_format") + .unwrap(), + false, false, false, + *reformat_command + .get_one::("arg_check_content") + .unwrap(), false, - *reformat_command.get_one::("arg_check_content").unwrap(), - false ); let (barcode_read_info, paired_read_info) = run_manager.get_read_information(); if run_manager.lane().len() == 0 { @@ -2220,7 +2335,12 @@ pub fn reformat(reformat_command: &ArgMatches) -> Result<(), Box> { .unwrap(); let (sample_label_sb, _, sb_lane, _) = parse_sb_file_name( - &run_manager.barcode_reads().file_stem().unwrap().to_string_lossy().to_string() + &run_manager + .barcode_reads() + .file_stem() + .unwrap() + .to_string_lossy() + .to_string(), ); let mut sample_label = reformat_command @@ -2244,17 +2364,24 @@ pub fn reformat(reformat_command: &ArgMatches) -> Result<(), Box> { } let reformated_sample = ReformatedSample::new( sample_label.clone(), - *reformat_command.get_one::("arg_sample_index").unwrap(), + *reformat_command + .get_one::("arg_sample_index") + .unwrap(), *reformat_command.get_one::("arg_umi_length").unwrap(), - reformat_command.get_one::("arg_barcode").unwrap().to_string() + reformat_command + .get_one::("arg_barcode") + .unwrap() + .to_string(), ); let mut buffer_info = BufferInfo::new( writing_buffer_size, compression_buffer_size, - *reformat_command.get_one::("arg_compression_level").unwrap(), + *reformat_command + .get_one::("arg_compression_level") + .unwrap(), compression_buffer_size - barcode_read_info.read_length() - paired_read_info.read_length(), - writing_buffer_size + writing_buffer_size, ); let arg_memory: f64 = *reformat_command.get_one::("arg_memory").unwrap(); @@ -2266,7 +2393,7 @@ pub fn reformat(reformat_command: &ArgMatches) -> Result<(), Box> { 1, buffer_info.compression_buffer_size(), !run_manager.paired_read_input(), - 1 + 1, ); buffer_info.calculate_final_writing_buffer_size(max_buffer_size); @@ -2276,14 +2403,14 @@ pub fn reformat(reformat_command: &ArgMatches) -> Result<(), Box> { run_manager.paired_read_input(), run_manager.read2_has_sequence(), buffer_info.clone(), - run_manager.create_illumina_header_prefix() + run_manager.create_illumina_header_prefix(), ); sample.create_files( run_manager.lane(), reformated_sample.sample_index(), run_manager.illumina_format(), run_manager.output_dir(), - run_manager.paired_read_input() + run_manager.paired_read_input(), ); sample.delete_sample_files(); } @@ -2310,7 +2437,7 @@ pub fn reformat(reformat_command: &ArgMatches) -> Result<(), Box> { samples_locks_arc, false, &reformated_sample, - vec![true; 10] + vec![true; 10], ); if reporting_level > 0 { @@ -2323,11 +2450,15 @@ pub fn reformat(reformat_command: &ArgMatches) -> Result<(), Box> { }, &barcode_read_info, &paired_read_info, - reformated_sample.umi_length() + reformated_sample.umi_length(), ); } report_manager.write_reports(&run_manager, &sample_manager, reporting_level, 0, 5, 0); dur = start.elapsed(); - info!("{} reads were processed in {} secs.", report_manager.get_total_reads(), dur.as_secs()); + info!( + "{} reads were processed in {} secs.", + report_manager.get_total_reads(), + dur.as_secs() + ); Ok(()) } diff --git a/src/main.rs b/src/main.rs index 1828148..94c2769 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,24 +2,24 @@ #![doc(html_logo_url = "assets/SAGC-logo-hover.png")] #![doc(issue_tracker_base_url = "https://github.com/sagc-bioinformatics/mgikit/issues")] -use std::time::Instant; -use std::str; use chrono; +use clap::{Arg, ArgAction, Command}; +use env_logger::{Builder, Target}; +use log::{error, info, warn, LevelFilter}; use mgikit::*; -use termion::terminal_size; -use clap::{ ArgAction, Command, Arg }; -use log::{ warn, info, error, LevelFilter }; use std::env; -use env_logger::{ Builder, Target }; +use std::str; use std::str::FromStr; +use std::time::Instant; +use termion::terminal_size; const VERSION: &str = env!("CARGO_PKG_VERSION"); fn print_logo() { //let (width, _) = terminal_size().unwrap(); let (width, _) = match terminal_size() { - Ok(value) => { value } - Err(_) => { (80, 0) } + Ok(value) => value, + Err(_) => (80, 0), }; //let width = 80; if width > 43 { @@ -737,9 +737,8 @@ fn main() { initiate_demultiplexing(demultiplex_command); } Some(("report", report_command)) => { - let arg_ouput_dir: &String = report_command - .get_one::("arg_ouput_dir") - .unwrap(); + let arg_ouput_dir: &String = + report_command.get_one::("arg_ouput_dir").unwrap(); let arg_qc_report_path: Vec = report_command .get_many::("arg_qc_report_path") .unwrap() diff --git a/src/report_manager.rs b/src/report_manager.rs index e9ee187..48f47ff 100644 --- a/src/report_manager.rs +++ b/src/report_manager.rs @@ -1,13 +1,13 @@ +use crate::file_utils::{create_output_file, get_buf_writer}; +use crate::{run_manager::ReadInfo, variables::*, RunManager, SampleManager}; +use log::{error, info}; use std::collections::HashMap; -use log::{ info, error }; -use std::time::Instant; use std::collections::HashSet; -use crate::{ run_manager::ReadInfo, RunManager, SampleManager, variables::* }; -use crate::file_utils::{ get_buf_writer, create_output_file }; -use std::path::PathBuf; -use std::io::Write; -use std::io::BufWriter; use std::fs::File; +use std::io::BufWriter; +use std::io::Write; +use std::path::PathBuf; +use std::time::Instant; pub fn write_general_info_report( sample_information: &Vec>, @@ -16,7 +16,7 @@ pub fn write_general_info_report( run: &String, lane: &String, output_file: &PathBuf, - execluded_samples: &Vec + execluded_samples: &Vec, ) { //Mb Total Yield: total bases as cnt of r1 + r2 //M Total Clusters: number of reads @@ -25,22 +25,22 @@ pub fn write_general_info_report( //% Perfect Index: index with 0 mismatches / all reads. /* - sample_statistics[sample_id]: - 0: r1 count of qs > 30 - 1: r2 count os qs > 30 - 2: r3 count of (barcode) with qs > 30 - - 3: r1 count of bases - 4: r2 count of bases - 5: r3 count of bases - - 6: qs of r1 - 7: qs of r2 - 8: qs of r3 - 9: read count - from 10 to whatever mismatches allowed: is the number oif reads with the iteration mismatch - - */ + sample_statistics[sample_id]: + 0: r1 count of qs > 30 + 1: r2 count os qs > 30 + 2: r3 count of (barcode) with qs > 30 + + 3: r1 count of bases + 4: r2 count of bases + 5: r3 count of bases + + 6: qs of r1 + 7: qs of r2 + 8: qs of r3 + 9: read count + from 10 to whatever mismatches allowed: is the number oif reads with the iteration mismatch + + */ let mut out_str = String::from( "#sample general info\nSample ID\tM Clusters\tMb Yield ≥ Q30\t% R1 Yield ≥ Q30\t% R2 Yield ≥ Q30\t% R3 Yield ≥ Q30\t% Perfect Index\n" ); @@ -64,13 +64,17 @@ pub fn write_general_info_report( } if unique_sample_ids.len() == sample_information.len() { - sample_statistics_copy.sort_by(|a, b| - b[9].cmp(&a[9]).then_with(|| a.last().unwrap().cmp(&b.last().unwrap())) - ); + sample_statistics_copy.sort_by(|a, b| { + b[9].cmp(&a[9]) + .then_with(|| a.last().unwrap().cmp(&b.last().unwrap())) + }); } for sample_id_itr in 0..sample_statistics_copy.len() { - sample_id = sample_statistics_copy[sample_id_itr].last().unwrap().clone() as usize; + sample_id = sample_statistics_copy[sample_id_itr] + .last() + .unwrap() + .clone() as usize; if kept_samples.len() > 0 && !kept_samples.contains(&sample_id) { continue; @@ -169,13 +173,17 @@ pub fn write_general_info_report( final_out_str.push_str(&format!("{}", lane_statistics[1] / 1000000.0)); final_out_str.push('\t'); - final_out_str.push_str(&format!("{:.3?}", (lane_statistics[2] / lane_statistics[0]) * 100.0)); + final_out_str.push_str(&format!( + "{:.3?}", + (lane_statistics[2] / lane_statistics[0]) * 100.0 + )); final_out_str.push('\t'); final_out_str.push_str(&format!("{:.3?}", lane_statistics[3] / lane_statistics[0])); final_out_str.push('\t'); - final_out_str.push_str( - &format!("{:.3?}", (lane_statistics[4] / (lane_statistics[1] - execluded_reads)) * 100.0) - ); + final_out_str.push_str(&format!( + "{:.3?}", + (lane_statistics[4] / (lane_statistics[1] - execluded_reads)) * 100.0 + )); final_out_str.push('\n'); final_out_str.push_str(&out_str); @@ -190,7 +198,7 @@ pub fn write_index_info_report( kept_samples: &Vec, max_mismatches: usize, output_file: &PathBuf, - execluded_samples: &Vec + execluded_samples: &Vec, ) { let mut report_str = String::from("sample"); @@ -212,9 +220,10 @@ pub fn write_index_info_report( } if unique_sample_ids.len() == sample_information.len() { - sample_mismatches_copy.sort_by(|a, b| - b[0].cmp(&a[0]).then_with(|| a.last().unwrap().cmp(&b.last().unwrap())) - ); + sample_mismatches_copy.sort_by(|a, b| { + b[0].cmp(&a[0]) + .then_with(|| a.last().unwrap().cmp(&b.last().unwrap())) + }); } //sample_mismatches_copy.sort_by(|a, b| b[0].cmp(&a[0])); for sample_id_itr in 0..sample_mismatches_copy.len() { @@ -263,17 +272,17 @@ impl ReportManager { 0: r1 count of qs > 30 1: r2 count os qs > 30 2: r3 count of (barcode) with qs > 30 - + 3: r1 count of bases 4: r2 count of bases 5: r3 count of bases - + 6: qs of r1 7: qs of r2 8: qs of r3 9: read count from 10 to whatever mismatches allowed: is the number oif reads with the iteration mismatch - + */ } Self { @@ -315,7 +324,8 @@ impl ReportManager { increment ); debug!("update mismatches: {:?}", &self.sample_mismatches[sample_id]); - */ self.sample_mismatches[sample_id][index] += increment; + */ + self.sample_mismatches[sample_id][index] += increment; } pub fn update_undetermined(&mut self, curr_barcode: String, increment: u64) { @@ -430,7 +440,7 @@ impl ReportManager { shift: usize, barcode_read_info: &ReadInfo, paired_read_info: &ReadInfo, - barcode_length: usize + barcode_length: usize, ) { //let max_mismatches = if all_index_error {allowed_mismatches + 1} else {allowed_mismatches * 2 + 1}; for sample_id in 0..self.total_samples { @@ -438,8 +448,8 @@ impl ReportManager { (*paired_read_info.sequence_length() as u64) * self.sample_mismatches[sample_id][0]; self.sample_statistics[sample_id][6] -= self.sample_statistics[sample_id][3] * 33; self.sample_statistics[sample_id][shift + 3] = - ((barcode_read_info.sequence_length() - barcode_length) as u64) * - self.sample_mismatches[sample_id][0]; + ((barcode_read_info.sequence_length() - barcode_length) as u64) + * self.sample_mismatches[sample_id][0]; self.sample_statistics[sample_id][5] = (barcode_length as u64) * self.sample_mismatches[sample_id][0]; self.sample_statistics[sample_id][6 + shift] -= @@ -459,7 +469,7 @@ impl ReportManager { reporting_level: usize, report_limit: usize, mut max_mismatches: usize, - individual_sample: usize + individual_sample: usize, ) { let start_logs = Instant::now(); let mut sample_stats_width: usize = self.sample_statistics[0].len(); @@ -531,7 +541,7 @@ impl ReportManager { samples, max_mismatches, &out_file, - &execluded_samples + &execluded_samples, ); //Finish writing info report @@ -548,7 +558,7 @@ impl ReportManager { &run_manager.flowcell(), &run_manager.lane(), &out_file, - &execluded_samples + &execluded_samples, ); } //start writing general report @@ -579,7 +589,10 @@ impl ReportManager { } } outfile = create_output_file( - &run_manager.report_dir().clone().join(format!("{}sample_stats", &report_path_main)) + &run_manager + .report_dir() + .clone() + .join(format!("{}sample_stats", &report_path_main)), ); outfile.write_all(&out_str.as_bytes()).unwrap(); } @@ -593,7 +606,7 @@ impl ReportManager { &run_manager .report_dir() .clone() - .join(format!("{}ambiguous_barcode", &report_path_main)) + .join(format!("{}ambiguous_barcode", &report_path_main)), ); ambiguous_barcodes_out.sort_by(|a, b| (a.1, a.0).cmp(&(b.1, b.0)).reverse()); rep_itr = 0; @@ -611,7 +624,7 @@ impl ReportManager { &run_manager .report_dir() .clone() - .join(format!("{}ambiguous_barcode.complete", &report_path_main)) + .join(format!("{}ambiguous_barcode.complete", &report_path_main)), ); for barcode in &ambiguous_barcodes_out { outfile @@ -628,7 +641,7 @@ impl ReportManager { &run_manager .report_dir() .clone() - .join(&format!("{}undetermined_barcode", report_path_main)) + .join(&format!("{}undetermined_barcode", report_path_main)), ); undetermined_barcodes_out.sort_by(|a, b| (a.1, a.0).cmp(&(b.1, b.0)).reverse()); for barcode in &undetermined_barcodes_out { @@ -641,12 +654,10 @@ impl ReportManager { } } - outfile = get_buf_writer( - &run_manager - .report_dir() - .clone() - .join(&format!("{}undetermined_barcode.complete", report_path_main)) - ); + outfile = get_buf_writer(&run_manager.report_dir().clone().join(&format!( + "{}undetermined_barcode.complete", + report_path_main + ))); undetermined_barcodes_out.sort_by(|a, b| (a.1, a.0).cmp(&(b.1, b.0)).reverse()); for barcode in &undetermined_barcodes_out { outfile @@ -658,6 +669,9 @@ impl ReportManager { let log_dur = start_logs.elapsed(); - info!("Writing all logs and reports took {} secs.", log_dur.as_secs()); + info!( + "Writing all logs and reports took {} secs.", + log_dur.as_secs() + ); } } diff --git a/src/sample_data.rs b/src/sample_data.rs index 673e9ed..44e78d1 100644 --- a/src/sample_data.rs +++ b/src/sample_data.rs @@ -1,11 +1,11 @@ +use crate::file_utils::delete_file; +use crate::{RunManager, SampleManager}; use getset::CopyGetters; -use std::{ path::PathBuf, sync::Mutex }; +use libdeflater::{CompressionLvl, Compressor}; +use log::{debug, info, warn}; use std::fs::OpenOptions; -use crate::{ RunManager, SampleManager }; -use libdeflater::{ Compressor, CompressionLvl }; -use crate::file_utils::delete_file; -use log::{ info, warn, debug }; use std::io::Write; +use std::{path::PathBuf, sync::Mutex}; use crate::variables::*; @@ -28,38 +28,32 @@ impl SampleData { paired_end: bool, read2_has_sequence: bool, buffer_info: BufferInfo, - illumina_header_prefix: String + illumina_header_prefix: String, ) -> Self { Self { label, barcode_reads: match read2_has_sequence { false => None, - true => - Some( - SampleReads::new( - PathBuf::new(), - vec![0; buffer_info.reqiured_output_buffer_size()], - vec![0; buffer_info.compression_buffer_size()], - 0, - 0 - ) - ), + true => Some(SampleReads::new( + PathBuf::new(), + vec![0; buffer_info.reqiured_output_buffer_size()], + vec![0; buffer_info.compression_buffer_size()], + 0, + 0, + )), }, paired_reads: match paired_end { false => None, - true => - Some( - SampleReads::new( - PathBuf::new(), - vec![0; buffer_info.reqiured_output_buffer_size()], - vec![0; buffer_info.compression_buffer_size()], - 0, - 0 - ) - ), + true => Some(SampleReads::new( + PathBuf::new(), + vec![0; buffer_info.reqiured_output_buffer_size()], + vec![0; buffer_info.compression_buffer_size()], + 0, + 0, + )), }, compressor: Compressor::new( - CompressionLvl::new(buffer_info.compression_level() as i32).unwrap() + CompressionLvl::new(buffer_info.compression_level() as i32).unwrap(), ), buffer_info, illumina_header_prefix, @@ -97,14 +91,14 @@ impl SampleData { sample_indx: usize, illumina_format: bool, output_dir: &PathBuf, - paired_read_input: bool + paired_read_input: bool, ) { let (output_file_r1, output_file_r2) = create_output_file_name( &self.label, &lane, sample_indx, illumina_format, - paired_read_input + paired_read_input, ); //debug!("create files for sample {}: {}, {} with path {}", sample_indx, lane, illumina_format, output_dir.display()); match self.paired_reads { @@ -140,27 +134,27 @@ impl SampleData { pub fn barcode_read_buffer_end(&self) -> usize { match &self.barcode_reads { - Some(sr) => { sr.out_buffer_last } - None => { 0 } + Some(sr) => sr.out_buffer_last, + None => 0, } } pub fn paired_read_buffer_end(&self) -> usize { match &self.paired_reads { - Some(sr) => { sr.out_buffer_last } - None => { 0 } + Some(sr) => sr.out_buffer_last, + None => 0, } } pub fn barcode_read_compression_end(&self) -> usize { match &self.barcode_reads { - Some(sr) => { sr.compression_buffer_last } - None => { 0 } + Some(sr) => sr.compression_buffer_last, + None => 0, } } pub fn paired_read_compression_end(&self) -> usize { match &self.paired_reads { - Some(sr) => { sr.compression_buffer_last } - None => { 0 } + Some(sr) => sr.compression_buffer_last, + None => 0, } } @@ -185,10 +179,9 @@ impl SampleData { pub fn compress_and_write(&mut self, force: bool, lock: &Mutex) { //debug!("br_comp_end: {}, pr_comp_end: {}, br_out_end: {}, pr_out_end: {}", self.barcode_read_compression_end(), self.paired_read_compression_end(), self.barcode_read_buffer_end(), self.paired_read_buffer_end()); - if - self.barcode_read_compression_end() >= self.buffer_info.compression_threshold() || - self.paired_read_compression_end() >= self.buffer_info.compression_threshold() || - force + if self.barcode_read_compression_end() >= self.buffer_info.compression_threshold() + || self.paired_read_compression_end() >= self.buffer_info.compression_threshold() + || force { match self.barcode_reads { Some(ref mut sr) => { @@ -204,10 +197,9 @@ impl SampleData { }; } - if - self.barcode_read_buffer_end() >= self.buffer_info.writing_threshold() || - self.paired_read_buffer_end() >= self.buffer_info.writing_threshold() || - force + if self.barcode_read_buffer_end() >= self.buffer_info.writing_threshold() + || self.paired_read_buffer_end() >= self.buffer_info.writing_threshold() + || force { let _l = lock.lock().unwrap(); self.write(); @@ -255,7 +247,7 @@ impl SampleData { sep_position: usize, sb_header: bool, barcode_read: bool, - paired_read: bool + paired_read: bool, ) { if barcode_read { match self.barcode_reads { @@ -269,7 +261,7 @@ impl SampleData { umi, l_position, sep_position, - sb_header + sb_header, ); } None => {} @@ -287,7 +279,7 @@ impl SampleData { umi, l_position, sep_position, - sb_header + sb_header, ); } None => {} @@ -297,14 +289,14 @@ impl SampleData { pub fn get_barcode_read_compression_end(&self) -> usize { match &self.barcode_reads { - Some(sr) => { sr.compression_buffer_last } - None => { usize::MAX } + Some(sr) => sr.compression_buffer_last, + None => usize::MAX, } } pub fn get_paired_read_compression_end(&self) -> usize { match &self.paired_reads { - Some(sr) => { sr.compression_buffer_last } - None => { usize::MAX } + Some(sr) => sr.compression_buffer_last, + None => usize::MAX, } } pub fn fix_paired_read_header(&mut self, tail_offset: usize, val: u8) { @@ -321,13 +313,11 @@ impl SampleData { Some(ref mut pr) => { match self.barcode_reads { Some(ref mut br) => { - pr.compression_buffer[ - pr.compression_buffer_last..pr.compression_buffer_last + - br.compression_buffer_last - - start - ].copy_from_slice( - &br.compression_buffer[start..br.compression_buffer_last] - ); + pr.compression_buffer[pr.compression_buffer_last + ..pr.compression_buffer_last + br.compression_buffer_last - start] + .copy_from_slice( + &br.compression_buffer[start..br.compression_buffer_last], + ); pr.compression_buffer_last += br.compression_buffer_last - start; } None => {} @@ -352,7 +342,7 @@ impl SampleReads { out_buffer: Vec, compression_buffer: Vec, out_buffer_last: usize, - compression_buffer_last: usize + compression_buffer_last: usize, ) -> Self { Self { output_file, @@ -363,7 +353,7 @@ impl SampleReads { } } - /* + /* pub fn compress_and_write(&mut self, compressor: &mut Compressor, compression_threshold: usize, writing_threshold: usize, force: bool){ if self.compression_buffer_last >= compression_threshold || force { self.out_buffer_last = compress_buffer(&self.compression_buffer, self.compression_buffer_last, &mut self.out_buffer, self.out_buffer_last, compressor); @@ -372,7 +362,7 @@ impl SampleReads { if self.out_buffer_last >= writing_threshold || force { write_data(&self.out_buffer, self.out_buffer_last, &self.output_file); self.out_buffer_last = 0; - } + } } */ @@ -389,7 +379,7 @@ impl SampleReads { self.compression_buffer_last, &mut self.out_buffer, self.out_buffer_last, - compressor + compressor, ); self.compression_buffer_last = 0; } @@ -401,9 +391,9 @@ impl SampleReads { pub fn add_reads(&mut self, data: &[u8]) { //debug!("adding read with length {}", data.len()); - self.compression_buffer[ - self.compression_buffer_last..self.compression_buffer_last + data.len() - ].copy_from_slice(data); + self.compression_buffer + [self.compression_buffer_last..self.compression_buffer_last + data.len()] + .copy_from_slice(data); self.compression_buffer_last += data.len(); } } @@ -425,14 +415,16 @@ impl BufferInfo { compression_buffer_size: usize, compression_level: u32, compression_threshold: usize, - writing_threshold: usize + writing_threshold: usize, ) -> Self { info!("Output buffer size: {}", writing_buffer_size); info!("Compression buffer size: {}", compression_buffer_size); - info!("Compression level: {}. (0 no compression but fast, 12 best compression but slow.)", compression_level); - let mut compressor = Compressor::new( - CompressionLvl::new(compression_level as i32).unwrap() + info!( + "Compression level: {}. (0 no compression but fast, 12 best compression but slow.)", + compression_level ); + let mut compressor = + Compressor::new(CompressionLvl::new(compression_level as i32).unwrap()); if compression_buffer_size > writing_buffer_size { panic!( "Compression buffer size '--compression-buffer-size' should be less than Writing buffer size ('--writing-buffer-size')." @@ -446,7 +438,10 @@ impl BufferInfo { let reqiured_output_buffer_size = writing_buffer_size + compressor.gzip_compress_bound(compression_buffer_size); - debug!("Compression buffer flush threshold: {}", compression_threshold); + debug!( + "Compression buffer flush threshold: {}", + compression_threshold + ); debug!("Output buffer flush threshold: {}", writing_threshold); Self { @@ -461,12 +456,13 @@ impl BufferInfo { pub fn calculate_final_writing_buffer_size(&mut self, max_buffer_size: usize) { if self.writing_buffer_size > max_buffer_size { - warn!("Writing buffer size has been reduced to {} as there is no enough memory!", max_buffer_size); - self.reqiured_output_buffer_size = - max_buffer_size + - Compressor::new( - CompressionLvl::new(self.compression_level as i32).unwrap() - ).gzip_compress_bound(self.compression_buffer_size); + warn!( + "Writing buffer size has been reduced to {} as there is no enough memory!", + max_buffer_size + ); + self.reqiured_output_buffer_size = max_buffer_size + + Compressor::new(CompressionLvl::new(self.compression_level as i32).unwrap()) + .gzip_compress_bound(self.compression_buffer_size); self.writing_threshold = max_buffer_size; } @@ -478,14 +474,16 @@ fn compress_buffer( source_size: usize, destination: &mut Vec, destination_size: usize, - compressor: &mut Compressor + compressor: &mut Compressor, ) -> usize { //debug!("Compressing {} bytes, on {}", source_size, destination_size); if source_size > 0 { - return - destination_size + - compressor - .gzip_compress(&source[0..source_size], &mut destination[destination_size..]) + return destination_size + + compressor + .gzip_compress( + &source[0..source_size], + &mut destination[destination_size..], + ) .unwrap(); } return destination_size; @@ -508,7 +506,7 @@ pub fn calculate_reqiured_memory( total_samples: usize, writing_buffer_size: usize, compression_buffer_size: usize, - single_read_input: bool + single_read_input: bool, ) -> f64 { if single_read_input { (total_samples * (writing_buffer_size + 2 * compression_buffer_size)) as f64 @@ -522,18 +520,16 @@ pub fn calculate_largest_buffer_size( mut total_samples: usize, compression_buffer_size: usize, single_end: bool, - processors: usize + processors: usize, ) -> usize { if single_end { total_samples *= 2; } (2_usize).pow( - ( - available_memory / ((total_samples * processors) as f64) - - 2_f64 * (compression_buffer_size as f64) - ) + (available_memory / ((total_samples * processors) as f64) + - 2_f64 * (compression_buffer_size as f64)) .log2() - .floor() as u32 + .floor() as u32, ) } @@ -542,10 +538,9 @@ fn create_output_file_name( lane: &String, sample_index: usize, illumina_format: bool, - paired_read_input: bool + paired_read_input: bool, ) -> (String, String) { - - let br_suff = if paired_read_input{"R2"}else{"R1"}; + let br_suff = if paired_read_input { "R2" } else { "R1" }; if illumina_format { if sample_index == usize::MAX { @@ -556,7 +551,10 @@ fn create_output_file_name( } else { return ( format!("{}_S{}_{}_R1_001.fastq.gz", sample_name, sample_index, lane), - format!("{}_S{}_{}_{}_001.fastq.gz", sample_name, sample_index, lane, br_suff), + format!( + "{}_S{}_{}_{}_001.fastq.gz", + sample_name, sample_index, lane, br_suff + ), ); } } else { @@ -575,7 +573,7 @@ fn write_illumina_header( umi: &[u8], l_position: usize, sep_position: usize, - sb_header: bool + sb_header: bool, ) -> usize { output_buffer[buffer_end] = mgi_read_header[l_position + 1]; buffer_end += 1; @@ -585,9 +583,8 @@ fn write_illumina_header( for i in l_position + 10..sep_position { if mgi_read_header[i] != b'0' { - output_buffer[buffer_end..buffer_end + sep_position - i].copy_from_slice( - &mgi_read_header[i..sep_position] - ); + output_buffer[buffer_end..buffer_end + sep_position - i] + .copy_from_slice(&mgi_read_header[i..sep_position]); buffer_end += sep_position - i; break; } @@ -635,9 +632,8 @@ fn write_illumina_header( output_buffer[buffer_end..buffer_end + umi.len()].copy_from_slice(&umi[..]); buffer_end += umi.len(); } - output_buffer[ - buffer_end..buffer_end + mgi_read_header.len() - sep_position - 1 - ].copy_from_slice(&mgi_read_header[sep_position..mgi_read_header.len() - 1]); + output_buffer[buffer_end..buffer_end + mgi_read_header.len() - sep_position - 1] + .copy_from_slice(&mgi_read_header[sep_position..mgi_read_header.len() - 1]); buffer_end += mgi_read_header.len() - sep_position - 1; } else { @@ -662,7 +658,7 @@ pub fn create_sample_data_list( run_manager: &RunManager, buffer_info: &BufferInfo, read2_has_sequence: bool, - illumina_format: bool + illumina_format: bool, ) -> Vec { let mut sample_data_list: Vec = Vec::new(); let writing_samples = sample_manager.writing_samples(); @@ -686,7 +682,7 @@ pub fn create_sample_data_list( run_manager.paired_read_input(), read2_has_sequence || i >= undetermined_label_id, buffer_info.clone(), - illumina_header.clone() + illumina_header.clone(), ); if i < undetermined_label_id && illumina_format { sample_data.create_files( @@ -694,7 +690,7 @@ pub fn create_sample_data_list( unique_samples_ids[i] + 1, true, run_manager.output_dir(), - run_manager.paired_read_input() + run_manager.paired_read_input(), ); } else if i >= undetermined_label_id && illumina_format { sample_data.create_files( @@ -702,7 +698,7 @@ pub fn create_sample_data_list( usize::MAX, true, run_manager.output_dir(), - run_manager.paired_read_input() + run_manager.paired_read_input(), ); } else { sample_data.create_files( @@ -710,7 +706,7 @@ pub fn create_sample_data_list( unique_samples_ids[i] + 1, false, run_manager.output_dir(), - run_manager.paired_read_input() + run_manager.paired_read_input(), ); } } else { @@ -720,7 +716,7 @@ pub fn create_sample_data_list( false, false, buffer_info.clone(), - illumina_header.clone() + illumina_header.clone(), ); } sample_data_list.push(sample_data); @@ -734,7 +730,7 @@ pub fn clean_output_directory( run_manager: &RunManager, buffer_info: &BufferInfo, read2_has_sequence: bool, - illumina_format: bool + illumina_format: bool, ) { let writing_samples = sample_manager.writing_samples(); let unique_samples_ids = sample_manager.unique_samples_ids(); @@ -755,7 +751,7 @@ pub fn clean_output_directory( run_manager.paired_read_input(), read2_has_sequence || i >= undetermined_label_id, buffer_info.clone(), - illumina_header.clone() + illumina_header.clone(), ); if i < undetermined_label_id && illumina_format { sample_data.create_files( @@ -763,7 +759,7 @@ pub fn clean_output_directory( unique_samples_ids[i] + 1, true, run_manager.output_dir(), - run_manager.paired_read_input() + run_manager.paired_read_input(), ); sample_data.delete_sample_files(); } else if i >= undetermined_label_id && illumina_format { @@ -772,7 +768,7 @@ pub fn clean_output_directory( usize::MAX, true, run_manager.output_dir(), - run_manager.paired_read_input() + run_manager.paired_read_input(), ); sample_data.delete_sample_files(); } else { @@ -781,7 +777,7 @@ pub fn clean_output_directory( unique_samples_ids[i] + 1, false, run_manager.output_dir(), - run_manager.paired_read_input() + run_manager.paired_read_input(), ); sample_data.delete_sample_files(); } diff --git a/tst.sh b/tst.sh deleted file mode 100755 index 078818f..0000000 --- a/tst.sh +++ /dev/null @@ -1,36 +0,0 @@ -!/bin/bash -set -euo pipefail - -if [ "$#" -eq 0 ]; then - echo "Usage:" - echo " $0 /path/to/files/*.gz # pass a glob (UNQUOTED)" - echo " $0 file1.gz file2.gz ... # or list files explicitly" - echo " $0 /path/to/dir # or a directory (processes *.gz inside)" - exit 1 -fi - -process_file() { - local gz="$1" - [[ -f "$gz" ]] || { echo "Skip (not a file): $gz"; return; } - - echo "Processing: $gz" - gunzip -f -- "$gz" # decompress; leaves file without .gz - local decompressed="${gz%.gz}" - local new_name="${decompressed/_R2/_R1}" # rename _R2 -> _R1 - if [[ "$decompressed" != "$new_name" ]]; then - mv -- "$decompressed" "$new_name" - fi - gzip -f -- "$new_name" # recompress -} - -# If a single directory is given, process all *.gz inside it -if [[ "$#" -eq 1 && -d "$1" ]]; then - while IFS= read -r -d '' f; do - process_file "$f" - done < <(find "$1" -type f -name '*.gz' -print0) -else - # Otherwise, treat all arguments as files (supports glob expansion) - for f in "$@"; do - process_file "$f" - done -fi From 4addfab5ffef6ea1bf34128cb8b78511eef37940 Mon Sep 17 00:00:00 2001 From: ziadbkh Date: Fri, 15 Aug 2025 10:10:39 +1000 Subject: [PATCH 2/4] V2.1.0 - parallele decompression --- bins/mgikit | Bin 2086776 -> 2121464 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bins/mgikit b/bins/mgikit index 2fc9a3e973e5cfc6fb5cd6345b6eb50cb2e4af1d..462a49da37d15bc55126204e9b788f3cec26d6f7 100755 GIT binary patch delta 551117 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ë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 z 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 z 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%0DbKkRu`pWBa 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≶YOGOw?RKlf%fJMG>P^tGQ|axU;<2rtDw!@ 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