From d25a87cc500b4cb654a3299818ce6982f6667ed2 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Sat, 2 Feb 2013 15:14:24 -0500 Subject: [PATCH] code backup --- bwamem.c | 6 ++++-- bwamem.h | 2 +- fastmap.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bwamem.c b/bwamem.c index ef09fd5..02f9591 100644 --- a/bwamem.c +++ b/bwamem.c @@ -176,10 +176,10 @@ mem_chain_t mem_chain(const mem_opt_t *opt, const bwt_t *bwt, int len, const uin return chain; } -mem_aln_t mem_chain2aln(int64_t l_pac, const uint8_t *pac, int l_query, const uint8_t *query, const mem_chain1_t *c) +mem_aln_t mem_chain2aln(const mem_opt_t *opt, int64_t l_pac, const uint8_t *pac, int l_query, const uint8_t *query, const mem_chain1_t *c) { mem_aln_t a; - int i, j; + int i, j, max, max_i; int64_t len; for (i = 0; i < c->n; ++i) { mem_seed_t *s = &c->seeds[i]; @@ -188,5 +188,7 @@ mem_aln_t mem_chain2aln(int64_t l_pac, const uint8_t *pac, int l_query, const ui for (j = 0; j < s->len; ++j) putchar("ACGTN"[query[j+s->qbeg]]); putchar('\n'); free(seq); } + for (i = max = 0, max_i = -1; i < c->n; ++i) // find the longest seed + if (max < c->seeds[i].len) max = c->seeds[i].len, max_i = i; return a; } diff --git a/bwamem.h b/bwamem.h index 0ebd2eb..214d780 100644 --- a/bwamem.h +++ b/bwamem.h @@ -45,7 +45,7 @@ const bwtintv_v *smem_next(smem_i *itr, int split_len); mem_opt_t *mem_opt_init(void); mem_chain_t mem_chain(const mem_opt_t *opt, const bwt_t *bwt, int len, const uint8_t *seq); -mem_aln_t mem_chain2aln(int64_t l_pac, const uint8_t *pac, int l_query, const uint8_t *query, const mem_chain1_t *c); +mem_aln_t mem_chain2aln(const mem_opt_t *opt, int64_t l_pac, const uint8_t *pac, int l_query, const uint8_t *query, const mem_chain1_t *c); #ifdef __cplusplus } diff --git a/fastmap.c b/fastmap.c index d8a0eca..c92311e 100644 --- a/fastmap.c +++ b/fastmap.c @@ -52,7 +52,7 @@ int main_mem(int argc, char *argv[]) chain = mem_chain(opt, bwt, seq->seq.l, (uint8_t*)seq->seq.s); for (i = 0; i < chain.n; ++i) { mem_chain1_t *p = &chain.chains[i]; - mem_chain2aln(bns->l_pac, pac, seq->seq.l, (uint8_t*)seq->seq.s, p); + mem_chain2aln(opt, bns->l_pac, pac, seq->seq.l, (uint8_t*)seq->seq.s, p); printf("%d\t%d", i, p->n); for (j = 0; j < p->n; ++j) { bwtint_t pos;