From f4c0672800f98a8e58e54c2c76f068c60b0bd124 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Sun, 10 Feb 2013 12:55:19 -0500 Subject: [PATCH] move sort_and_dedup() to worker1() --- bwamem.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bwamem.c b/bwamem.c index 004274e..7dd55b4 100644 --- a/bwamem.c +++ b/bwamem.c @@ -512,8 +512,7 @@ void mem_sam_se(const mem_opt_t *opt, const bntseq_t *bns, const uint8_t *pac, b char *seq; str.l = str.m = 0; str.s = 0; - a->n = mem_sort_and_dedup(a->n, a->a); - a->n = mem_choose_alnreg_se(opt, a->n, a->a); + a->n = mem_choose_alnreg_se(opt, a->n, a->a); // NOTE: mem_sort_and_dedup() called in worker1() seq = malloc(s->l_seq); if (a->n == 0) { // no seeds found for (i = 0; i < s->l_seq; ++i) seq[i] = "ACGTN"[(int)s->seq[i]]; @@ -600,8 +599,10 @@ static void *worker1(void *data) { worker_t *w = (worker_t*)data; int i; - for (i = w->start; i < w->n; i += w->step) + for (i = w->start; i < w->n; i += w->step) { w->regs[i] = find_alnreg(w->opt, w->bwt, w->bns, w->pac, &w->seqs[i]); + mem_sort_and_dedup(w->regs[i].n, w->regs[i].a); + } return 0; }