int cdsBaseNumberOfExonInTx(int pos) {
        List<Exon> exons = transcript.sortedStrand();
        for (Exon eint : exons) {
            if (eint.intersects(pos)) {
                int cdsBaseNumber = this.transcript.baseNumberCds(pos, usePrevBaseIntron);
                return cdsBaseNumber + HGVSOFFSET;
            }
        }
        //sometimes this happens with complex deletions
        throw new IndexOutOfBoundsException(pos + " is not in an exon but " + this.getClass() + " asked for its cds base number");
    }