backup
This commit is contained in:
parent
9fbf7e41e1
commit
c8d122bcdb
7
chain.c
7
chain.c
|
|
@ -19,9 +19,10 @@ static inline int ilog2_32(uint32_t v)
|
|||
return (t = v>>8) ? 8 + LogTable256[t] : LogTable256[v];
|
||||
}
|
||||
|
||||
int mm_chain_dp(int max_dist, int bw, int max_skip, int min_cnt, int min_sc, int n, mm128_t *a, uint64_t **_u, void *km)
|
||||
{
|
||||
int32_t st = 0, i, j, k, *f, *p, *t, *v, n_u, n_v;
|
||||
int mm_chain_dp(int max_dist, int bw, int max_skip, int min_cnt, int min_sc, int64_t n, mm128_t *a, uint64_t **_u, void *km)
|
||||
{ // TODO: make sure this works when n has more than 32 bits
|
||||
int32_t st = 0, j, k, *f, *p, *t, *v, n_u, n_v;
|
||||
int64_t i;
|
||||
uint64_t *u;
|
||||
mm128_t *b;
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ void ksw_extz2_sse(void *km, int qlen, const uint8_t *query, int tlen, const uin
|
|||
|
||||
wl = wr = w;
|
||||
tlen_ = (tlen + 15) / 16;
|
||||
n_col_ = ((w + 1 < tlen? w + 1 : tlen) + 15) / 16 + 1;
|
||||
n_col_ = ((w + 1 < tlen? (w + 1 < qlen? w + 1 : qlen): tlen) + 15) / 16 + 1;
|
||||
qlen_ = (qlen + 15) / 16;
|
||||
for (t = 1, max_sc = mat[0]; t < m * m; ++t)
|
||||
max_sc = max_sc > mat[t]? max_sc : mat[t];
|
||||
|
|
|
|||
10
map.c
10
map.c
|
|
@ -23,6 +23,10 @@ void mm_mapopt_init(mm_mapopt_t *opt)
|
|||
opt->pri_ratio = 2.0f;
|
||||
opt->mask_level = 0.5f;
|
||||
|
||||
opt->max_join_long = 20000;
|
||||
opt->max_join_short = 2000;
|
||||
opt->min_join_flank_sc = 1000;
|
||||
|
||||
opt->a = 1, opt->b = 1, opt->q = 1, opt->e = 1;
|
||||
opt->zdrop = 100;
|
||||
opt->min_dp_score = 0;
|
||||
|
|
@ -223,7 +227,8 @@ void mm_select_sub(float mask_level, float pri_ratio, int *n_, mm_reg1_t *r, voi
|
|||
|
||||
mm_reg1_t *mm_map_frag(const mm_mapopt_t *opt, const mm_idx_t *mi, mm_tbuf_t *b, uint32_t m_st, uint32_t m_en, const char *qname, int qlen, const char *seq, int *n_regs)
|
||||
{
|
||||
int i, n = m_en - m_st, j, n_a, n_u;
|
||||
int i, n = m_en - m_st, j, n_u;
|
||||
int64_t n_a;
|
||||
uint64_t *u;
|
||||
mm_match_t *m;
|
||||
mm128_t *a;
|
||||
|
|
@ -293,7 +298,8 @@ mm_reg1_t *mm_map_frag(const mm_mapopt_t *opt, const mm_idx_t *mi, mm_tbuf_t *b,
|
|||
n_u = mm_chain_dp(opt->max_gap, opt->bw, opt->max_chain_skip, opt->min_cnt, opt->min_chain_score, n_a, a, &u, b->km);
|
||||
regs = mm_gen_reg(qlen, n_u, u, a);
|
||||
*n_regs = n_u;
|
||||
mm_select_sub(opt->mask_level, opt->pri_ratio, n_regs, regs, b->km);
|
||||
if (!(opt->flag & MM_F_AVA)) // don't choose primary mapping(s) for read overlap
|
||||
mm_select_sub(opt->mask_level, opt->pri_ratio, n_regs, regs, b->km);
|
||||
if (opt->flag & MM_F_CIGAR)
|
||||
regs = mm_align_skeleton(b->km, opt, mi, qlen, seq, n_regs, regs, a);
|
||||
|
||||
|
|
|
|||
10
minimap.h
10
minimap.h
|
|
@ -69,20 +69,26 @@ typedef struct {
|
|||
float mid_occ_frac;
|
||||
int sdust_thres; // score threshold for SDUST; 0 to disable
|
||||
int flag; // see MM_F_* macros
|
||||
|
||||
int bw; // bandwidth
|
||||
int max_gap; // break a chain if there are no minimizers in a max_gap window
|
||||
int max_chain_skip;
|
||||
int min_cnt;
|
||||
int min_chain_score;
|
||||
int min_dp_score;
|
||||
|
||||
float pri_ratio;
|
||||
float mask_level;
|
||||
|
||||
int max_join_long, max_join_short;
|
||||
int min_join_flank_sc;
|
||||
|
||||
int a, b, q, e; // matching score, mismatch, gap-open and gap-ext penalties
|
||||
int zdrop;
|
||||
int min_dp_score;
|
||||
int min_ksw_len;
|
||||
|
||||
int max_occ;
|
||||
int mid_occ;
|
||||
int min_ksw_len;
|
||||
} mm_mapopt_t;
|
||||
|
||||
extern int mm_verbose;
|
||||
|
|
|
|||
2
mmpriv.h
2
mmpriv.h
|
|
@ -30,7 +30,7 @@ uint32_t ks_ksmall_uint32_t(size_t n, uint32_t arr[], size_t kk);
|
|||
|
||||
void mm_write_paf(kstring_t *s, const mm_idx_t *mi, bseq1_t *t, int which, mm_reg1_t *r);
|
||||
void mm_write_sam(kstring_t *s, const mm_idx_t *mi, bseq1_t *t, int which, mm_reg1_t *r);
|
||||
int mm_chain_dp(int max_dist, int bw, int max_skip, int min_cnt, int min_sc, int n, mm128_t *a, uint64_t **_u, void *km);
|
||||
int mm_chain_dp(int max_dist, int bw, int max_skip, int min_cnt, int min_sc, int64_t n, mm128_t *a, uint64_t **_u, void *km);
|
||||
mm_reg1_t *mm_align_skeleton(void *km, const mm_mapopt_t *opt, const mm_idx_t *mi, int qlen, const char *qstr, int *n_regs_, mm_reg1_t *regs, mm128_t *a);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
Loading…
Reference in New Issue