- int epos = dist_from_end(p);
- int npos = p->b->core.l_qseq;
- if ( bca->npos < npos )
- {
- bca->ref_pos = realloc(bca->ref_pos, sizeof(int)*npos);
- bca->alt_pos = realloc(bca->alt_pos, sizeof(int)*npos);
- int j;
- for (j=bca->npos; j<npos; j++) bca->ref_pos[j] = 0;
- for (j=bca->npos; j<npos; j++) bca->alt_pos[j] = 0;
- bca->npos = npos;
- }
+ int len, pos = get_position(p, &len);
+ int epos = (double)pos/(len+1) * bca->npos;