- int max_mq, min_mq, flag, min_baseQ;
+ int max_mq, min_mq, flag, min_baseQ, capQ_thres;
static int mplp_func(void *data, bam1_t *b)
{
extern int bam_realn(bam1_t *b, const char *ref);
static int mplp_func(void *data, bam1_t *b)
{
extern int bam_realn(bam1_t *b, const char *ref);
- if ((ma->flag&MPLP_CAPQ) && has_ref) {
- int q = bam_cap_mapQ(b, ma->ref);
+ if (has_ref && ma->capQ_thres > 10) {
+ int q = bam_cap_mapQ(b, ma->ref, ma->capQ_thres);
data[i] = calloc(1, sizeof(mplp_aux_t));
data[i]->min_mq = conf->min_mq;
data[i]->flag = conf->flag;
data[i] = calloc(1, sizeof(mplp_aux_t));
data[i]->min_mq = conf->min_mq;
data[i]->flag = conf->flag;
data[i]->fp = bam_open(fn[i], "r");
h_tmp = bam_header_read(data[i]->fp);
bam_smpl_add(sm, fn[i], h_tmp->text);
data[i]->fp = bam_open(fn[i], "r");
h_tmp = bam_header_read(data[i]->fp);
bam_smpl_add(sm, fn[i], h_tmp->text);
case 'u': mplp.flag |= MPLP_NO_COMP; break;
case 'a': mplp.flag |= MPLP_NO_ORPHAN | MPLP_REALN; break;
case 'O': mplp.flag |= MPLP_NO_ORPHAN; break;
case 'u': mplp.flag |= MPLP_NO_COMP; break;
case 'a': mplp.flag |= MPLP_NO_ORPHAN | MPLP_REALN; break;
case 'O': mplp.flag |= MPLP_NO_ORPHAN; break;
case 'M': mplp.max_mq = atoi(optarg); break;
case 'q': mplp.min_mq = atoi(optarg); break;
case 'Q': mplp.min_baseQ = atoi(optarg); break;
case 'M': mplp.max_mq = atoi(optarg); break;
case 'q': mplp.min_mq = atoi(optarg); break;
case 'Q': mplp.min_baseQ = atoi(optarg); break;