def _setup_incorporate(self):
seq = list(self._transcript_data.transcript_sequence)<EOL>cds_start = self._transcript_data.cds_start<EOL>cds_stop = self._transcript_data.cds_stop<EOL>start_end = []<EOL>for pos in (self._var_c.posedit.pos.start, self._var_c.posedit.pos.end):<EOL><INDENT>if pos.datum == Datum.CDS_START:<EOL><INDENT>if pos.base < <NUM_LIT:0>:    <EOL><INDENT>result = cds_start - <NUM_LIT:1><EOL><DEDENT>else:    <EOL><INDENT>if pos.offset <= <NUM_LIT:0>:<EOL><INDENT>result = (cds_start - <NUM_LIT:1>) + pos.base - <NUM_LIT:1><EOL><DEDENT>else:<EOL><INDENT>result = (cds_start - <NUM_LIT:1>) + pos.base<EOL><DEDENT><DEDENT><DEDENT>elif pos.datum == Datum.CDS_END:    <EOL><INDENT>result = cds_stop + pos.base - <NUM_LIT:1><EOL><DEDENT>else:<EOL><INDENT>raise NotImplementedError("<STR_LIT>")<EOL><DEDENT>start_end.append(result)<EOL><DEDENT>(start, end) = start_end<EOL>end += <NUM_LIT:1><EOL>if DBG:<EOL><INDENT>print("<STR_LIT>".format(<EOL>len(seq), cds_start, cds_stop, start, end))<EOL><DEDENT>return seq, cds_start, cds_stop, start, end<EOL>
Helper to setup incorporate functions
        :return (transcript sequence, cds start [1-based], cds stop [1-based],
        cds start index in seq [inc, 0-based], cds end index in seq [excl, 0-based])
        :rtype (list, int, int, int, int)