r216: a bit cleanup; identical output to r215
This commit is contained in:
parent
fc965805f7
commit
254280b8af
8
align.c
8
align.c
|
|
@ -179,7 +179,7 @@ static void mm_filter_bad_seeds(void *km, int as1, int cnt1, mm128_t *a, int min
|
||||||
if (k == n || k >= max_en) {
|
if (k == n || k >= max_en) {
|
||||||
if (max_en > 0)
|
if (max_en > 0)
|
||||||
for (i = K[max_st]; i < K[max_en]; ++i)
|
for (i = K[max_st]; i < K[max_en]; ++i)
|
||||||
a[as1 + i].y |= 1ULL << 41;
|
a[as1 + i].y |= MM_SEED_IGNORE;
|
||||||
max = 0, max_st = max_en = -1;
|
max = 0, max_st = max_en = -1;
|
||||||
if (k == n) break;
|
if (k == n) break;
|
||||||
}
|
}
|
||||||
|
|
@ -299,12 +299,12 @@ static void mm_align1(void *km, const mm_mapopt_t *opt, const mm_idx_t *mi, int
|
||||||
assert(qs1 >= 0 && rs1 >= 0);
|
assert(qs1 >= 0 && rs1 >= 0);
|
||||||
|
|
||||||
for (i = 1; i < cnt1; ++i) { // gap filling
|
for (i = 1; i < cnt1; ++i) { // gap filling
|
||||||
if (a[as1+i].y>>41&1) continue;
|
if (a[as1+i].y & MM_SEED_IGNORE) continue;
|
||||||
mm_adjust_minier(mi, qseq0, &a[as1 + i], &re, &qe);
|
mm_adjust_minier(mi, qseq0, &a[as1 + i], &re, &qe);
|
||||||
re1 = re, qe1 = qe;
|
re1 = re, qe1 = qe;
|
||||||
if (i == cnt1 - 1 || (a[as1+i].y>>40&1) || qe - qs >= opt->min_ksw_len || re - rs >= opt->min_ksw_len) {
|
if (i == cnt1 - 1 || (a[as1+i].y&MM_SEED_LONG_JOIN) || qe - qs >= opt->min_ksw_len || re - rs >= opt->min_ksw_len) {
|
||||||
int bw1 = bw;
|
int bw1 = bw;
|
||||||
if (a[as1+i].y>>40&1)
|
if (a[as1+i].y & MM_SEED_LONG_JOIN)
|
||||||
bw1 = qe - qs > re - rs? qe - qs : re - rs;
|
bw1 = qe - qs > re - rs? qe - qs : re - rs;
|
||||||
qseq = &qseq0[rev][qs];
|
qseq = &qseq0[rev][qs];
|
||||||
mm_idx_getseq(mi, rid, rs, re, tseq);
|
mm_idx_getseq(mi, rid, rs, re, tseq);
|
||||||
|
|
|
||||||
2
hit.c
2
hit.c
|
|
@ -266,7 +266,7 @@ void mm_join_long(void *km, const mm_mapopt_t *opt, int qlen, int *n_regs_, mm_r
|
||||||
if (r1->re - r1->rs < max_gap>>1 || r1->qe - r1->qs < max_gap>>1) continue;
|
if (r1->re - r1->rs < max_gap>>1 || r1->qe - r1->qs < max_gap>>1) continue;
|
||||||
|
|
||||||
// all conditions satisfied; join
|
// all conditions satisfied; join
|
||||||
a[r1->as].y |= 1ULL<<40;
|
a[r1->as].y |= MM_SEED_LONG_JOIN;
|
||||||
r0->cnt += r1->cnt, r0->score += r1->score;
|
r0->cnt += r1->cnt, r0->score += r1->score;
|
||||||
mm_reg_set_coor(r0, qlen, a);
|
mm_reg_set_coor(r0, qlen, a);
|
||||||
r1->cnt = 0;
|
r1->cnt = 0;
|
||||||
|
|
|
||||||
2
main.c
2
main.c
|
|
@ -8,7 +8,7 @@
|
||||||
#include "minimap.h"
|
#include "minimap.h"
|
||||||
#include "mmpriv.h"
|
#include "mmpriv.h"
|
||||||
|
|
||||||
#define MM_VERSION "2.0-r215-dirty"
|
#define MM_VERSION "2.0-r216-dirty"
|
||||||
|
|
||||||
void liftrlimit()
|
void liftrlimit()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
5
map.c
5
map.c
|
|
@ -209,8 +209,10 @@ mm_reg1_t *mm_map_frag(const mm_mapopt_t *opt, const mm_idx_t *mi, mm_tbuf_t *b,
|
||||||
mm128_t *p = &b->mini.a[i + m_st];
|
mm128_t *p = &b->mini.a[i + m_st];
|
||||||
mm_match_t *q = &m[i];
|
mm_match_t *q = &m[i];
|
||||||
const uint64_t *r = q->x.cr;
|
const uint64_t *r = q->x.cr;
|
||||||
int k, q_span = p->x & 0xff;
|
int k, q_span = p->x & 0xff, is_tandem = 0;
|
||||||
if (q->n >= opt->mid_occ) continue;
|
if (q->n >= opt->mid_occ) continue;
|
||||||
|
if (i > 0 && p->x>>8 == b->mini.a[m_st + i - 1].x>>8) is_tandem = 1;
|
||||||
|
if (i < n - 1 && p->x>>8 == b->mini.a[m_st + i + 1].x>>8) is_tandem = 1;
|
||||||
for (k = 0; k < q->n; ++k) {
|
for (k = 0; k < q->n; ++k) {
|
||||||
const char *tname = mi->seq[r[k]>>32].name;
|
const char *tname = mi->seq[r[k]>>32].name;
|
||||||
int32_t rpos = (uint32_t)r[k] >> 1;
|
int32_t rpos = (uint32_t)r[k] >> 1;
|
||||||
|
|
@ -227,6 +229,7 @@ mm_reg1_t *mm_map_frag(const mm_mapopt_t *opt, const mm_idx_t *mi, mm_tbuf_t *b,
|
||||||
p->x = 1ULL<<63 | (r[k]&0xffffffff00000000ULL) | (uint32_t)r[k]>>1;
|
p->x = 1ULL<<63 | (r[k]&0xffffffff00000000ULL) | (uint32_t)r[k]>>1;
|
||||||
p->y = (uint64_t)q_span << 32 | (qlen - ((q->qpos>>1) + 1 - q_span) - 1);
|
p->y = (uint64_t)q_span << 32 | (qlen - ((q->qpos>>1) + 1 - q_span) - 1);
|
||||||
}
|
}
|
||||||
|
if (is_tandem) p->y |= MM_SEED_TANDEM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
n_a = j;
|
n_a = j;
|
||||||
|
|
|
||||||
4
mmpriv.h
4
mmpriv.h
|
|
@ -12,6 +12,10 @@
|
||||||
#define MM_DBG_PRINT_QNAME 0x2
|
#define MM_DBG_PRINT_QNAME 0x2
|
||||||
#define MM_DBG_PRINT_SEED 0x4
|
#define MM_DBG_PRINT_SEED 0x4
|
||||||
|
|
||||||
|
#define MM_SEED_LONG_JOIN (1ULL<<40)
|
||||||
|
#define MM_SEED_IGNORE (1ULL<<41)
|
||||||
|
#define MM_SEED_TANDEM (1ULL<<42)
|
||||||
|
|
||||||
#ifndef kroundup32
|
#ifndef kroundup32
|
||||||
#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))
|
#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x))
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue