INNER CODE UNIT · C
f
lh3/miniprot · align.c:156
f = &r->feat[ft++];
f->type = MP_FEAT_CDS;
f->vs = vs0, f->qs = qs0, f->qe = r->qs + al, f->n_fs = n_fs0, f->n_stop = n_stop0, f->phase = phase0;
f->blen = e->blen - blen0, f->n_iden = e->n_iden - n_iden0, f->n_fs = e->n_fs - n_fs0, f->n_stop = e->n_stop - n_stop0, f->score = e->dp_max - score0;
if (ft > 1) f->acceptor[0] = acceptor0[0], f->acceptor[1] = acceptor0[1];
if (op == NS_CIGAR_N) {
f->ve = r->vs + nl;
vs0 = r->vs + nl + len, phase0 = 0;
} else if (op == NS_CIGAR_U) {
f->ve = r->vs + nl + 1;
vs0 = r->vs + nl + len - 2, phase0 = 2;
} else if (op == NS_CIGAR_V) {
f->ve = r->vs + nl + 2;
vs0 = r->vs + nl + len - 1, phase0 = 1;
}
f->donor[0] = f->ve - r->vs < l_nt? ns_tab_nt_i2c[nt[f->ve - r->vs]] : '.';
f->donor[1] = f->ve - r->vs + 1 < l_nt? ns_tab_nt_i2c[nt[f->ve - r->vs + 1]] : '.';
qs0 = f->qe, n_fs0 = e->n_fs, n_stop0 = e->n_stop, score0 = e->dp_max, blen0 = e->blen, n_iden0 = e->n_iden;