File tree Expand file tree Collapse file tree 2 files changed +10
-5
lines changed
Expand file tree Collapse file tree 2 files changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -2997,7 +2997,7 @@ CCCCCCCCCCCCCCCCCCC"[..],
29972997 fn test_bam_header_sync ( ) {
29982998 let reader = Reader :: from_path ( "test/test_issue_156_no_text.bam" ) . unwrap ( ) ;
29992999 let header_hashmap = Header :: from_template ( reader. header ( ) ) . to_hashmap ( ) ;
3000- let header_refseqs = header_hashmap. get ( "SQ" . into ( ) ) . unwrap ( ) ;
3000+ let header_refseqs = header_hashmap. get ( "SQ" ) . unwrap ( ) ;
30013001 assert_eq ! ( header_refseqs[ 0 ] . get( "SN" ) . unwrap( ) , "ref_1" , ) ;
30023002 assert_eq ! ( header_refseqs[ 0 ] . get( "LN" ) . unwrap( ) , "10000000" , ) ;
30033003 }
Original file line number Diff line number Diff line change @@ -2097,10 +2097,15 @@ impl CigarStringView {
20972097 }
20982098 break ;
20992099 } ,
2100- Cigar :: Del ( _) => {
2101- return Err ( Error :: BamUnexpectedCigarOperation {
2102- msg : "'deletion' (D) found before any operation describing read sequence" . to_owned ( )
2103- } ) ;
2100+ Cigar :: Del ( l) => {
2101+ // METHOD: leading deletions can happen in case of trimmed reads where
2102+ // a primer has been removed AFTER read mapping.
2103+ // Example: 24M8I8D18M9S before trimming, 32H8D18M9S after trimming
2104+ // with fgbio. While leading deletions should be impossible with
2105+ // normal read mapping, they make perfect sense with primer trimming
2106+ // because the mapper still had the evidence to decide in favor of
2107+ // the deletion via the primer sequence.
2108+ rpos += l;
21042109 } ,
21052110 Cigar :: RefSkip ( _) => {
21062111 return Err ( Error :: BamUnexpectedCigarOperation {
You can’t perform that action at this time.
0 commit comments