From 07921659cf28db08961545351ba188287c40c2b4 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Tue, 5 Mar 2013 09:38:12 -0500 Subject: [PATCH] move mem_fill_scmat() to bwa.{h,c} --- bwa.c | 11 +++++++++++ bwa.h | 1 + bwamem.c | 13 +------------ fastmap.c | 2 +- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/bwa.c b/bwa.c index beea6d1..76b54ae 100644 --- a/bwa.c +++ b/bwa.c @@ -69,6 +69,17 @@ bseq1_t *bseq_read(int chunk_size, int *n_, void *ks1_, void *ks2_) * CIGAR related * *****************/ +void bwa_fill_scmat(int a, int b, int8_t mat[25]) +{ + int i, j, k; + for (i = k = 0; i < 4; ++i) { + for (j = 0; j < 4; ++j) + mat[k++] = i == j? a : -b; + mat[k++] = 0; // ambiguous base + } + for (j = 0; j < 5; ++j) mat[k++] = 0; +} + // Generate CIGAR when the alignment end points are known uint32_t *bwa_gen_cigar(const int8_t mat[25], int q, int r, int w_, int64_t l_pac, const uint8_t *pac, int l_query, uint8_t *query, int64_t rb, int64_t re, int *score, int *n_cigar, int *NM) { diff --git a/bwa.h b/bwa.h index 81d40e0..9d5b2aa 100644 --- a/bwa.h +++ b/bwa.h @@ -30,6 +30,7 @@ extern "C" { bseq1_t *bseq_read(int chunk_size, int *n_, void *ks1_, void *ks2_); + void bwa_fill_scmat(int a, int b, int8_t mat[25]); uint32_t *bwa_gen_cigar(const int8_t mat[25], int q, int r, int w_, int64_t l_pac, const uint8_t *pac, int l_query, uint8_t *query, int64_t rb, int64_t re, int *score, int *n_cigar, int *NM); int bwa_fix_xref(const int8_t mat[25], int q, int r, int w, const bntseq_t *bns, const uint8_t *pac, uint8_t *query, int *qb, int *qe, int64_t *rb, int64_t *re); diff --git a/bwamem.c b/bwamem.c index a6897ba..cd3a1f5 100644 --- a/bwamem.c +++ b/bwamem.c @@ -58,21 +58,10 @@ mem_opt_t *mem_opt_init() o->chunk_size = 10000000; o->n_threads = 1; o->max_matesw = 100; - mem_fill_scmat(o->a, o->b, o->mat); + bwa_fill_scmat(o->a, o->b, o->mat); return o; } -void mem_fill_scmat(int a, int b, int8_t mat[25]) -{ - int i, j, k; - for (i = k = 0; i < 4; ++i) { - for (j = 0; j < 4; ++j) - mat[k++] = i == j? a : -b; - mat[k++] = 0; // ambiguous base - } - for (j = 0; j < 5; ++j) mat[k++] = 0; -} - /*************************** * SMEM iterator interface * ***************************/ diff --git a/fastmap.c b/fastmap.c index 40c3a02..d4e5626 100644 --- a/fastmap.c +++ b/fastmap.c @@ -84,7 +84,7 @@ int main_mem(int argc, char *argv[]) return 1; } - mem_fill_scmat(opt->a, opt->b, opt->mat); + bwa_fill_scmat(opt->a, opt->b, opt->mat); if ((idx = bwa_idx_load(argv[optind], BWA_IDX_ALL)) == 0) return 1; // FIXME: memory leak bwa_print_sam_hdr(idx->bns, rg_line);