From a602165cf4565fc0d9a42345f1cf2ce6868e0095 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Thu, 27 Jan 2022 19:48:55 -0500 Subject: [PATCH] r435: fixed an assert failure (resolves #55) Not 100% sure why this doesn't happen to minimap2. Possibly due to occurrence-aware seed weighting. --- krmq.h | 2 +- lchain.c | 2 +- minigraph.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/krmq.h b/krmq.h index 4f4ea75..8fa1cce 100644 --- a/krmq.h +++ b/krmq.h @@ -247,7 +247,7 @@ int main(void) { unsigned char dir[KRMQ_MAX_DEPTH]; \ int i, d = 0, cmp; \ unsigned cnt = 0; \ - fake.__head.p[0] = *root_, fake.__head.p[1] = 0; \ + fake = **root_, fake.__head.p[0] = *root_, fake.__head.p[1] = 0; \ if (cnt_) *cnt_ = 0; \ if (x) { \ for (cmp = -1, p = &fake; cmp; cmp = __cmp(x, p)) { \ diff --git a/lchain.c b/lchain.c index f7880a8..de68ec6 100644 --- a/lchain.c +++ b/lchain.c @@ -322,7 +322,7 @@ mg128_t *mg_lchain_rmq(int max_dist, int max_dist_inner, int bw, int max_chn_ski } // RMQ lo.i = INT32_MAX, lo.y = (int32_t)a[i].y - max_dist; - hi.i = 0, hi.y = (int32_t)a[i].y; + hi.i = 0, hi.y = (int32_t)a[i].y - 1; if ((q = krmq_rmq(lc_elem, root, &lo, &hi)) != 0) { int32_t sc, exact, width, n_skip = 0; int64_t j = q->i; diff --git a/minigraph.h b/minigraph.h index 13dda95..8d4fc8e 100644 --- a/minigraph.h +++ b/minigraph.h @@ -4,7 +4,7 @@ #include #include "gfa.h" -#define MG_VERSION "0.15-r434-dirty" +#define MG_VERSION "0.15-r435-dirty" #define MG_M_SPLICE 0x10 #define MG_M_SR 0x20