r562: fixed a severe bug: wrong query start
This commit is contained in:
parent
e896c9ec05
commit
a7b38f6900
7
align.c
7
align.c
|
|
@ -110,8 +110,11 @@ static void mm_fix_cigar(mm_reg1_t *r, const uint8_t *qseq, const uint8_t *tseq,
|
|||
}
|
||||
if ((p->cigar[0]&0xf) == 1 || (p->cigar[0]&0xf) == 2) { // get rid of leading I or D
|
||||
int32_t l = p->cigar[0] >> 4;
|
||||
if ((p->cigar[0]&0xf) == 1) r->qs += l, *qshift = l;
|
||||
else r->rs += l, *tshift = l;
|
||||
if ((p->cigar[0]&0xf) == 1) {
|
||||
if (r->rev) r->qe -= l;
|
||||
else r->qs += l;
|
||||
*qshift = l;
|
||||
} else r->rs += l, *tshift = l;
|
||||
--p->n_cigar;
|
||||
memmove(p->cigar, p->cigar + 1, p->n_cigar * 4);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue