diff --git a/align.c b/align.c index 1ba2ba3..4825c03 100644 --- a/align.c +++ b/align.c @@ -772,7 +772,7 @@ static void mm_align1(void *km, const mm_mapopt_t *opt, const mm_idx_t *mi, int re1 = rs + (ez->max_t + 1); qe1 = qs + (ez->max_q + 1); if (cnt1 - (j + 1) >= opt->min_cnt) { - mm_split_reg(r, r2, as1 + j + 1 - r->as, qlen, a, opt->flag&MM_F_QSTRAND); + mm_split_reg(r, r2, as1 + j + 1 - r->as, qlen, a, !!(opt->flag&MM_F_QSTRAND)); if (zdrop_code == 2) r2->split_inv = 1; } break; diff --git a/format.c b/format.c index b7a7be9..d2a538b 100644 --- a/format.c +++ b/format.c @@ -338,7 +338,7 @@ void mm_write_paf3(kstring_t *s, const mm_idx_t *mi, const mm_bseq1_t *t, const mm_sprintf_lite(s, "%d%c", r->p->cigar[k]>>4, MM_CIGAR_STR[r->p->cigar[k]&0xf]); } if (r->p && (opt_flag & (MM_F_OUT_CS|MM_F_OUT_MD))) - write_cs_or_MD(km, s, mi, t, r, !(opt_flag&MM_F_OUT_CS_LONG), opt_flag&MM_F_OUT_MD, 1, opt_flag&MM_F_QSTRAND); + write_cs_or_MD(km, s, mi, t, r, !(opt_flag&MM_F_OUT_CS_LONG), opt_flag&MM_F_OUT_MD, 1, !!(opt_flag&MM_F_QSTRAND)); if ((opt_flag & MM_F_COPY_COMMENT) && t->comment) mm_sprintf_lite(s, "\t%s", t->comment); } diff --git a/main.c b/main.c index 1f7b66f..063c945 100644 --- a/main.c +++ b/main.c @@ -7,7 +7,7 @@ #include "mmpriv.h" #include "ketopt.h" -#define MM_VERSION "2.21-r1071-qs-dirty" +#define MM_VERSION "2.21-r1074-qs-dirty" #ifdef __linux__ #include diff --git a/map.c b/map.c index 2428627..c34475a 100644 --- a/map.c +++ b/map.c @@ -318,7 +318,7 @@ void mm_map_frag(const mm_idx_t *mi, int n_segs, const int *qlens, const char ** b->frag_gap = max_chain_gap_ref; b->rep_len = rep_len; - regs0 = mm_gen_regs(b->km, hash, qlen_sum, n_regs0, u, a, opt->flag&MM_F_QSTRAND); + regs0 = mm_gen_regs(b->km, hash, qlen_sum, n_regs0, u, a, !!(opt->flag&MM_F_QSTRAND)); if (mi->n_alt) { mm_mark_alt(mi, n_regs0, regs0); mm_hit_sort(b->km, &n_regs0, regs0, opt->alt_drop); // this step can be merged into mm_gen_regs(); will do if this shows up in profile