@@ -78,8 +78,8 @@ impl ChimericJunctionWriter {
7878 let acceptor_start = alignment. acceptor . genome_start + 1 ;
7979
8080 // Convert CIGAR to string
81- let donor_cigar = cigar_to_string ( & alignment. donor . cigar ) ;
82- let acceptor_cigar = cigar_to_string ( & alignment. acceptor . cigar ) ;
81+ let donor_cigar = alignment. donor . cigar_string ( ) ;
82+ let acceptor_cigar = alignment. acceptor . cigar_string ( ) ;
8383
8484 // Write line
8585 writeln ! (
@@ -162,7 +162,7 @@ fn format_sa_entry(
162162 let chr_start = chr_starts[ seg. chr_idx ] ;
163163 let pos = seg. genome_start - chr_start + 1 ; // 1-based per-chr
164164 let strand = if seg. is_reverse { '-' } else { '+' } ;
165- let cigar = cigar_to_string ( & seg. cigar ) ;
165+ let cigar = seg. cigar_string ( ) ;
166166 format ! (
167167 "{},{},{},{},{},{};" ,
168168 chr, pos, strand, cigar, mapq, seg. n_mismatch
@@ -233,26 +233,6 @@ fn build_segment_record(
233233 Ok ( record)
234234}
235235
236- /// Convert CIGAR operations to CIGAR string
237- fn cigar_to_string ( cigar : & [ crate :: align:: transcript:: CigarOp ] ) -> String {
238- use crate :: align:: transcript:: CigarOp ;
239-
240- let mut result = String :: new ( ) ;
241- for op in cigar {
242- match op {
243- CigarOp :: Match ( len) => result. push_str ( & format ! ( "{}M" , len) ) ,
244- CigarOp :: Equal ( len) => result. push_str ( & format ! ( "{}=" , len) ) ,
245- CigarOp :: Diff ( len) => result. push_str ( & format ! ( "{}X" , len) ) ,
246- CigarOp :: Ins ( len) => result. push_str ( & format ! ( "{}I" , len) ) ,
247- CigarOp :: Del ( len) => result. push_str ( & format ! ( "{}D" , len) ) ,
248- CigarOp :: RefSkip ( len) => result. push_str ( & format ! ( "{}N" , len) ) ,
249- CigarOp :: SoftClip ( len) => result. push_str ( & format ! ( "{}S" , len) ) ,
250- CigarOp :: HardClip ( len) => result. push_str ( & format ! ( "{}H" , len) ) ,
251- }
252- }
253- result
254- }
255-
256236#[ cfg( test) ]
257237mod tests {
258238 use super :: * ;
@@ -261,19 +241,6 @@ mod tests {
261241 use std:: io:: Read ;
262242 use tempfile:: tempdir;
263243
264- #[ test]
265- fn test_cigar_to_string ( ) {
266- let cigar = vec ! [
267- CigarOp :: Match ( 50 ) ,
268- CigarOp :: Ins ( 2 ) ,
269- CigarOp :: Del ( 3 ) ,
270- CigarOp :: RefSkip ( 1000 ) ,
271- CigarOp :: SoftClip ( 5 ) ,
272- ] ;
273-
274- assert_eq ! ( cigar_to_string( & cigar) , "50M2I3D1000N5S" ) ;
275- }
276-
277244 #[ test]
278245 fn test_chimeric_junction_writer_creation ( ) {
279246 let dir = tempdir ( ) . unwrap ( ) ;
0 commit comments