@@ -366,15 +366,18 @@ static inline void write_tags(kstring_t *s, const mm_reg1_t *r)
366
366
if (r -> split ) mm_sprintf_lite (s , "\tzd:i:%d" , r -> split );
367
367
}
368
368
369
- void mm_write_paf3 (kstring_t * s , const mm_idx_t * mi , const mm_bseq1_t * t , const mm_reg1_t * r , void * km , int64_t opt_flag , int rep_len )
369
+ void mm_write_paf4 (kstring_t * s , const mm_idx_t * mi , const mm_bseq1_t * t , const mm_reg1_t * r , void * km , int64_t opt_flag , int rep_len , int n_seg , int seg_idx )
370
370
{
371
371
s -> l = 0 ;
372
+ mm_sprintf_lite (s , "%s" , t -> name );
373
+ if ((opt_flag & MM_F_FRAG_MODE ) && n_seg >= 2 && seg_idx >= 0 )
374
+ mm_sprintf_lite (s , "/%d" , seg_idx + 1 );
372
375
if (r == 0 ) {
373
- mm_sprintf_lite (s , "%s \t%d\t0\t0\t*\t*\t0\t0\t0\t0\t0\t0" , t -> name , t -> l_seq );
376
+ mm_sprintf_lite (s , "\t%d\t0\t0\t*\t*\t0\t0\t0\t0\t0\t0" , t -> l_seq );
374
377
if (rep_len >= 0 ) mm_sprintf_lite (s , "\trl:i:%d" , rep_len );
375
378
return ;
376
379
}
377
- mm_sprintf_lite (s , "%s \t%d\t%d\t%d\t%c\t" , t -> name , t -> l_seq , r -> qs , r -> qe , "+-" [r -> rev ]);
380
+ mm_sprintf_lite (s , "\t%d\t%d\t%d\t%c\t" , t -> l_seq , r -> qs , r -> qe , "+-" [r -> rev ]);
378
381
if (mi -> seq [r -> rid ].name ) mm_sprintf_lite (s , "%s" , mi -> seq [r -> rid ].name );
379
382
else mm_sprintf_lite (s , "%d" , r -> rid );
380
383
mm_sprintf_lite (s , "\t%d" , mi -> seq [r -> rid ].len );
@@ -398,6 +401,11 @@ void mm_write_paf3(kstring_t *s, const mm_idx_t *mi, const mm_bseq1_t *t, const
398
401
mm_sprintf_lite (s , "\t%s" , t -> comment );
399
402
}
400
403
404
+ void mm_write_paf3 (kstring_t * s , const mm_idx_t * mi , const mm_bseq1_t * t , const mm_reg1_t * r , void * km , int64_t opt_flag , int rep_len )
405
+ {
406
+ mm_write_paf4 (s , mi , t , r , km , opt_flag , rep_len , 0 , 0 );
407
+ }
408
+
401
409
void mm_write_paf (kstring_t * s , const mm_idx_t * mi , const mm_bseq1_t * t , const mm_reg1_t * r , void * km , int64_t opt_flag )
402
410
{
403
411
mm_write_paf3 (s , mi , t , r , km , opt_flag , -1 );
0 commit comments