@@ -33,6 +33,8 @@ pub fn join_overlap(
33
33
34
34
let mut count_join = 0usize ;
35
35
let mut count_total = 0usize ;
36
+ let mut count_base_overlap = 0usize ;
37
+ let mut count_miss_overlap = 0usize ;
36
38
let mut writer_single = fastq:: Writer :: new ( file_writer ( overlap_merge, compression_level, stdout_type) ?) ;
37
39
let mut nuoverlap_writer = fastq:: Writer :: new ( file_writer ( nonoverlap_pe, compression_level, stdout_type) ?) ;
38
40
@@ -56,13 +58,15 @@ pub fn join_overlap(
56
58
if overlap_len < min_overlap_len { continue ; } // overlap length is too short
57
59
// pe reads overlaped
58
60
fine_overlap_len = overlap_len;
61
+ count_miss_overlap += mismatch;
59
62
break ;
60
63
}
61
64
}
62
65
63
66
// build longer single read
64
67
if fine_overlap_len > 0 {
65
68
count_join += 1 ;
69
+ count_base_overlap += fine_overlap_len;
66
70
let mut single_seq = vec ! [ ] ;
67
71
let mut single_qual = vec ! [ ] ;
68
72
single_seq. extend_from_slice ( & rec1. seq ( ) [ ..rec1. seq ( ) . len ( ) -fine_overlap_len] ) ;
@@ -103,6 +107,8 @@ pub fn join_overlap(
103
107
nuoverlap_writer. flush ( ) ?;
104
108
105
109
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) ;
106
112
info ! ( "total pe reads overlaped and joined number: {}" , count_join) ;
107
113
info ! ( "total pe reads number: {}" , count_total) ;
108
114
info ! ( "pe reads overlap rate: {:.2}%" , rate* 100.0 ) ;
0 commit comments