- uint8_t *qq = calloc(qend - qbeg, 1);
- for (l = 0; l < qend - qbeg; ++l) qq[l] = 23;
+ const uint8_t *qual = bam1_qual(p->b), *bq;
+ uint8_t *qq = 0;
+ qq = calloc(qend - qbeg, 1);
+ bq = (uint8_t*)bam_aux_get(p->b, "BQ");
+ if (bq) ++bq;
+ for (l = qbeg; l < qend; ++l) {
+ qq[l - qbeg] = bq? qual[l] + (bq[l] - 33) : qual[l];
+ if (qq[l - qbeg] > 30) qq[l - qbeg] = 30;
+ }