@@ -33,6 +33,8 @@ pub fn join_overlap(
3333
3434 let mut count_join = 0usize ;
3535 let mut count_total = 0usize ;
36+ let mut count_base_overlap = 0usize ;
37+ let mut count_miss_overlap = 0usize ;
3638 let mut writer_single = fastq:: Writer :: new ( file_writer ( overlap_merge, compression_level, stdout_type) ?) ;
3739 let mut nuoverlap_writer = fastq:: Writer :: new ( file_writer ( nonoverlap_pe, compression_level, stdout_type) ?) ;
3840
@@ -56,13 +58,15 @@ pub fn join_overlap(
5658 if overlap_len < min_overlap_len { continue ; } // overlap length is too short
5759 // pe reads overlaped
5860 fine_overlap_len = overlap_len;
61+ count_miss_overlap += mismatch;
5962 break ;
6063 }
6164 }
6265
6366 // build longer single read
6467 if fine_overlap_len > 0 {
6568 count_join += 1 ;
69+ count_base_overlap += fine_overlap_len;
6670 let mut single_seq = vec ! [ ] ;
6771 let mut single_qual = vec ! [ ] ;
6872 single_seq. extend_from_slice ( & rec1. seq ( ) [ ..rec1. seq ( ) . len ( ) -fine_overlap_len] ) ;
@@ -103,6 +107,8 @@ pub fn join_overlap(
103107 nuoverlap_writer. flush ( ) ?;
104108
105109 let rate = count_join as f64 / count_total as f64 ;
110+ info ! ( "total bases in overlap region: {}" , count_base_overlap) ;
111+ info ! ( "total mismatchs in overlap region: {}" , count_miss_overlap) ;
106112 info ! ( "total pe reads overlaped and joined number: {}" , count_join) ;
107113 info ! ( "total pe reads number: {}" , count_total) ;
108114 info ! ( "pe reads overlap rate: {:.2}%" , rate* 100.0 ) ;
0 commit comments